Документация

Всё, что нужно знать для работы с Phantom Protocol

Быстрый старт

Запустите Phantom Protocol за 60 секунд.

Требования: Docker 20.10+ или Node.js 18+

Вариант 1: Docker (рекомендуется)

# Запуск ноды
# Docker image not yet published, build from source

# Проверка статуса
docker logs phantom

Вариант 2: NPM

# Build from source (instructions below)
# CLI not yet available via npm
Готово!

Ваша нода запущена. SOCKS5 proxy доступен на localhost:9050

Установка

Системные требования

  • OS: Linux, macOS, WSL2
  • RAM: 512 MB минимум, 2 GB рекомендуется
  • Disk: 1 GB свободного места
  • Network: Открытые порты 4000-4100 (опционально)

Docker установка

# Docker image not yet published
# Build from source (instructions below)

Сборка из исходников

# Клонирование репозитория
git clone https://github.com/phantom-protocol/phantom.git
cd phantom

# Установка зависимостей
npm install

# Сборка
npm run build

# Запуск
npm start

Конфигурация

Файл конфигурации

Создайте phantom.config.json в рабочей директории:

{
  "node": {
    "port": 4000,
    "bootstrap": [
      "bootstrap1.phantom.network:4000",
      "bootstrap2.phantom.network:4000"
    ],
    "maxPeers": 50,
    "dataDir": "./data"
  },
  "socks": {
    "enabled": true,
    "port": 9050,
    "host": "127.0.0.1"
  },
  "crypto": {
    "algorithm": "kyber1024",
    "keyRotation": 86400
  },
  "logging": {
    "level": "info",
    "file": "./logs/phantom.log"
  }
}

Переменные окружения

# Порт SOCKS5
PHANTOM_SOCKS_PORT=9050

# Порт ноды
PHANTOM_NODE_PORT=4000

# Максимум пиров
PHANTOM_MAX_PEERS=50

# Уровень логирования
PHANTOM_LOG_LEVEL=info

# Директория данных
PHANTOM_DATA_DIR=/data

API Reference

REST API

Phantom Protocol предоставляет REST API на порту 4001

GET /status

Получить статус ноды

curl http://localhost:4001/api/status

Response:

{
  "version": "2.0.0",
  "uptime": 3600,
  "peers": {
    "connected": 45,
    "max": 50
  },
  "dht": {
    "nodes": 15230,
    "buckets": 160
  },
  "traffic": {
    "sent": 1048576,
    "received": 2097152
  }
}
POST /node/connect

Подключиться к ноде

curl -X POST http://localhost:4001/api/node/connect \
  -H "Content-Type: application/json" \
  -d '{"address": "node.phantom.network:4000"}'
GET /peers

Список подключенных пиров

curl http://localhost:4001/api/peers

CLI Commands

Команда Описание
phantom start Запустить ноду
phantom stop Остановить ноду
phantom status Показать статус
phantom peers Список пиров
phantom logs Показать логи
phantom config Показать конфигурацию
phantom keygen Сгенерировать ключи
phantom version Версия Phantom

Примеры использования

Настройка браузера

Firefox (рекомендуется):

  1. Settings → Network Settings → Settings
  2. Manual proxy configuration
  3. SOCKS Host: 127.0.0.1, Port: 9050
  4. SOCKS v5: ✓
  5. Proxy DNS when using SOCKS v5: ✓

Использование с curl

# HTTP запрос через Phantom
curl --socks5 127.0.0.1:9050 https://check.torproject.org

# С DNS через SOCKS
curl --socks5-hostname 127.0.0.1:9050 https://example.com

Python пример

import requests

proxies = {
    'http': 'socks5://127.0.0.1:9050',
    'https': 'socks5://127.0.0.1:9050'
}

response = requests.get('https://httpbin.org/ip', proxies=proxies)
print(response.json())

Troubleshooting

Нода не запускается

Проблема: Error: Address already in use
Решение: Порт уже занят. Измените порт в конфигурации или остановите другое приложение.

Не могу подключиться к пирам

Проблема: No peers connected
Решение: Проверьте firewall. Откройте порты 4000-4100 или используйте UPnP.

Низкая скорость

Совет: Увеличьте maxPeers в конфигурации до 100. Подключитесь к bootstrap нодам вручную.

FAQ

Phantom использует постквантовую криптографию (CRYSTALS-Kyber-1024), полностью децентрализованную DHT-архитектуру и фантомные адреса для предотвращения корреляции трафика. Протокол устойчив к timing attacks и global passive adversary.

Главные отличия: 1) Полностью децентрализованная DHT (нет директорий), 2) Постквантовая криптография, 3) Фантомные адреса (невозможна корреляция), 4) O(log n) масштабируемость вместо O(n).

Да. Добавьте "exitNode": true в конфигурацию. Учтите юридические последствия в вашей юрисдикции. Используйте exitPolicy для ограничения портов.

Средняя латентность ~200-300ms, скорость зависит от количества пиров и их bandwidth. С 50+ пирами можно достичь 5-10 Mbps для обычного веб-серфинга.