Reseed-хосты являются критически важной инфраструктурой для сети I2P, предоставляя новым router’ам начальную группу узлов в процессе bootstrap’а. Это руководство проведет вас через настройку и запуск собственного reseed-сервера.
Что такое I2P Reseed Server?
Reseed-сервер I2P помогает интегрировать новые роутеры в сеть I2P следующим образом:
- Обеспечение первоначального обнаружения узлов: Новые роутеры получают начальный набор сетевых узлов для подключения
- Восстановление bootstrap: Помощь роутерам, испытывающим трудности с поддержанием соединений
- Безопасное распространение: Процесс reseeding шифруется и цифровым образом подписывается для обеспечения безопасности сети
Когда новый I2P router запускается впервые (или потерял все свои пиринговые соединения), он обращается к reseed-серверам для загрузки начального набора информации о роутерах. Это позволяет новому router начать построение собственной netDb (базы данных сети) и установление tunnel.
Предварительные требования
Перед началом работы вам понадобится:
- Linux-сервер (рекомендуется Debian/Ubuntu) с правами root
- Доменное имя, указывающее на ваш сервер
- Минимум 1 ГБ оперативной памяти и 10 ГБ дискового пространства
- Работающий I2P router на сервере для заполнения network database
- Базовые знания системного администрирования Linux
Подготовка сервера
Step 1: Update System and Install Dependencies
Сначала обновите вашу систему и установите необходимые пакеты:
sudo apt update && sudo apt upgrade -y && sudo apt-get install golang-go git make docker.io docker-compose -y
Это устанавливает: - golang-go: среда выполнения языка программирования Go - git: система контроля версий - make: инструмент автоматизации сборки - docker.io & docker-compose: контейнерная платформа для запуска Nginx Proxy Manager

Step 2: Clone and Build Reseed Tools
Клонируйте репозиторий reseed-tools и соберите приложение:
cd /home/i2p
git clone https://i2pgit.org/idk/reseed-tools
cd reseed-tools
make build
sudo make install
Пакет reseed-tools предоставляет основной функционал для запуска reseed-сервера. Он обрабатывает: - Сбор информации о router из вашей локальной базы данных сети - Упаковку информации router в подписанные SU3-файлы - Предоставление этих файлов через HTTPS

Step 3: Generate SSL Certificate
Сгенерируйте SSL-сертификат и приватный ключ вашего reseed-сервера:
su - i2p -c 'reseed-tools reseed --signer=admin@stormycloud.org --netdb=/home/i2p/.i2p/netDb --port=8443 --ip=127.0.0.1 --trustProxy'
Важные параметры: - --signer: Ваш адрес электронной почты (замените admin@stormycloud.org на свой собственный) - --netdb: Путь к сетевой базе данных вашего I2P router - --port: Внутренний порт (рекомендуется 8443) - --ip: Привязка к localhost (мы будем использовать reverse proxy для публичного доступа) - --trustProxy: Доверять заголовкам X-Forwarded-For от reverse proxy
Команда сгенерирует: - Приватный ключ для подписи SU3-файлов - SSL-сертификат для безопасных HTTPS-соединений

Шаг 1: Обновление системы и установка зависимостей
Критически важно: Создайте безопасную резервную копию сгенерированных ключей, расположенных в /home/i2p/.reseed/:
sudo tar -czf reseed-keys-backup.tar.gz /home/i2p/.reseed/
Храните эту резервную копию в безопасном зашифрованном месте с ограниченным доступом. Эти ключи необходимы для работы вашего reseed-сервера и должны быть тщательно защищены.
Configuring the Service
Шаг 2: Клонирование и сборка инструментов Reseed
Создайте systemd service для автоматического запуска reseed-сервера:
sudo tee /etc/systemd/system/reseed.service <<EOF
[Unit]
Description=Reseed Service
After=network.target
[Service]
User=i2p
WorkingDirectory=/home/i2p
ExecStart=/bin/bash -c 'reseed-tools reseed --signer=admin@stormycloud.org --netdb=/home/i2p/.i2p/netDb --port=8443 --ip=127.0.0.1 --trustProxy'
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
Не забудьте заменить admin@stormycloud.org на ваш собственный адрес электронной почты.
Теперь включите и запустите службу:
sudo systemctl daemon-reload
sudo systemctl enable reseed
sudo systemctl start reseed
Проверьте, что сервис запущен:
sudo systemctl status reseed

