Files
Phantom/release/README-EXAMPLES.md

14 KiB
Raw Blame History

🚀 Практические примеры использования Phantom Protocol

Этот раздел содержит готовые примеры и сценарии использования Phantom Protocol для решения реальных задач анонимной коммуникации.

📋 Содержание

  1. Быстрый старт
  2. Базовые примеры
  3. Продвинутые сценарии
  4. Интеграция с приложениями
  5. Устранение неполадок

🏃‍♂️ Быстрый старт

1. Запуск базовой Phantom сети

# Запуск сети из 5 узлов
cd phantom-protocol-2025-release
docker-compose up -d

# Проверка статуса
docker-compose ps

2. Подключение к сети

# Простое подключение
./tools/phantom-client --connect

# Подключение к удаленному узлу
./tools/phantom-client --connect 192.168.1.100:8050

3. Создание SOCKS5 прокси

# Запуск прокси на порту 8080
./tools/phantom-client --proxy 8080

# Настройка браузера: 127.0.0.1:8080

📚 Базовые примеры

Пример 1: Анонимный веб-серфинг

Цель: Анонимный доступ к веб-сайтам через Phantom сеть

Шаги:

  1. Запуск Phantom сети:
docker-compose -f docker-compose.yml up -d
  1. Создание SOCKS5 прокси:
./tools/phantom-client --connect --proxy 8080
  1. Настройка браузера:

    • Firefox: Настройки → Сеть → Прокси
    • Тип: SOCKS v5
    • Адрес: 127.0.0.1
    • Порт: 8080
  2. Проверка анонимности:

Результат: Весь веб-трафик проходит через Phantom сеть с многослойным шифрованием.

Пример 2: Безопасный SSH туннель

Цель: Создание зашифрованного SSH туннеля через Phantom

Шаги:

  1. Создание туннеля:
./tools/phantom-tunnel --local 2222 --remote your-server.com:22 --hops 5
  1. Подключение через туннель:
ssh -p 2222 user@localhost

Результат: SSH соединение проходит через 5 промежуточных узлов Phantom сети.

Пример 3: Анонимная передача файлов

Цель: Безопасная передача файлов между узлами

Шаги:

  1. На принимающей стороне:
./tools/phantom-client --connect
# В интерактивном режиме:
phantom> listen file-transfer 9999
  1. На отправляющей стороне:
./tools/phantom-client --connect
phantom> send-file document.pdf receiving-node-id

Результат: Файл передается через Phantom сеть с end-to-end шифрованием.

🎯 Продвинутые сценарии

Сценарий 1: Корпоративная VPN через Phantom

Описание: Создание корпоративной VPN сети с использованием Phantom Protocol

Архитектура:

Офис A ←→ Phantom Network ←→ Офис B
   ↓                           ↓
Сотрудники              Сотрудники

Реализация:

  1. Настройка центрального узла:
# Запуск Phantom узла в режиме VPN шлюза
./tools/phantom-tunnel --type vpn --interface tun0 --local 1194
  1. Конфигурация клиентов:
# На каждом клиенте
./tools/phantom-client --connect vpn-gateway.phantom --vpn-mode
  1. Маршрутизация трафика:
# Настройка маршрутов для корпоративных сетей
ip route add 10.0.0.0/8 dev tun0

Сценарий 2: Анонимный мессенджер

Описание: Создание мессенджера с полной анонимностью

Компоненты:

  • Phantom сеть для транспорта
  • End-to-end шифрование сообщений
  • Временные идентификаторы пользователей

Код клиента:

// Отправка анонимного сообщения
phantom_send_anonymous_message(
    "Hello, this is anonymous message",
    "temp-user-id-12345",
    3  // количество хопов
);

Сценарий 3: Распределенное хранилище файлов

Описание: Создание анонимного файлового хранилища

Особенности:

  • Файлы разбиваются на части
  • Части хранятся на разных узлах
  • Доступ только по криптографическим ключам

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

# Загрузка файла
./tools/phantom-storage --upload secret-document.pdf --redundancy 5

# Скачивание файла
./tools/phantom-storage --download file-hash-abc123 --output document.pdf

🔧 Интеграция с приложениями

Интеграция с Python

import phantom_client

# Создание клиента
client = phantom_client.PhantomClient()
client.connect("127.0.0.1:8050")

# Отправка данных
client.send_data(b"Hello Phantom", "target-node-id")

# Создание прокси
proxy = client.create_socks_proxy(port=8080)
proxy.start()

Интеграция с Node.js

const PhantomClient = require('./phantom-client');

const client = new PhantomClient();
await client.connect('127.0.0.1:8050');

// Создание HTTP туннеля
const tunnel = client.createTunnel({
    local: 8080,
    remote: 'example.com:80',
    hops: 3
});

await tunnel.start();

Интеграция с браузером

<!-- Phantom Web Client -->
<script src="phantom-web-client.js"></script>
<script>
const phantom = new PhantomWebClient();
phantom.connect('ws://localhost:8051');

// Отправка сообщения
phantom.sendMessage('Hello from browser', 'node-id');
</script>

📱 Мобильные приложения

Android интеграция

// PhantomAndroidClient
PhantomClient client = new PhantomClient();
client.connect("phantom-gateway.local:8050");

// Создание VPN подключения
PhantomVPN vpn = client.createVPN();
vpn.start();

