772 lines
37 KiB
Markdown
772 lines
37 KiB
Markdown
# 📖 Полное руководство пользователя Phantom Protocol
|
||
|
||
**Версия:** 2025.1
|
||
**Автор:** Phantom Protocol Team
|
||
**Дата:** Январь 2025
|
||
|
||
---
|
||
|
||
## 📋 Содержание
|
||
|
||
1. [Введение в Phantom Protocol](#введение-в-phantom-protocol)
|
||
2. [Быстрый старт](#быстрый-старт)
|
||
3. [Установка и настройка](#установка-и-настройка)
|
||
4. [Базовое использование](#базовое-использование)
|
||
5. [Продвинутые сценарии](#продвинутые-сценарии)
|
||
6. [Безопасность и приватность](#безопасность-и-приватность)
|
||
7. [Устранение неполадок](#устранение-неполадок)
|
||
8. [Справочная информация](#справочная-информация)
|
||
|
||
---
|
||
|
||
## 🌟 Введение в Phantom Protocol
|
||
|
||
Phantom Protocol представляет собой революционную систему анонимной сетевой коммуникации, которая обеспечивает беспрецедентный уровень приватности и безопасности в цифровом мире. Разработанная с использованием передовых криптографических технологий и инновационных сетевых протоколов, система позволяет пользователям общаться, обмениваться данными и получать доступ к интернет-ресурсам, сохраняя полную анонимность.
|
||
|
||
### Что такое Phantom Protocol?
|
||
|
||
Phantom Protocol - это децентрализованная анонимная сеть, которая использует концепцию "фантомных адресов" и многослойного шифрования для обеспечения приватности коммуникаций. В отличие от традиционных VPN сервисов или даже сети Tor, Phantom Protocol предлагает уникальный подход к анонимности, основанный на распределенной хеш-таблице Kademlia и инновационном алгоритме построения маршрутов.
|
||
|
||
Основная идея заключается в том, что каждое сообщение или пакет данных проходит через несколько промежуточных узлов (хопов), при этом каждый узел знает только предыдущий и следующий узел в цепочке. Это создает эффект "фантомного" маршрута, где невозможно проследить полный путь сообщения от отправителя к получателю.
|
||
|
||
### Ключевые преимущества
|
||
|
||
**Максимальная анонимность:** Phantom Protocol обеспечивает более высокий уровень анонимности по сравнению с существующими решениями благодаря использованию динамических фантомных адресов и многослойного шифрования. Каждое соединение использует уникальный набор промежуточных узлов, что делает практически невозможным корреляционный анализ трафика.
|
||
|
||
**Децентрализованная архитектура:** Система не имеет центральных точек отказа или контроля. Все узлы равноправны и могут выполнять функции маршрутизации, что обеспечивает высокую отказоустойчивость и устойчивость к цензуре.
|
||
|
||
**Высокая производительность:** Благодаря оптимизированным алгоритмам выбора маршрутов и эффективному использованию сетевых ресурсов, Phantom Protocol обеспечивает высокую скорость передачи данных при сохранении анонимности.
|
||
|
||
**Простота использования:** Несмотря на сложную внутреннюю архитектуру, система предоставляет простые и интуитивно понятные интерфейсы для конечных пользователей. Большинство операций можно выполнить с помощью нескольких команд или через веб-интерфейс.
|
||
|
||
### Области применения
|
||
|
||
Phantom Protocol находит применение в широком спектре сценариев, где требуется обеспечение приватности и анонимности:
|
||
|
||
**Журналистика и активизм:** Журналисты и правозащитники могут использовать Phantom Protocol для безопасного общения с источниками информации и публикации материалов в условиях цензуры или преследований.
|
||
|
||
**Корпоративная безопасность:** Компании могут использовать систему для защиты конфиденциальной корпоративной информации и обеспечения безопасности удаленных сотрудников.
|
||
|
||
**Личная приватность:** Обычные пользователи могут защитить свою личную информацию от слежки со стороны интернет-провайдеров, рекламных компаний и государственных органов.
|
||
|
||
**Исследования и разработка:** Исследователи в области кибербезопасности и криптографии могут использовать Phantom Protocol как платформу для экспериментов и разработки новых методов обеспечения приватности.
|
||
|
||
### Техническая основа
|
||
|
||
Phantom Protocol построен на нескольких ключевых технологических компонентах, которые работают в синергии для обеспечения максимальной безопасности и эффективности.
|
||
|
||
**Kademlia DHT (Distributed Hash Table)** служит основой для децентрализованного обнаружения узлов и маршрутизации. Эта технология позволяет узлам автоматически находить друг друга и строить оптимальные маршруты без необходимости в центральных серверах или координаторах.
|
||
|
||
**Многослойное шифрование** обеспечивает защиту данных на каждом этапе передачи. Каждый пакет данных шифруется несколько раз с использованием различных ключей, соответствующих каждому узлу в маршруте. Это означает, что даже если один из узлов будет скомпрометирован, злоумышленник не сможет получить доступ к исходным данным.
|
||
|
||
**Фантомные адреса** представляют собой временные криптографические идентификаторы, которые используются для адресации узлов в сети. Эти адреса регулярно обновляются и не связаны с реальными IP-адресами или другими идентифицирующими данными.
|
||
|
||
**Протокол построения путей** автоматически выбирает оптимальные маршруты через сеть, учитывая такие факторы, как задержка, пропускная способность, надежность узлов и требования к анонимности.
|
||
|
||
|
||
|
||
|
||
## 🚀 Быстрый старт
|
||
|
||
Этот раздел поможет вам быстро начать работу с Phantom Protocol. Мы рассмотрим самые простые способы подключения к сети и начала использования основных функций системы.
|
||
|
||
### Системные требования
|
||
|
||
Перед началом работы убедитесь, что ваша система соответствует минимальным требованиям для запуска Phantom Protocol.
|
||
|
||
**Операционная система:** Phantom Protocol поддерживает все основные операционные системы, включая Linux (Ubuntu 20.04+, CentOS 8+, Debian 11+), macOS (10.15+), и Windows (10/11). Рекомендуется использовать 64-битные версии операционных систем для обеспечения максимальной производительности и безопасности.
|
||
|
||
**Аппаратные требования:** Минимальные требования включают процессор с частотой 1 ГГц или выше, 2 ГБ оперативной памяти и 1 ГБ свободного места на диске. Для оптимальной работы рекомендуется использовать многоядерный процессор, 4 ГБ ОЗУ и SSD накопитель.
|
||
|
||
**Сетевые требования:** Стабильное интернет-соединение со скоростью не менее 1 Мбит/с. Для работы в качестве полноценного узла сети рекомендуется соединение со скоростью 10 Мбит/с и выше. Система должна иметь возможность устанавливать исходящие TCP соединения на различные порты.
|
||
|
||
**Программное обеспечение:** Docker версии 20.10 или выше для контейнеризованного развертывания, либо Python 3.8+ и компилятор GCC для сборки из исходного кода. Также потребуется Git для клонирования репозитория.
|
||
|
||
### Установка через Docker (рекомендуется)
|
||
|
||
Docker предоставляет самый простой и надежный способ запуска Phantom Protocol. Этот метод гарантирует, что все зависимости будут установлены корректно и система будет работать в изолированной среде.
|
||
|
||
**Шаг 1: Установка Docker**
|
||
|
||
Если Docker еще не установлен в вашей системе, выполните следующие команды:
|
||
|
||
```bash
|
||
# Для Ubuntu/Debian
|
||
curl -fsSL https://get.docker.com -o get-docker.sh
|
||
sudo sh get-docker.sh
|
||
sudo usermod -aG docker $USER
|
||
|
||
# Для CentOS/RHEL
|
||
sudo yum install -y docker
|
||
sudo systemctl start docker
|
||
sudo systemctl enable docker
|
||
sudo usermod -aG docker $USER
|
||
|
||
# Для macOS
|
||
# Скачайте Docker Desktop с официального сайта docker.com
|
||
|
||
# Для Windows
|
||
# Скачайте Docker Desktop с официального сайта docker.com
|
||
```
|
||
|
||
После установки перезагрузите систему или выйдите и войдите в систему заново, чтобы изменения в группах пользователей вступили в силу.
|
||
|
||
**Шаг 2: Загрузка Phantom Protocol**
|
||
|
||
Клонируйте репозиторий Phantom Protocol и перейдите в директорию проекта:
|
||
|
||
```bash
|
||
git clone https://github.com/phantom-protocol/phantom-protocol-2025.git
|
||
cd phantom-protocol-2025
|
||
```
|
||
|
||
**Шаг 3: Запуск базовой сети**
|
||
|
||
Запустите базовую конфигурацию Phantom сети, состоящую из пяти узлов:
|
||
|
||
```bash
|
||
# Сборка Docker образов
|
||
docker-compose build
|
||
|
||
# Запуск сети
|
||
docker-compose up -d
|
||
|
||
# Проверка статуса
|
||
docker-compose ps
|
||
```
|
||
|
||
Эта команда создаст и запустит полноценную Phantom сеть с пятью узлами, которые автоматически обнаружат друг друга и сформируют связанную сеть. Процесс инициализации может занять несколько минут.
|
||
|
||
**Шаг 4: Проверка работоспособности**
|
||
|
||
Убедитесь, что все узлы запустились корректно и сеть функционирует:
|
||
|
||
```bash
|
||
# Проверка логов
|
||
docker-compose logs phantom-node-1
|
||
|
||
# Проверка сетевой связности
|
||
docker exec phantom-node-1 phantom-client --test-connection
|
||
|
||
# Просмотр топологии сети
|
||
docker exec phantom-node-1 phantom-client --show-network
|
||
```
|
||
|
||
Если все команды выполняются без ошибок и показывают активные соединения между узлами, значит ваша Phantom сеть готова к использованию.
|
||
|
||
### Первое подключение
|
||
|
||
После успешного запуска сети вы можете подключиться к ней и начать использовать основные функции Phantom Protocol.
|
||
|
||
**Подключение через SOCKS5 прокси**
|
||
|
||
Самый простой способ начать использовать Phantom Protocol - это настроить SOCKS5 прокси, который будет маршрутизировать ваш интернет-трафик через анонимную сеть:
|
||
|
||
```bash
|
||
# Запуск SOCKS5 прокси на порту 8080
|
||
docker run -d --name phantom-socks5 \
|
||
--network phantom-protocol-2025_phantom-network \
|
||
-p 8080:8080 \
|
||
phantom-protocol:socks5-proxy
|
||
```
|
||
|
||
После запуска прокси настройте ваш браузер или другое приложение для использования SOCKS5 прокси на адресе `127.0.0.1:8080`. Весь трафик будет автоматически маршрутизироваться через Phantom сеть.
|
||
|
||
**Настройка браузера Firefox:**
|
||
1. Откройте Настройки → Основные → Параметры сети
|
||
2. Выберите "Ручная настройка прокси"
|
||
3. В поле "SOCKS Host" введите `127.0.0.1`
|
||
4. В поле "Port" введите `8080`
|
||
5. Выберите "SOCKS v5"
|
||
6. Установите флажок "Проксировать DNS при использовании SOCKS v5"
|
||
|
||
**Настройка браузера Chrome:**
|
||
1. Запустите Chrome с параметрами прокси:
|
||
```bash
|
||
google-chrome --proxy-server="socks5://127.0.0.1:8080"
|
||
```
|
||
|
||
**Проверка анонимности**
|
||
|
||
Чтобы убедиться, что ваш трафик действительно проходит через Phantom сеть, откройте сайт для проверки IP-адреса:
|
||
|
||
```bash
|
||
# Проверка IP без прокси
|
||
curl http://httpbin.org/ip
|
||
|
||
# Проверка IP через Phantom прокси
|
||
curl --socks5 127.0.0.1:8080 http://httpbin.org/ip
|
||
```
|
||
|
||
IP-адреса должны отличаться, что подтверждает работу анонимизации.
|
||
|
||
### Базовые команды
|
||
|
||
Phantom Protocol предоставляет набор команд для управления сетью и мониторинга ее состояния.
|
||
|
||
**Подключение к сети**
|
||
|
||
```bash
|
||
# Подключение к локальной сети
|
||
phantom-client --connect
|
||
|
||
# Подключение к удаленному узлу
|
||
phantom-client --connect 192.168.1.100:8050
|
||
|
||
# Подключение с указанием количества хопов
|
||
phantom-client --connect --hops 5
|
||
```
|
||
|
||
**Отправка сообщений**
|
||
|
||
```bash
|
||
# Отправка текстового сообщения
|
||
phantom-client --send-message "Hello, Phantom!" --to node-id-12345
|
||
|
||
# Отправка файла
|
||
phantom-client --send-file document.pdf --to node-id-12345
|
||
|
||
# Широковещательное сообщение
|
||
phantom-client --broadcast "Public announcement"
|
||
```
|
||
|
||
**Создание туннелей**
|
||
|
||
```bash
|
||
# TCP туннель
|
||
phantom-tunnel --local 8080 --remote example.com:80 --hops 3
|
||
|
||
# SSH туннель
|
||
phantom-tunnel --local 2222 --remote server.com:22 --hops 5
|
||
|
||
# VPN туннель
|
||
phantom-tunnel --vpn --interface tun0
|
||
```
|
||
|
||
**Мониторинг сети**
|
||
|
||
```bash
|
||
# Показать статус узла
|
||
phantom-client --status
|
||
|
||
# Показать топологию сети
|
||
phantom-client --show-network
|
||
|
||
# Показать статистику трафика
|
||
phantom-client --show-stats
|
||
|
||
# Непрерывный мониторинг
|
||
phantom-client --monitor
|
||
```
|
||
|
||
### Веб-интерфейс
|
||
|
||
Phantom Protocol включает удобный веб-интерфейс для мониторинга и управления сетью. После запуска Docker контейнеров веб-интерфейс будет доступен по адресу `http://localhost:8090`.
|
||
|
||
**Основные разделы веб-интерфейса:**
|
||
|
||
**Dashboard** - главная панель с общей информацией о состоянии сети, количестве активных узлов, статистике трафика и текущих соединениях.
|
||
|
||
**Network Topology** - интерактивная карта сети, показывающая все узлы и соединения между ними. Вы можете кликать на узлы для получения детальной информации.
|
||
|
||
**Traffic Monitor** - реальное время мониторинга трафика с графиками пропускной способности, задержек и количества пакетов.
|
||
|
||
**Node Management** - управление локальными узлами, включая запуск, остановку и настройку параметров.
|
||
|
||
**Security Center** - информация о безопасности сети, включая обнаруженные угрозы и рекомендации по улучшению защиты.
|
||
|
||
### Первые шаги с .phantom доменами
|
||
|
||
Одной из уникальных особенностей Phantom Protocol является поддержка собственной доменной системы с доменами верхнего уровня .phantom.
|
||
|
||
**Создание .phantom сайта**
|
||
|
||
```bash
|
||
# Создание hidden service
|
||
phantom-hidden-service --create --name my-website
|
||
# Получаем адрес: abc123def456.phantom
|
||
|
||
# Запуск веб-сервера
|
||
python3 -m http.server 8080
|
||
|
||
# Привязка к Phantom адресу
|
||
phantom-hidden-service --bind abc123def456.phantom:80 --target localhost:8080
|
||
```
|
||
|
||
**Доступ к .phantom сайтам**
|
||
|
||
Для доступа к .phantom сайтам настройте ваш DNS на использование Phantom DNS сервера:
|
||
|
||
```bash
|
||
# Linux/macOS
|
||
echo "nameserver 127.0.0.1" | sudo tee /etc/resolv.conf.phantom
|
||
sudo cp /etc/resolv.conf.phantom /etc/resolv.conf
|
||
|
||
# Windows
|
||
# Измените DNS сервер в настройках сетевого адаптера на 127.0.0.1
|
||
```
|
||
|
||
После этого вы сможете открывать .phantom сайты в любом браузере, например: `http://abc123def456.phantom`
|
||
|
||
### Безопасность с первых шагов
|
||
|
||
Даже при первом знакомстве с Phantom Protocol важно соблюдать основные принципы безопасности.
|
||
|
||
**Используйте уникальные идентификаторы:** Никогда не используйте одинаковые идентификаторы узлов или ключи на разных машинах. Каждая установка должна генерировать уникальные криптографические материалы.
|
||
|
||
**Регулярно обновляйте систему:** Phantom Protocol активно развивается, и новые версии часто содержат важные исправления безопасности. Настройте автоматические обновления или регулярно проверяйте наличие новых версий.
|
||
|
||
**Мониторьте сетевую активность:** Используйте встроенные инструменты мониторинга для отслеживания подозрительной активности в вашей части сети.
|
||
|
||
**Настройте файрвол:** Убедитесь, что ваш файрвол настроен правильно и блокирует ненужные входящие соединения, оставляя открытыми только порты, необходимые для работы Phantom Protocol.
|
||
|
||
Следуя этим простым рекомендациям, вы сможете безопасно начать использовать Phantom Protocol и постепенно изучать его более продвинутые возможности.
|
||
|
||
|
||
## ⚙️ Установка и настройка
|
||
|
||
Данный раздел содержит подробные инструкции по установке Phantom Protocol на различных операционных системах и настройке системы для оптимальной работы в различных сценариях использования.
|
||
|
||
### Установка из исходного кода
|
||
|
||
Для пользователей, которые предпочитают полный контроль над процессом установки или хотят внести изменения в код, доступна установка из исходного кода.
|
||
|
||
**Подготовка среды разработки**
|
||
|
||
Перед началом компиляции убедитесь, что в вашей системе установлены все необходимые зависимости. Процесс установки зависимостей различается в зависимости от операционной системы.
|
||
|
||
Для систем на базе Ubuntu или Debian выполните следующие команды:
|
||
|
||
```bash
|
||
sudo apt update
|
||
sudo apt install -y build-essential cmake git
|
||
sudo apt install -y libssl-dev libxml2-dev libprotobuf-dev
|
||
sudo apt install -y protobuf-compiler pkg-config
|
||
sudo apt install -y python3 python3-pip python3-dev
|
||
```
|
||
|
||
Для систем на базе CentOS, RHEL или Fedora:
|
||
|
||
```bash
|
||
sudo yum groupinstall -y "Development Tools"
|
||
sudo yum install -y cmake git openssl-devel libxml2-devel
|
||
sudo yum install -y protobuf-devel protobuf-compiler pkgconfig
|
||
sudo yum install -y python3 python3-pip python3-devel
|
||
```
|
||
|
||
Для macOS с использованием Homebrew:
|
||
|
||
```bash
|
||
brew install cmake git openssl libxml2 protobuf pkg-config
|
||
brew install python3
|
||
```
|
||
|
||
**Клонирование и сборка**
|
||
|
||
После установки зависимостей клонируйте репозиторий и выполните сборку:
|
||
|
||
```bash
|
||
# Клонирование репозитория
|
||
git clone https://github.com/phantom-protocol/phantom-protocol-2025.git
|
||
cd phantom-protocol-2025
|
||
|
||
# Генерация protobuf файлов
|
||
cd protos
|
||
./generate_protos.sh
|
||
cd ..
|
||
|
||
# Сборка основных компонентов
|
||
cd src
|
||
make clean
|
||
make all
|
||
|
||
# Проверка сборки
|
||
./phantom-client --version
|
||
./phantom-tunnel --version
|
||
```
|
||
|
||
Процесс сборки может занять от нескольких минут до получаса в зависимости от производительности вашей системы. Если сборка завершилась без ошибок, все исполняемые файлы будут созданы в директории `src/`.
|
||
|
||
**Установка в систему**
|
||
|
||
Для установки скомпилированных файлов в системные директории выполните:
|
||
|
||
```bash
|
||
sudo make install
|
||
|
||
# Проверка установки
|
||
phantom-client --version
|
||
which phantom-client
|
||
```
|
||
|
||
По умолчанию файлы устанавливаются в `/usr/local/bin/`. Если вы хотите изменить префикс установки, используйте:
|
||
|
||
```bash
|
||
make install PREFIX=/opt/phantom
|
||
```
|
||
|
||
### Настройка сетевых параметров
|
||
|
||
Правильная настройка сетевых параметров критически важна для обеспечения оптимальной производительности и безопасности Phantom Protocol.
|
||
|
||
**Конфигурация файрвола**
|
||
|
||
Phantom Protocol использует несколько портов для различных функций. Основной порт для межузлового общения - 8050, но система может использовать дополнительные порты для специализированных сервисов.
|
||
|
||
Для Ubuntu/Debian с ufw:
|
||
|
||
```bash
|
||
# Разрешение основного порта Phantom
|
||
sudo ufw allow 8050/tcp
|
||
|
||
# Разрешение портов для клиентских сервисов
|
||
sudo ufw allow 8080/tcp # SOCKS5 прокси
|
||
sudo ufw allow 8090/tcp # Веб-интерфейс мониторинга
|
||
sudo ufw allow 1194/udp # VPN сервер (если используется)
|
||
|
||
# Применение правил
|
||
sudo ufw reload
|
||
```
|
||
|
||
Для CentOS/RHEL с firewalld:
|
||
|
||
```bash
|
||
# Разрешение портов
|
||
sudo firewall-cmd --permanent --add-port=8050/tcp
|
||
sudo firewall-cmd --permanent --add-port=8080/tcp
|
||
sudo firewall-cmd --permanent --add-port=8090/tcp
|
||
sudo firewall-cmd --permanent --add-port=1194/udp
|
||
|
||
# Перезагрузка конфигурации
|
||
sudo firewall-cmd --reload
|
||
```
|
||
|
||
**Оптимизация сетевых параметров ядра**
|
||
|
||
Для обеспечения максимальной производительности рекомендуется настроить параметры сетевого стека ядра Linux:
|
||
|
||
```bash
|
||
# Создание файла конфигурации
|
||
sudo tee /etc/sysctl.d/99-phantom-network.conf << EOF
|
||
# Увеличение размеров буферов сокетов
|
||
net.core.rmem_max = 16777216
|
||
net.core.wmem_max = 16777216
|
||
net.ipv4.tcp_rmem = 4096 87380 16777216
|
||
net.ipv4.tcp_wmem = 4096 65536 16777216
|
||
|
||
# Оптимизация TCP параметров
|
||
net.ipv4.tcp_congestion_control = bbr
|
||
net.ipv4.tcp_slow_start_after_idle = 0
|
||
net.ipv4.tcp_mtu_probing = 1
|
||
|
||
# Увеличение лимитов соединений
|
||
net.core.somaxconn = 65535
|
||
net.ipv4.tcp_max_syn_backlog = 65535
|
||
net.core.netdev_max_backlog = 5000
|
||
|
||
# Оптимизация для высокой нагрузки
|
||
net.ipv4.ip_local_port_range = 1024 65535
|
||
net.ipv4.tcp_fin_timeout = 30
|
||
net.ipv4.tcp_keepalive_time = 120
|
||
EOF
|
||
|
||
# Применение настроек
|
||
sudo sysctl -p /etc/sysctl.d/99-phantom-network.conf
|
||
```
|
||
|
||
### Конфигурационные файлы
|
||
|
||
Phantom Protocol использует систему конфигурационных файлов для настройки различных аспектов работы системы. Основной конфигурационный файл обычно располагается в `/etc/phantom/phantom.conf`.
|
||
|
||
**Структура основного конфигурационного файла**
|
||
|
||
```ini
|
||
# Phantom Protocol Configuration File
|
||
# Версия: 2025.1
|
||
|
||
[node]
|
||
# Уникальный идентификатор узла (генерируется автоматически)
|
||
node_id = auto
|
||
|
||
# Адрес для прослушивания входящих соединений
|
||
listen_address = 0.0.0.0
|
||
listen_port = 8050
|
||
|
||
# Максимальное количество одновременных соединений
|
||
max_connections = 1000
|
||
|
||
# Интервал отправки heartbeat сообщений (секунды)
|
||
heartbeat_interval = 30
|
||
|
||
[network]
|
||
# Список bootstrap узлов для первоначального подключения
|
||
bootstrap_nodes =
|
||
phantom-seed1.example.com:8050,
|
||
phantom-seed2.example.com:8050,
|
||
192.168.1.100:8050
|
||
|
||
# Минимальное количество соединений с другими узлами
|
||
min_peer_connections = 3
|
||
|
||
# Максимальное количество соединений с другими узлами
|
||
max_peer_connections = 50
|
||
|
||
# Таймаут подключения к узлам (секунды)
|
||
connection_timeout = 30
|
||
|
||
# Интервал поиска новых узлов (секунды)
|
||
peer_discovery_interval = 300
|
||
|
||
[routing]
|
||
# Количество хопов по умолчанию для маршрутизации
|
||
default_hops = 3
|
||
|
||
# Максимальное количество хопов
|
||
max_hops = 10
|
||
|
||
# Алгоритм выбора маршрута (random, shortest, fastest, most_reliable)
|
||
route_selection = fastest
|
||
|
||
# Время жизни маршрута (секунды)
|
||
route_ttl = 3600
|
||
|
||
# Включение кэширования маршрутов
|
||
route_caching = true
|
||
|
||
[security]
|
||
# Алгоритм шифрования (aes-256-gcm, chacha20-poly1305)
|
||
encryption_algorithm = aes-256-gcm
|
||
|
||
# Размер ключа шифрования (бит)
|
||
key_size = 256
|
||
|
||
# Включение perfect forward secrecy
|
||
perfect_forward_secrecy = true
|
||
|
||
# Интервал ротации ключей (секунды)
|
||
key_rotation_interval = 3600
|
||
|
||
# Минимальная длина пути для анонимности
|
||
min_anonymity_path_length = 3
|
||
|
||
[logging]
|
||
# Уровень логирования (debug, info, warning, error)
|
||
log_level = info
|
||
|
||
# Файл для записи логов
|
||
log_file = /var/log/phantom/phantom.log
|
||
|
||
# Максимальный размер лог файла (MB)
|
||
max_log_size = 100
|
||
|
||
# Количество архивных лог файлов
|
||
log_rotation_count = 5
|
||
|
||
# Включение логирования в syslog
|
||
syslog_enabled = false
|
||
|
||
[performance]
|
||
# Размер буфера для сетевых операций (байт)
|
||
network_buffer_size = 65536
|
||
|
||
# Количество рабочих потоков
|
||
worker_threads = auto
|
||
|
||
# Включение TCP_NODELAY
|
||
tcp_nodelay = true
|
||
|
||
# Включение TCP keep-alive
|
||
tcp_keepalive = true
|
||
|
||
# Таймаут неактивности соединения (секунды)
|
||
connection_idle_timeout = 300
|
||
```
|
||
|
||
**Конфигурация клиентских сервисов**
|
||
|
||
Каждый клиентский сервис (SOCKS5 прокси, VPN, DNS) имеет свой конфигурационный файл:
|
||
|
||
```ini
|
||
# /etc/phantom/socks5-proxy.conf
|
||
[socks5]
|
||
listen_address = 127.0.0.1
|
||
listen_port = 8080
|
||
max_connections = 100
|
||
connection_timeout = 30
|
||
buffer_size = 8192
|
||
|
||
[phantom]
|
||
bootstrap_nodes = 127.0.0.1:8050
|
||
hops = 3
|
||
encryption = aes-256-gcm
|
||
|
||
[access_control]
|
||
allowed_clients = 127.0.0.0/8, 192.168.0.0/16
|
||
blocked_destinations =
|
||
authentication_required = false
|
||
```
|
||
|
||
### Настройка автозапуска
|
||
|
||
Для обеспечения автоматического запуска Phantom Protocol при загрузке системы создайте systemd сервисы.
|
||
|
||
**Создание systemd сервиса для основного узла**
|
||
|
||
```bash
|
||
sudo tee /etc/systemd/system/phantom-node.service << EOF
|
||
[Unit]
|
||
Description=Phantom Protocol Node
|
||
Documentation=https://phantom-protocol.org/docs
|
||
After=network-online.target
|
||
Wants=network-online.target
|
||
|
||
[Service]
|
||
Type=simple
|
||
User=phantom
|
||
Group=phantom
|
||
ExecStart=/usr/local/bin/phantom-node --config /etc/phantom/phantom.conf
|
||
ExecReload=/bin/kill -HUP \$MAINPID
|
||
Restart=always
|
||
RestartSec=5
|
||
StartLimitInterval=0
|
||
|
||
# Безопасность
|
||
NoNewPrivileges=true
|
||
PrivateTmp=true
|
||
ProtectSystem=strict
|
||
ProtectHome=true
|
||
ReadWritePaths=/var/lib/phantom /var/log/phantom
|
||
|
||
# Ресурсы
|
||
LimitNOFILE=65535
|
||
LimitNPROC=4096
|
||
|
||
[Install]
|
||
WantedBy=multi-user.target
|
||
EOF
|
||
```
|
||
|
||
**Создание пользователя для сервиса**
|
||
|
||
```bash
|
||
# Создание системного пользователя
|
||
sudo useradd -r -s /bin/false -d /var/lib/phantom phantom
|
||
|
||
# Создание необходимых директорий
|
||
sudo mkdir -p /var/lib/phantom /var/log/phantom /etc/phantom
|
||
sudo chown phantom:phantom /var/lib/phantom /var/log/phantom
|
||
sudo chmod 750 /var/lib/phantom /var/log/phantom
|
||
```
|
||
|
||
**Активация и запуск сервиса**
|
||
|
||
```bash
|
||
# Перезагрузка конфигурации systemd
|
||
sudo systemctl daemon-reload
|
||
|
||
# Включение автозапуска
|
||
sudo systemctl enable phantom-node
|
||
|
||
# Запуск сервиса
|
||
sudo systemctl start phantom-node
|
||
|
||
# Проверка статуса
|
||
sudo systemctl status phantom-node
|
||
|
||
# Просмотр логов
|
||
sudo journalctl -u phantom-node -f
|
||
```
|
||
|
||
### Настройка мониторинга
|
||
|
||
Мониторинг является критически важным аспектом эксплуатации Phantom Protocol, особенно при работе в производственной среде.
|
||
|
||
**Настройка Prometheus метрик**
|
||
|
||
Phantom Protocol поддерживает экспорт метрик в формате Prometheus:
|
||
|
||
```bash
|
||
# Включение метрик в конфигурации
|
||
echo "
|
||
[monitoring]
|
||
prometheus_enabled = true
|
||
prometheus_port = 9090
|
||
prometheus_path = /metrics
|
||
update_interval = 10
|
||
" | sudo tee -a /etc/phantom/phantom.conf
|
||
```
|
||
|
||
**Конфигурация Prometheus**
|
||
|
||
```yaml
|
||
# /etc/prometheus/prometheus.yml
|
||
global:
|
||
scrape_interval: 15s
|
||
evaluation_interval: 15s
|
||
|
||
scrape_configs:
|
||
- job_name: 'phantom-nodes'
|
||
static_configs:
|
||
- targets: ['localhost:9090']
|
||
scrape_interval: 10s
|
||
metrics_path: /metrics
|
||
```
|
||
|
||
**Настройка Grafana дашбордов**
|
||
|
||
Phantom Protocol поставляется с готовыми дашбордами для Grafana, которые можно импортировать:
|
||
|
||
```bash
|
||
# Копирование дашбордов
|
||
sudo cp grafana-dashboards/*.json /var/lib/grafana/dashboards/
|
||
|
||
# Перезапуск Grafana
|
||
sudo systemctl restart grafana-server
|
||
```
|
||
|
||
### Оптимизация производительности
|
||
|
||
Для достижения максимальной производительности Phantom Protocol требует тонкой настройки различных параметров системы.
|
||
|
||
**Настройка параметров JVM (если используется)**
|
||
|
||
Некоторые компоненты Phantom Protocol могут использовать JVM. В этом случае рекомендуется оптимизировать параметры виртуальной машины:
|
||
|
||
```bash
|
||
# /etc/phantom/jvm.conf
|
||
-Xms2g
|
||
-Xmx4g
|
||
-XX:+UseG1GC
|
||
-XX:MaxGCPauseMillis=200
|
||
-XX:+UseStringDeduplication
|
||
-XX:+OptimizeStringConcat
|
||
-Djava.net.preferIPv4Stack=true
|
||
```
|
||
|
||
**Оптимизация дискового ввода-вывода**
|
||
|
||
Для систем с высокой нагрузкой рекомендуется оптимизировать параметры дискового ввода-вывода:
|
||
|
||
```bash
|
||
# Настройка планировщика I/O для SSD
|
||
echo mq-deadline | sudo tee /sys/block/sda/queue/scheduler
|
||
|
||
# Оптимизация параметров файловой системы
|
||
sudo mount -o remount,noatime,nodiratime /var/lib/phantom
|
||
```
|
||
|
||
**Настройка лимитов ресурсов**
|
||
|
||
```bash
|
||
# /etc/security/limits.d/phantom.conf
|
||
phantom soft nofile 65535
|
||
phantom hard nofile 65535
|
||
phantom soft nproc 4096
|
||
phantom hard nproc 4096
|
||
phantom soft memlock unlimited
|
||
phantom hard memlock unlimited
|
||
```
|
||
|
||
Эти настройки обеспечат оптимальную работу Phantom Protocol в различных условиях эксплуатации и помогут избежать проблем с производительностью при высокой нагрузке.
|
||
|