Шаг 3: Генерация SSL-сертификата
Для оптимальной производительности вы можете периодически перезапускать службу reseed для обновления информации о роутерах:
sudo crontab -e
Добавьте эту строку для перезапуска сервиса каждые 3 часа:
0 */3 * * * systemctl restart reseed
Setting Up Reverse Proxy
Reseed-сервер работает на localhost:8443 и требует обратный прокси-сервер для обработки публичного HTTPS-трафика. Мы рекомендуем Nginx Proxy Manager за простоту использования.
Шаг 4: Резервное копирование ключей
Развертывание Nginx Proxy Manager с использованием Docker:
docker run -d \
--name nginx-proxy-manager \
-p 80:80 \
-p 81:81 \
-p 443:443 \
-v $(pwd)/data:/data \
-v $(pwd)/letsencrypt:/etc/letsencrypt \
--restart unless-stopped \
jc21/nginx-proxy-manager:latest
Это открывает: - Порт 80: HTTP-трафик - Порт 81: Интерфейс администратора - Порт 443: HTTPS-трафик
Configure Proxy Manager
Откройте интерфейс администратора по адресу
http://your-server-ip:81Войдите, используя учетные данные по умолчанию:
- Email: admin@example.com
- Пароль: changeme
Важно: Измените эти учетные данные сразу после первого входа в систему!

- Перейдите в раздел Proxy Hosts и нажмите Add Proxy Host