iOS интеграция

// PhantomIOSClient
let client = PhantomClient()
client.connect(to: "phantom-gateway.local:8050")

// Создание туннеля
let tunnel = client.createTunnel(
    localPort: 8080,
    remoteHost: "example.com",
    remotePort: 80
)
tunnel.start()

🌐 Веб-сервисы через Phantom

Создание .phantom сайта

  1. Создание hidden service:
./tools/phantom-hidden-service --create --name my-website
# Получаем адрес: abc123def456.phantom
  1. Настройка веб-сервера:
# Привязка к Phantom адресу
./tools/phantom-hidden-service --bind abc123def456.phantom:80 --target localhost:8080
  1. Запуск веб-сервера:
# Обычный веб-сервер на localhost:8080
python3 -m http.server 8080
  1. Доступ к сайту:
    • Через Phantom браузер: http://abc123def456.phantom
    • Через обычный браузер с Phantom DNS: настроить DNS на Phantom Gateway

API сервис через Phantom

# Flask API через Phantom
from flask import Flask
import phantom_client

app = Flask(__name__)
phantom = phantom_client.PhantomClient()

@app.route('/api/data')
def get_data():
    return {'message': 'Hello from Phantom API'}

# Регистрация в Phantom сети
phantom.register_service('my-api.phantom', 5000)
app.run(host='0.0.0.0', port=5000)

🎮 Игровые сценарии

Анонимный игровой сервер

# Запуск игрового сервера через Phantom
./tools/phantom-tunnel --local 25565 --type tcp --hops 3
# Minecraft сервер доступен через localhost:25565

P2P игры

// Создание P2P игрового соединения
phantom_p2p_connection_t* game_conn = phantom_create_p2p_connection(
    "player-id-12345",
    PHANTOM_P2P_GAME_PROTOCOL
);

// Отправка игровых данных
phantom_p2p_send(game_conn, game_data, sizeof(game_data));

🔒 Безопасность и приватность

Проверка анонимности

# Скрипт проверки анонимности
./tools/phantom-anonymity-check.sh

Проверяет:

  • IP адрес через Phantom vs реальный IP
  • DNS утечки
  • WebRTC утечки
  • Временные корреляции

Настройка максимальной безопасности

# Конфигурация для максимальной анонимности
./tools/phantom-client --connect \
    --hops 7 \
    --countries "random" \
    --no-exit-nodes \
    --encryption aes-256-gcm \
    --padding random

📊 Мониторинг и аналитика

Веб-интерфейс мониторинга

# Запуск веб-интерфейса
./tools/phantom-monitor --web-port 8090
# Доступ: http://localhost:8090

Показывает:

  • Топология сети
  • Статистика трафика
  • Активные соединения
  • Производительность узлов

API мониторинга

# Получение статистики через API
curl http://localhost:8090/api/stats
curl http://localhost:8090/api/nodes
curl http://localhost:8090/api/connections

🚨 Устранение неполадок

Частые проблемы

  1. Не удается подключиться к сети
# Проверка доступности узлов
./tools/phantom-client --test-connection
# Проверка портов
netstat -an | grep 8050
  1. Медленная скорость
# Уменьшение количества хопов
./tools/phantom-tunnel --hops 2
# Выбор быстрых узлов
./tools/phantom-client --prefer-fast-nodes
  1. Проблемы с DNS
# Проверка Phantom DNS
nslookup test.phantom 127.0.0.1
# Сброс DNS кэша
./tools/phantom-dns --flush-cache

Диагностические утилиты

# Полная диагностика
./tools/phantom-diagnostic.sh

# Тест производительности
./tools/phantom-benchmark.sh

# Проверка сетевой связности
./tools/phantom-network-test.sh

📈 Оптимизация производительности

Настройка для высокой производительности

# Оптимизация для скорости
./tools/phantom-client --performance-mode \
    --buffer-size 64KB \
    --compression lz4 \
    --tcp-nodelay

Настройка для максимальной анонимности

# Оптимизация для приватности
./tools/phantom-client --privacy-mode \
    --hops 10 \
    --random-delays \
    --traffic-padding \
    --no-caching

🔄 Автоматизация

Systemd сервис

# /etc/systemd/system/phantom-client.service
[Unit]
Description=Phantom Protocol Client
After=network.target

[Service]
Type=simple
User=phantom
ExecStart=/usr/local/bin/phantom-client --connect --proxy 8080
Restart=always

[Install]
WantedBy=multi-user.target

Docker Compose для продакшена

version: '3.8'
services:
  phantom-gateway:
    image: phantom-protocol:latest
    ports:
      - "8050:8050"
      - "8080:8080"
    environment:
      - PHANTOM_MODE=gateway
      - PHANTOM_HOPS=5
    volumes:
      - phantom-data:/var/lib/phantom
    restart: unless-stopped

  phantom-monitor:
    image: phantom-monitor:latest
    ports:
      - "8090:8090"
    depends_on:
      - phantom-gateway
    restart: unless-stopped

volumes:
  phantom-data:

🎯 Заключение

Phantom Protocol предоставляет мощные возможности для создания анонимных и безопасных сетевых приложений. Эти примеры показывают лишь часть возможностей системы.

Для получения дополнительной информации:

Помните: Используйте Phantom Protocol ответственно и в соответствии с местным законодательством.