381 lines
14 KiB
Markdown
381 lines
14 KiB
Markdown
# 🛡️ Phantom Protocol Extended - Полная анонимная интернет-инфраструктура
|
||
|
||
**Версия:** 2.0.0 Extended
|
||
**Дата:** Декабрь 2025
|
||
**Автор:** Phantom Protocol Team 2025
|
||
|
||
## 🌟 Обзор
|
||
|
||
Phantom Protocol Extended - это революционная эволюция оригинального Phantom Protocol (DEFCON 16, 2008), превращающая базовую анонимную сеть в полноценную интернет-инфраструктуру. Система обеспечивает:
|
||
|
||
- 🌐 **Phantom DNS** - Децентрализованная доменная система для .phantom, .exit и .local доменов
|
||
- 🕸️ **Hidden Services** - Анонимные веб-сервисы, доступные через .phantom домены
|
||
- 🚪 **Exit Nodes** - Контролируемый анонимный доступ к обычному интернету
|
||
- 📋 **Service Registry** - Каталог и поиск сервисов в Phantom сети
|
||
- 📊 **Мониторинг** - Комплексная система наблюдения за инфраструктурой
|
||
|
||
## 🏗️ Архитектура системы
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ Phantom Protocol Extended │
|
||
├─────────────────────────────────────────────────────────────────┤
|
||
│ 🌐 Phantom DNS 🕸️ Hidden Services 🚪 Exit Nodes │
|
||
│ ┌─────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
|
||
│ │ DNS Server 1│ │ .phantom sites │ │ SOCKS5/HTTP │ │
|
||
│ │ DNS Server 2│ │ Introduction │ │ Proxy to │ │
|
||
│ │ .phantom │ │ Points │ │ Internet │ │
|
||
│ │ .exit .local│ │ Rendezvous │ │ Exit Policies │ │
|
||
│ └─────────────┘ └─────────────────┘ └─────────────────┘ │
|
||
├─────────────────────────────────────────────────────────────────┤
|
||
│ 📋 Service Registry │
|
||
│ ┌─────────────────────────────────────────────────────────────┐ │
|
||
│ │ Каталог сервисов • Поиск • API • Веб-интерфейс │ │
|
||
│ └─────────────────────────────────────────────────────────────┘ │
|
||
├─────────────────────────────────────────────────────────────────┤
|
||
│ 🔐 Phantom Protocol Core │
|
||
│ ┌─────────────────────────────────────────────────────────────┐ │
|
||
│ │ Фантомные адреса • Kademlia DHT • Многослойное шифрование │ │
|
||
│ └─────────────────────────────────────────────────────────────┘ │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
## 🚀 Быстрый старт
|
||
|
||
### Системные требования
|
||
|
||
- **ОС:** Linux (Ubuntu 20.04+, CentOS 8+, Debian 11+)
|
||
- **Docker:** 20.10+
|
||
- **Docker Compose:** 2.0+
|
||
- **RAM:** 4GB минимум, 8GB рекомендуется
|
||
- **CPU:** 2+ ядра
|
||
- **Диск:** 10GB свободного места
|
||
- **Сеть:** Открытые порты для внешнего доступа
|
||
|
||
### Установка и запуск
|
||
|
||
```bash
|
||
# 1. Клонирование репозитория
|
||
git clone https://github.com/phantom-protocol/phantom-extended.git
|
||
cd phantom-extended
|
||
|
||
# 2. Сборка всех компонентов
|
||
make -f Makefile.docker build-all
|
||
|
||
# 3. Запуск полной инфраструктуры
|
||
docker-compose -f docker-compose.extended.yml up -d
|
||
|
||
# 4. Проверка статуса
|
||
docker-compose -f docker-compose.extended.yml ps
|
||
|
||
# 5. Комплексное тестирование
|
||
./test-extended-infrastructure.sh
|
||
```
|
||
|
||
### Доступ к сервисам
|
||
|
||
После запуска доступны следующие интерфейсы:
|
||
|
||
| Сервис | URL | Описание |
|
||
|--------|-----|----------|
|
||
| 🌐 Phantom DNS | `udp://localhost:53` | Основной DNS (балансировщик) |
|
||
| 🕸️ Welcome Site | `http://localhost:8080` | Приветственный .phantom сайт |
|
||
| 🕸️ Forum | `http://localhost:8081` | Форум сообщества |
|
||
| 🕸️ Marketplace | `http://localhost:8082` | Торговая площадка |
|
||
| 🚪 Exit Node US | `socks5://localhost:1080` | SOCKS5 прокси (США) |
|
||
| 🚪 Exit Node EU | `socks5://localhost:1081` | SOCKS5 прокси (ЕС) |
|
||
| 📋 Service Registry | `http://localhost:8085` | Каталог сервисов |
|
||
| 📊 Monitoring | `http://localhost:8090` | Панель мониторинга |
|
||
|
||
## 🔧 Конфигурация
|
||
|
||
### Phantom DNS
|
||
|
||
```yaml
|
||
# docker/configs/dns/dns.conf
|
||
phantom_dns:
|
||
bind_address: "0.0.0.0"
|
||
port: 5353
|
||
cache_size: 10000
|
||
ttl_default: 3600
|
||
zones:
|
||
- ".phantom"
|
||
- ".exit"
|
||
- ".local"
|
||
```
|
||
|
||
### Hidden Services
|
||
|
||
```yaml
|
||
# docker/configs/hidden-service/hidden-service.conf
|
||
hidden_service:
|
||
name: "my-phantom-site"
|
||
local_port: 80
|
||
intro_points: 3
|
||
descriptor_lifetime: 86400
|
||
require_auth: false
|
||
```
|
||
|
||
### Exit Nodes
|
||
|
||
```yaml
|
||
# docker/configs/exit-node/exit-node.conf
|
||
exit_node:
|
||
name: "phantom-exit"
|
||
bandwidth_limit: 52428800 # 50 MB/s
|
||
max_connections: 2000
|
||
policies:
|
||
- "allow tcp 0.0.0.0/0:80,443"
|
||
- "allow udp 0.0.0.0/0:53"
|
||
- "reject tcp 0.0.0.0/0:1-1023"
|
||
```
|
||
|
||
## 🛠️ Разработка и кастомизация
|
||
|
||
### Создание собственного Hidden Service
|
||
|
||
```bash
|
||
# 1. Создание директории сайта
|
||
mkdir -p sites/my-site
|
||
echo "<h1>Мой .phantom сайт</h1>" > sites/my-site/index.html
|
||
|
||
# 2. Добавление в docker-compose.extended.yml
|
||
phantom-hs-my-site:
|
||
build:
|
||
context: .
|
||
dockerfile: docker/Dockerfile.hidden-service
|
||
volumes:
|
||
- ./sites/my-site:/var/lib/phantom/hidden-service/www
|
||
environment:
|
||
- PHANTOM_HS_NAME=my-site
|
||
|
||
# 3. Перезапуск
|
||
docker-compose -f docker-compose.extended.yml up -d phantom-hs-my-site
|
||
```
|
||
|
||
### Настройка собственного Exit Node
|
||
|
||
```bash
|
||
# 1. Создание политики доступа
|
||
cat > configs/exit-policies/custom.policy << EOF
|
||
# Разрешить только HTTP/HTTPS
|
||
allow tcp 0.0.0.0/0:80
|
||
allow tcp 0.0.0.0/0:443
|
||
allow tcp 0.0.0.0/0:8080
|
||
allow tcp 0.0.0.0/0:8443
|
||
|
||
# Разрешить DNS
|
||
allow udp 0.0.0.0/0:53
|
||
|
||
# Запретить все остальное
|
||
reject tcp 0.0.0.0/0:*
|
||
reject udp 0.0.0.0/0:*
|
||
EOF
|
||
|
||
# 2. Добавление Exit Node в docker-compose
|
||
phantom-exit-custom:
|
||
build:
|
||
context: .
|
||
dockerfile: docker/Dockerfile.exit-node
|
||
volumes:
|
||
- ./configs/exit-policies/custom.policy:/var/lib/phantom/exit-node/policies/exit.policy
|
||
environment:
|
||
- PHANTOM_EXIT_NAME=custom-exit
|
||
- PHANTOM_EXIT_BANDWIDTH_LIMIT=10485760 # 10 MB/s
|
||
```
|
||
|
||
## 📊 Мониторинг и администрирование
|
||
|
||
### Панель мониторинга
|
||
|
||
Доступна по адресу `http://localhost:8090` и предоставляет:
|
||
|
||
- 📈 Графики производительности в реальном времени
|
||
- 🌐 Карта сети и статус узлов
|
||
- 📊 Статистика трафика и соединений
|
||
- 🚨 Алерты и уведомления
|
||
- 📋 Логи всех компонентов
|
||
|
||
### Метрики Prometheus
|
||
|
||
```bash
|
||
# Доступ к метрикам
|
||
curl http://localhost:9090/metrics
|
||
|
||
# Основные метрики:
|
||
# - phantom_dns_queries_total
|
||
# - phantom_hs_connections_active
|
||
# - phantom_exit_bandwidth_bytes
|
||
# - phantom_registry_services_total
|
||
```
|
||
|
||
### Логирование
|
||
|
||
```bash
|
||
# Просмотр логов всех сервисов
|
||
docker-compose -f docker-compose.extended.yml logs -f
|
||
|
||
# Логи конкретного сервиса
|
||
docker-compose -f docker-compose.extended.yml logs phantom-dns-1
|
||
|
||
# Логи в файлах
|
||
tail -f logs/dns1/phantom-dns.log
|
||
tail -f logs/hs-welcome/hidden-service.log
|
||
tail -f logs/exit-us/exit-node.log
|
||
```
|
||
|
||
## 🔒 Безопасность
|
||
|
||
### Рекомендации по безопасности
|
||
|
||
1. **Изоляция сети**
|
||
```bash
|
||
# Использование внутренних сетей Docker
|
||
docker network create --internal phantom-internal
|
||
```
|
||
|
||
2. **Ограничение ресурсов**
|
||
```yaml
|
||
deploy:
|
||
resources:
|
||
limits:
|
||
memory: 512M
|
||
cpus: '0.5'
|
||
```
|
||
|
||
3. **Регулярные обновления**
|
||
```bash
|
||
# Обновление образов
|
||
docker-compose -f docker-compose.extended.yml pull
|
||
docker-compose -f docker-compose.extended.yml up -d
|
||
```
|
||
|
||
4. **Мониторинг безопасности**
|
||
```bash
|
||
# Сканирование уязвимостей
|
||
docker scan phantom-protocol:extended
|
||
```
|
||
|
||
### Exit Policy безопасность
|
||
|
||
```bash
|
||
# Блокировка опасных портов
|
||
reject tcp 0.0.0.0/0:1-1023 # Системные порты
|
||
reject tcp 0.0.0.0/0:6660-6669 # IRC
|
||
reject tcp 0.0.0.0/0:6697 # IRC SSL
|
||
|
||
# Блокировка локальных сетей
|
||
reject tcp 10.0.0.0/8:*
|
||
reject tcp 172.16.0.0/12:*
|
||
reject tcp 192.168.0.0/16:*
|
||
reject tcp 127.0.0.0/8:*
|
||
```
|
||
|
||
## 🧪 Тестирование
|
||
|
||
### Автоматическое тестирование
|
||
|
||
```bash
|
||
# Полное тестирование инфраструктуры
|
||
./test-extended-infrastructure.sh
|
||
|
||
# Тестирование без пересборки образов
|
||
./test-extended-infrastructure.sh --skip-build
|
||
|
||
# Тестирование с сохранением контейнеров
|
||
./test-extended-infrastructure.sh --skip-cleanup
|
||
```
|
||
|
||
### Ручное тестирование
|
||
|
||
```bash
|
||
# Тестирование DNS
|
||
dig @localhost -p 5353 welcome.phantom
|
||
|
||
# Тестирование Hidden Service
|
||
curl http://localhost:8080
|
||
|
||
# Тестирование Exit Node
|
||
curl --socks5 localhost:1080 http://httpbin.org/ip
|
||
|
||
# Тестирование Service Registry API
|
||
curl http://localhost:8086/api/v1/services
|
||
```
|
||
|
||
## 📚 Документация
|
||
|
||
### Полная техническая документация
|
||
|
||
- 📖 [Полное руководство](docs/phantom-extended-complete-guide-ru.md) - Детальная техническая документация
|
||
- 🏗️ [Архитектура системы](docs/phantom-extended-architecture.md) - Архитектурные решения
|
||
- 🔧 [API Reference](docs/api-reference.md) - Справочник по API
|
||
- 🐳 [Docker Guide](README-Docker.md) - Руководство по Docker
|
||
- 🔒 [Security Guide](docs/security-guide.md) - Руководство по безопасности
|
||
|
||
### Примеры использования
|
||
|
||
- 🌐 [Создание .phantom сайта](examples/hidden-service-setup.md)
|
||
- 🚪 [Настройка Exit Node](examples/exit-node-setup.md)
|
||
- 📋 [Интеграция с Service Registry](examples/service-registry-integration.md)
|
||
- 🔍 [Мониторинг и алерты](examples/monitoring-setup.md)
|
||
|
||
## 🤝 Сообщество и поддержка
|
||
|
||
### Контакты
|
||
|
||
- 📧 **Email:** phantom-protocol@protonmail.com
|
||
- 💬 **Matrix:** #phantom-protocol:matrix.org
|
||
- 🐛 **Issues:** GitHub Issues
|
||
- 📖 **Wiki:** GitHub Wiki
|
||
|
||
### Участие в разработке
|
||
|
||
```bash
|
||
# Форк репозитория
|
||
git clone https://github.com/your-username/phantom-extended.git
|
||
|
||
# Создание ветки для фичи
|
||
git checkout -b feature/new-feature
|
||
|
||
# Коммит изменений
|
||
git commit -m "Add new feature"
|
||
|
||
# Создание Pull Request
|
||
git push origin feature/new-feature
|
||
```
|
||
|
||
### Лицензия
|
||
|
||
Phantom Protocol Extended распространяется под лицензией MIT. См. файл [LICENSE](LICENSE) для подробностей.
|
||
|
||
## 🎯 Roadmap
|
||
|
||
### Версия 2.1 (Q1 2026)
|
||
- 🔄 Поддержка IPv6
|
||
- 🌍 Мультиязычный интерфейс
|
||
- 📱 Мобильные клиенты
|
||
- 🔐 Quantum-resistant криптография
|
||
|
||
### Версия 2.2 (Q2 2026)
|
||
- 🚀 Улучшенная производительность
|
||
- 🔗 Интеграция с блокчейн
|
||
- 🤖 AI-powered маршрутизация
|
||
- 📊 Расширенная аналитика
|
||
|
||
### Версия 3.0 (Q4 2026)
|
||
- 🌐 Полная mesh-сеть
|
||
- 🛡️ Встроенная защита от DDoS
|
||
- 🔄 Автоматическое масштабирование
|
||
- 🎮 Gaming-оптимизированные каналы
|
||
|
||
## ⚠️ Дисклеймер
|
||
|
||
Phantom Protocol Extended предназначен для исследовательских и образовательных целей. Пользователи несут ответственность за соблюдение местного законодательства при использовании анонимных сетей. Разработчики не несут ответственности за неправомерное использование системы.
|
||
|
||
---
|
||
|
||
**🛡️ Phantom Protocol Extended - Будущее анонимного интернета уже здесь!**
|
||
|
||
*Создано с ❤️ командой Phantom Protocol Team 2025*
|
||
|