Files
Phantom/release/README-EXAMPLES.md

510 lines
14 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🚀 Практические примеры использования Phantom Protocol
Этот раздел содержит готовые примеры и сценарии использования Phantom Protocol для решения реальных задач анонимной коммуникации.
## 📋 Содержание
1. [Быстрый старт](#быстрый-старт)
2. [Базовые примеры](#базовые-примеры)
3. [Продвинутые сценарии](#продвинутые-сценарии)
4. [Интеграция с приложениями](#интеграция-с-приложениями)
5. [Устранение неполадок](#устранение-неполадок)
## 🏃‍♂️ Быстрый старт
### 1. Запуск базовой Phantom сети
```bash
# Запуск сети из 5 узлов
cd phantom-protocol-2025-release
docker-compose up -d
# Проверка статуса
docker-compose ps
```
### 2. Подключение к сети
```bash
# Простое подключение
./tools/phantom-client --connect
# Подключение к удаленному узлу
./tools/phantom-client --connect 192.168.1.100:8050
```
### 3. Создание SOCKS5 прокси
```bash
# Запуск прокси на порту 8080
./tools/phantom-client --proxy 8080
# Настройка браузера: 127.0.0.1:8080
```
## 📚 Базовые примеры
### Пример 1: Анонимный веб-серфинг
**Цель:** Анонимный доступ к веб-сайтам через Phantom сеть
**Шаги:**
1. **Запуск Phantom сети:**
```bash
docker-compose -f docker-compose.yml up -d
```
2. **Создание SOCKS5 прокси:**
```bash
./tools/phantom-client --connect --proxy 8080
```
3. **Настройка браузера:**
- Firefox: Настройки → Сеть → Прокси
- Тип: SOCKS v5
- Адрес: 127.0.0.1
- Порт: 8080
4. **Проверка анонимности:**
- Откройте https://whatismyipaddress.com/
- IP должен отличаться от вашего реального
**Результат:** Весь веб-трафик проходит через Phantom сеть с многослойным шифрованием.
### Пример 2: Безопасный SSH туннель
**Цель:** Создание зашифрованного SSH туннеля через Phantom
**Шаги:**
1. **Создание туннеля:**
```bash
./tools/phantom-tunnel --local 2222 --remote your-server.com:22 --hops 5
```
2. **Подключение через туннель:**
```bash
ssh -p 2222 user@localhost
```
**Результат:** SSH соединение проходит через 5 промежуточных узлов Phantom сети.
### Пример 3: Анонимная передача файлов
**Цель:** Безопасная передача файлов между узлами
**Шаги:**
1. **На принимающей стороне:**
```bash
./tools/phantom-client --connect
# В интерактивном режиме:
phantom> listen file-transfer 9999
```
2. **На отправляющей стороне:**
```bash
./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. **Настройка центрального узла:**
```bash
# Запуск Phantom узла в режиме VPN шлюза
./tools/phantom-tunnel --type vpn --interface tun0 --local 1194
```
2. **Конфигурация клиентов:**
```bash
# На каждом клиенте
./tools/phantom-client --connect vpn-gateway.phantom --vpn-mode
```
3. **Маршрутизация трафика:**
```bash
# Настройка маршрутов для корпоративных сетей
ip route add 10.0.0.0/8 dev tun0
```
### Сценарий 2: Анонимный мессенджер
**Описание:** Создание мессенджера с полной анонимностью
**Компоненты:**
- Phantom сеть для транспорта
- End-to-end шифрование сообщений
- Временные идентификаторы пользователей
**Код клиента:**
```c
// Отправка анонимного сообщения
phantom_send_anonymous_message(
"Hello, this is anonymous message",
"temp-user-id-12345",
3 // количество хопов
);
```
### Сценарий 3: Распределенное хранилище файлов
**Описание:** Создание анонимного файлового хранилища
**Особенности:**
- Файлы разбиваются на части
- Части хранятся на разных узлах
- Доступ только по криптографическим ключам
**Использование:**
```bash
# Загрузка файла
./tools/phantom-storage --upload secret-document.pdf --redundancy 5
# Скачивание файла
./tools/phantom-storage --download file-hash-abc123 --output document.pdf
```
## 🔧 Интеграция с приложениями
### Интеграция с Python
```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
```javascript
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();
```
### Интеграция с браузером
```html
<!-- 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 интеграция
```java
// PhantomAndroidClient
PhantomClient client = new PhantomClient();
client.connect("phantom-gateway.local:8050");
// Создание VPN подключения
PhantomVPN vpn = client.createVPN();
vpn.start();
```
### iOS интеграция
```swift
// 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:**
```bash
./tools/phantom-hidden-service --create --name my-website
# Получаем адрес: abc123def456.phantom
```
2. **Настройка веб-сервера:**
```bash
# Привязка к Phantom адресу
./tools/phantom-hidden-service --bind abc123def456.phantom:80 --target localhost:8080
```
3. **Запуск веб-сервера:**
```bash
# Обычный веб-сервер на localhost:8080
python3 -m http.server 8080
```
4. **Доступ к сайту:**
- Через Phantom браузер: `http://abc123def456.phantom`
- Через обычный браузер с Phantom DNS: настроить DNS на Phantom Gateway
### API сервис через Phantom
```python
# 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)
```
## 🎮 Игровые сценарии
### Анонимный игровой сервер
```bash
# Запуск игрового сервера через Phantom
./tools/phantom-tunnel --local 25565 --type tcp --hops 3
# Minecraft сервер доступен через localhost:25565
```
### P2P игры
```c
// Создание 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));
```
## 🔒 Безопасность и приватность
### Проверка анонимности
```bash
# Скрипт проверки анонимности
./tools/phantom-anonymity-check.sh
```
Проверяет:
- IP адрес через Phantom vs реальный IP
- DNS утечки
- WebRTC утечки
- Временные корреляции
### Настройка максимальной безопасности
```bash
# Конфигурация для максимальной анонимности
./tools/phantom-client --connect \
--hops 7 \
--countries "random" \
--no-exit-nodes \
--encryption aes-256-gcm \
--padding random
```
## 📊 Мониторинг и аналитика
### Веб-интерфейс мониторинга
```bash
# Запуск веб-интерфейса
./tools/phantom-monitor --web-port 8090
# Доступ: http://localhost:8090
```
Показывает:
- Топология сети
- Статистика трафика
- Активные соединения
- Производительность узлов
### API мониторинга
```bash
# Получение статистики через API
curl http://localhost:8090/api/stats
curl http://localhost:8090/api/nodes
curl http://localhost:8090/api/connections
```
## 🚨 Устранение неполадок
### Частые проблемы
1. **Не удается подключиться к сети**
```bash
# Проверка доступности узлов
./tools/phantom-client --test-connection
# Проверка портов
netstat -an | grep 8050
```
2. **Медленная скорость**
```bash
# Уменьшение количества хопов
./tools/phantom-tunnel --hops 2
# Выбор быстрых узлов
./tools/phantom-client --prefer-fast-nodes
```
3. **Проблемы с DNS**
```bash
# Проверка Phantom DNS
nslookup test.phantom 127.0.0.1
# Сброс DNS кэша
./tools/phantom-dns --flush-cache
```
### Диагностические утилиты
```bash
# Полная диагностика
./tools/phantom-diagnostic.sh
# Тест производительности
./tools/phantom-benchmark.sh
# Проверка сетевой связности
./tools/phantom-network-test.sh
```
## 📈 Оптимизация производительности
### Настройка для высокой производительности
```bash
# Оптимизация для скорости
./tools/phantom-client --performance-mode \
--buffer-size 64KB \
--compression lz4 \
--tcp-nodelay
```
### Настройка для максимальной анонимности
```bash
# Оптимизация для приватности
./tools/phantom-client --privacy-mode \
--hops 10 \
--random-delays \
--traffic-padding \
--no-caching
```
## 🔄 Автоматизация
### Systemd сервис
```ini
# /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 для продакшена
```yaml
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 предоставляет мощные возможности для создания анонимных и безопасных сетевых приложений. Эти примеры показывают лишь часть возможностей системы.
Для получения дополнительной информации:
- 📖 [Полная документация](../docs/)
- 🔧 [API Reference](../docs/api/)
- 💬 [Сообщество](https://phantom-protocol.org/community)
- 🐛 [Сообщить об ошибке](https://github.com/phantom-protocol/issues)
**Помните:** Используйте Phantom Protocol ответственно и в соответствии с местным законодательством.