- Настройте proxy host:
- Domain Name: Ваш домен reseed-сервера (например,
reseed.example.com) - Scheme:
https - Forward Hostname / IP:
127.0.0.1 - Forward Port:
8443 - Включите Cache Assets
- Включите Block Common Exploits
- Включите Websockets Support
- Domain Name: Ваш домен reseed-сервера (например,

- На вкладке SSL:
- Выберите Request a new SSL Certificate (Let’s Encrypt)
- Включите Force SSL
- Включите HTTP/2 Support
- Примите условия использования Let’s Encrypt

- Нажмите Сохранить
Ваш reseed сервер теперь должен быть доступен по адресу https://reseed.example.com

Registering Your Reseed Server
После того как ваш reseed-сервер заработает, свяжитесь с разработчиками I2P, чтобы добавить его в официальный список reseed-серверов.
Шаг 5: Создание службы Systemd
Напишите на email zzz (ведущему разработчику I2P) следующую информацию:
- Электронная почта I2P: zzz@mail.i2p
- Электронная почта в обычной сети: zzz@i2pmail.org
Шаг 6: Опционально - Настройка периодических перезапусков
Укажите в своем письме:
- URL сервера reseed: Полный HTTPS URL (например,
https://reseed.example.com) - Публичный reseed сертификат: Расположен в
/home/i2p/.reseed/(приложите файл.crt) - Контактный email: Предпочтительный способ связи для уведомлений об обслуживании сервера
- Местоположение сервера: Опционально, но полезно (страна/регион)
- Ожидаемое время работы: Ваше обязательство по поддержанию работы сервера
Verification
Разработчики I2P проверят, что ваш reseed-сервер: - Правильно настроен и раздаёт информацию о роутерах - Использует действительные SSL-сертификаты - Предоставляет корректно подписанные SU3-файлы - Доступен и отвечает на запросы
После одобрения ваш reseed-сервер будет добавлен в список, распространяемый вместе с I2P-роутерами, помогая новым пользователям присоединиться к сети!
Monitoring and Maintenance
Установка Nginx Proxy Manager
Мониторинг вашего reseed-сервиса:
sudo systemctl status reseed
sudo journalctl -u reseed -f
Настройка Proxy Manager
Следите за системными ресурсами:
htop
df -h
Update Reseed Tools
Периодически обновляйте reseed-tools, чтобы получать последние улучшения:
cd /home/i2p/reseed-tools
git pull
make build
sudo make install
sudo systemctl restart reseed
Контактная информация
Если используется Let’s Encrypt через Nginx Proxy Manager, сертификаты будут обновляться автоматически. Проверьте, что обновление работает:
docker logs nginx-proxy-manager | grep -i certificate
Настройка сервиса
Необходимая информация
Проверьте логи на наличие ошибок:
sudo journalctl -u reseed -n 50
Распространённые проблемы: - I2P router не запущен или база данных сети пуста - Порт 8443 уже используется - Проблемы с правами доступа к директории /home/i2p/.reseed/
Проверка
Убедитесь, что ваш I2P router запущен и заполнил свою netDb:
ls -lh /home/i2p/.i2p/netDb/
Вы должны увидеть множество файлов .dat. Если папка пуста, подождите, пока ваш I2P router обнаружит peers.
SSL Certificate Errors
Проверьте, что ваши сертификаты действительны:
openssl s_client -connect reseed.example.com:443 -servername reseed.example.com
Проверка состояния сервиса
Проверьте: - DNS-записи правильно указывают на ваш сервер - Файрвол разрешает порты 80 и 443 - Nginx Proxy Manager запущен: docker ps
Security Considerations
- Храните приватные ключи в безопасности: Никогда не передавайте и не раскрывайте содержимое
/home/i2p/.reseed/ - Регулярные обновления: Поддерживайте системные пакеты, Docker и reseed-tools в актуальном состоянии
- Мониторинг логов: Следите за подозрительными паттернами доступа
- Ограничение частоты запросов: Рассмотрите возможность внедрения rate limiting для предотвращения злоупотреблений
- Правила файрвола: Открывайте только необходимые порты (80, 443, 81 для администрирования)
- Интерфейс администратора: Ограничьте доступ к административному интерфейсу Nginx Proxy Manager (порт 81) только доверенными IP-адресами
Contributing to the Network
Запуская reseed-сервер, вы предоставляете критически важную инфраструктуру для сети I2P. Спасибо за ваш вклад в более приватный и децентрализованный интернет!
Для вопросов или помощи обращайтесь в сообщество I2P: - Форум: i2pforum.net - IRC/Reddit: #i2p в различных сетях - Разработка: i2pgit.org
Часто задаваемые вопросы по I2P
Общие вопросы
Что такое I2P?
I2P - это анонимная оверлейная сеть, которая позволяет приложениям безопасно и анонимно отправлять друг другу сообщения. I2P обеспечивает конфиденциальность, анонимность и защиту от цензуры.
Чем I2P отличается от других анонимных сетей?
I2P разработан для предоставления анонимных сервисов внутри сети (веб-сайты, чаты, файлообмен), в то время как другие сети могут больше ориентироваться на анонимный выход в открытый интернет. I2P использует технологию garlic encryption для защиты сообщений.
Безопасен ли I2P?
I2P предоставляет сильную анонимность при правильном использовании. Однако никакая система не является полностью безопасной. Важно следовать рекомендациям по безопасности и понимать ограничения системы.
Технические вопросы
Как работает маршрутизация в I2P?
I2P использует технологию garlic routing - вариант onion routing. Сообщения инкапсулируются в несколько слоёв шифрования и проходят через серию router’ов перед достижением получателя.
Что такое tunnel в I2P?
Tunnel - это временный однонаправленный путь через несколько router’ов. Каждый клиент создаёт входящие и исходящие tunnel’ы для получения и отправки данных.
Что такое netDb?
netDb (Network Database) - это распределённая база данных, содержащая информацию о router’ах и destination’ах в сети. Floodfill router’ы хранят и распространяют эти данные.
Какие транспортные протоколы использует I2P?
I2P поддерживает несколько транспортных протоколов: NTCP2 (TCP-подобный) и SSU (UDP-подобный). Они используются для связи между router’ами.
Использование
Как получить доступ к eepsite?
Eepsite - это веб-сайт, размещённый внутри I2P. Для доступа нужно настроить браузер для использования HTTP-прокси I2P (обычно localhost:4444).
Что такое addressbook в I2P?
Addressbook - это локальная служба, которая преобразует человекочитаемые имена (например, example.i2p) в cryptographic destination’ы I2P.
Как запустить свой сервис в I2P?
Используйте I2PTunnel или SAMv3 API для создания server tunnel’а. I2PTunnel предоставляет простой интерфейс для настройки различных типов сервисов.
Производительность
Почему I2P работает медленно?
I2P жертвует скоростью ради анонимности. Сообщения проходят через несколько router’ов, что добавляет задержку. Производительность также зависит от количества участников сети и качества их соединений.
Можно ли ускорить I2P?
Вы можете: увеличить пропускную способность в настройках, открыть порты в firewall, дать router’у время для интеграции в сеть (обычно 10-15 минут), участвовать в маршрутизации трафика других пользователей.
Устранение неполадок
Router не подключается к сети
Проверьте:
- Настройки firewall и NAT
- Доступность портов
- Правильность системного времени (критично для I2P)
- Логи router’а на наличие ошибок
Не могу получить доступ к eepsite
Возможные причины:
- Eepsite временно недоступен
- Ваш router ещё не полностью интегрирован в сеть
- Проблемы с настройками прокси в браузере
- Destination eepsite’а не найден в netDb
Низкое количество активных peers
Это нормально для нового router’а. Подождите 15-30 минут. Если проблема сохраняется, проверьте настройки firewall и убедитесь, что ваш router может принимать входящие соединения.
Руководство изначально создано Stormy Cloud , адаптировано для документации I2P.