Этот перевод был создан с помощью машинного обучения и может быть не на 100% точным. Просмотреть английскую версию

Создание Eepsite в I2P

Узнайте, как создать и разместить свой собственный веб‑сайт в сети I2P с помощью встроенного веб‑сервера Jetty

Что такое Eepsite?

eepsite — это веб‑сайт, который существует исключительно в сети I2P. В отличие от традиционных веб‑сайтов, доступных через clearnet (открытый интернет), eepsites доступны только через I2P, обеспечивая анонимность и конфиденциальность как оператору сайта, так и посетителям. Eepsites используют псевдодомен верхнего уровня .i2p и доступны по специальным адресам .b32.i2p или по человекочитаемым именам, зарегистрированным в адресной книге I2P.

Все установки Java I2P поставляются с Jetty — легковесным веб‑сервером на Java, предустановленным и преднастроенным. Это позволяет за считанные минуты начать размещать собственный eepsite — без необходимости установки дополнительного программного обеспечения.

Это руководство проведёт вас через процесс создания и настройки вашего первого eepsite с помощью встроенных инструментов I2P.


Шаг 1: Откройте менеджер скрытых сервисов

Менеджер скрытых сервисов (также называемый I2P Tunnel Manager) — это место, где настраиваются все I2P серверные и клиентские tunnels, включая HTTP-серверы (eepsites).

  1. Откройте Консоль I2P Router
  2. Перейдите к Менеджеру скрытых сервисов

Вы должны увидеть интерфейс Диспетчера скрытых сервисов, отображающий: - Сообщения о состоянии - Текущее состояние tunnel и клиента - Глобальное управление tunnel - Кнопки для управления всеми tunnels одновременно - Скрытые сервисы I2P - Список настроенных серверных tunnels

Менеджер скрытых сервисов

По умолчанию вы увидите существующую запись I2P веб‑сервера, настроенную, но не запущенную. Это предварительно настроенный веб‑сервер Jetty, готовый к использованию.


Шаг 2: Настройте параметры сервера Eepsite

Нажмите на запись I2P webserver в списке скрытых сервисов, чтобы открыть страницу конфигурации сервера. Здесь вы сможете настроить параметры вашего eepsite.

Настройки сервера Eepsite

Пояснение параметров конфигурации

Имя - Это внутренний идентификатор для вашего tunnel - Полезно, если вы запускаете несколько eepsites, чтобы различать их между собой - По умолчанию: “I2P webserver”

Описание - Краткое описание вашего eepsite для собственной справки - Видно только вам в Менеджере скрытых служб - Пример: “Мой eepsite” или “Личный блог”

Автоматический запуск Tunnel - Важно: Отметьте этот флажок, чтобы ваш eepsite автоматически запускался при запуске I2P router - Гарантирует, что ваш сайт останется доступным без ручного вмешательства после перезапуска router - Рекомендуется: Включено

Назначение (Host и Port) - Host: Локальный адрес, на котором работает ваш веб‑сервер (по умолчанию: 127.0.0.1) - Port: Порт, на котором ваш веб‑сервер принимает подключения (по умолчанию: 7658 для Jetty) - Если вы используете предустановленный веб‑сервер Jetty, оставьте эти параметры со значениями по умолчанию - Изменяйте только если вы запускаете собственный веб‑сервер на другом порту

Имя хоста сайта - Это человекочитаемое доменное имя вашего eepsite в зоне .i2p - По умолчанию: mysite.i2p (заглушка) - Вы можете зарегистрировать собственный домен, например stormycloud.i2p или myblog.i2p - Оставьте пустым, если хотите использовать только автоматически сгенерированный адрес .b32.i2p (для outproxies (выходные прокси)) - См. ниже Регистрация вашего домена I2P о том, как зарегистрировать собственное имя хоста

Локальный Destination - Это уникальный криптографический идентификатор вашего eepsite (адрес назначения) - Автоматически генерируется при первом создании tunnel - Считайте это постоянным “IP-адресом” вашего сайта в I2P - Длинная буквенно-цифровая строка — это адрес вашего сайта .b32.i2p в закодированном виде

Файл закрытого ключа - Место, где хранятся закрытые ключи вашего eepsite - По умолчанию: eepsite/eepPriv.dat - Храните этот файл в безопасности - любой, у кого есть доступ к этому файлу, может выдавать себя за ваш eepsite - Никогда не делитесь этим файлом и не удаляйте его

Важное примечание

Желтое предупреждающее сообщение напоминает, что для включения генерации QR‑кода или функций аутентификации при регистрации необходимо настроить имя хоста веб‑сайта с суффиксом .i2p (например, mynewsite.i2p).


Шаг 3: Расширенные сетевые параметры (необязательно)

Если на странице конфигурации прокрутить вниз, вы найдёте расширенные сетевые параметры. Эти параметры необязательны — значения по умолчанию хорошо подходят большинству пользователей. Однако вы можете настроить их в соответствии с вашими требованиями к безопасности и производительности.

Параметры длины Tunnel

Параметры длины и количества Tunnel

Длина tunnel - По умолчанию: 3-хоповый tunnel (высокая анонимность) - Определяет, через сколько router-хопов проходит запрос, прежде чем достичь вашего eepsite - Больше хопов = выше анонимность, но ниже производительность - Меньше хопов = выше производительность, но ниже анонимность - Варианты в диапазоне от 0 до 3 хопов с настройками вариации - Рекомендация: оставьте 3 хопа, если только у вас нет особых требований к производительности

Разброс длины tunnel - По умолчанию: 0 hop variance (без рандомизации, стабильная производительность) - Добавляет рандомизацию длины tunnel для повышения безопасности - Пример: “0-1 hop variance” означает, что tunnels будут случайной длины: 3 или 4 перехода - Повышает непредсказуемость, но может привести к нестабильному времени загрузки

Параметры количества tunnel

Количество (входящих/исходящих Tunnels) - По умолчанию: 2 входящих, 2 исходящих tunnels (стандартная пропускная способность и надёжность) - Определяет, сколько параллельных tunnels выделено для вашего eepsite - Больше tunnels = Лучшая доступность и обработка нагрузки, но выше потребление ресурсов - Меньше tunnels = Ниже потребление ресурсов, но сниженная избыточность - Рекомендуется для большинства пользователей: 2/2 (по умолчанию) - Сайты с высоким трафиком могут выиграть от 3/3 или больше

Число резервных tunnels - По умолчанию: 0 резервных tunnels (без избыточности, без дополнительного расхода ресурсов) - Резервные tunnels, которые активируются при отказе основных tunnels - Повышает надёжность, но потребляет больше пропускной способности и CPU - Большинство персональных eepsites не нуждаются в резервных tunnels

Ограничения POST

Настройка ограничений POST

Если ваш eepsite содержит формы (контактные формы, разделы комментариев, загрузка файлов и т. п.), вы можете настроить ограничения на POST-запросы, чтобы предотвратить злоупотребления:

Лимиты на клиента - За период: Максимум запросов от одного клиента (по умолчанию: 6 за 5 минут) - Длительность блокировки: Как долго блокировать клиентов-нарушителей (по умолчанию: 20 минут)

Общие лимиты - Всего: Максимальное число POST-запросов от всех клиентов суммарно (по умолчанию: 20 за 5 минут) - Длительность блокировки: Как долго отклонять все POST-запросы при превышении лимита (по умолчанию: 10 минут)

Период ограничения для POST - Временное окно для измерения частоты запросов (по умолчанию: 5 минут)

Эти ограничения помогают защититься от спама, атак отказа в обслуживании и злоупотребления автоматизированной отправкой форм.

Когда следует изменять расширенные настройки

  • Сайт сообщества с высоким трафиком: Увеличьте количество tunnel (3-4 входящих/исходящих)
  • Приложение, критичное к производительности: Уменьшите длину tunnel до 2 переходов (компромисс по приватности)
  • Требуется максимальная анонимность: Оставьте 3 перехода, добавьте разброс 0-1
  • Формы с ожидаемо высокой нагрузкой: Соответственно увеличьте лимиты POST
  • Личный блог/портфолио: Используйте все настройки по умолчанию

Шаг 4: Добавление контента на ваш Eepsite

Теперь, когда ваш eepsite настроен, вам нужно добавить файлы вашего сайта (HTML, CSS, изображения и т. д.) в корневой каталог веб-сервера. Его расположение зависит от вашей операционной системы, типа установки и реализации I2P.

Поиск корневого каталога сайта

document root (часто называется docroot) — это папка, в которую вы помещаете все файлы вашего веб‑сайта. Файл index.html должен находиться непосредственно в этой папке.

Java I2P (стандартный дистрибутив)

Linux - Стандартная установка: ~/.i2p/eepsite/docroot/ - Установка из пакета (запуск как служба): /var/lib/i2p/i2p-config/eepsite/docroot/

Windows - Стандартная установка: %LOCALAPPDATA%\I2P\eepsite\docroot\ - Типичный путь: C:\Users\YourUsername\AppData\Local\I2P\eepsite\docroot\ - Установка как служба Windows: %PROGRAMDATA%\I2P\eepsite\docroot\ - Типичный путь: C:\ProgramData\I2P\eepsite\docroot\

macOS - Стандартная установка: /Users/YourUsername/Library/Application Support/i2p/eepsite/docroot/

I2P+ (улучшенный дистрибутив I2P)

I2P+ использует ту же структуру каталогов, что и Java I2P. Следуйте указанным выше путям в зависимости от вашей операционной системы.

i2pd (Реализация на C++)

Linux/Unix - По умолчанию: /var/lib/i2pd/eepsite/ или ~/.i2pd/eepsite/ - Проверьте ваш конфигурационный файл i2pd.conf, чтобы узнать фактическое значение параметра root в настройках вашего HTTP‑сервера tunnel

Windows - Проверьте файл i2pd.conf в каталоге установки i2pd

macOS - Обычно: ~/Library/Application Support/i2pd/eepsite/

Добавление файлов вашего веб-сайта

  1. Перейдите в корневой каталог сайта с помощью файлового менеджера или терминала
  2. Создайте или скопируйте файлы вашего сайта в папку docroot
    • Как минимум создайте файл index.html (это ваша главная страница)
    • При необходимости добавьте CSS, JavaScript, изображения и другие ресурсы
  3. Организуйте подкаталоги так же, как для любого сайта:
    docroot/
    ├── index.html
    ├── about.html
    ├── css/
    │   └── style.css
    ├── images/
    │   └── logo.webp
    └── js/
        └── script.js
    

Быстрый старт: простой пример HTML

Если вы только начинаете, создайте простой файл index.html в папке docroot:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>My I2P Eepsite</title>
</head>
<body>
    <h1>Welcome to My Eepsite!</h1>
    <p>This is my first website on the I2P network.</p>
    <p>Privacy-focused and decentralized!</p>
</body>
</html>

Права доступа (Linux/Unix/macOS)

Если вы запускаете I2P как службу или от имени другого пользователя, убедитесь, что процесс I2P имеет доступ на чтение к вашим файлам:

# Set appropriate ownership (if running as i2p user)
sudo chown -R i2p:i2p /var/lib/i2p/i2p-config/eepsite/docroot/

# Or set readable permissions for all users
chmod -R 755 ~/.i2p/eepsite/docroot/

Советы

  • Содержимое по умолчанию: После установки I2P в папке docroot уже есть демонстрационный контент - можете смело заменить его
  • Статические сайты работают лучше: Хотя Jetty поддерживает сервлеты и JSP, простые сайты на HTML/CSS/JavaScript проще в сопровождении
  • Внешние веб-серверы: Опытные пользователи могут запускать собственные веб-серверы (Apache, Nginx, Node.js и т. д.) на разных портах и направить на них I2P tunnel

Шаг 5: Запуск вашего Eepsite

Теперь, когда ваш eepsite настроен и наполнен содержимым, пора запустить его и сделать доступным в сети I2P.

Запустите Tunnel

  1. Вернитесь в Менеджер скрытых сервисов
  2. Найдите в списке запись I2P webserver
  3. Нажмите кнопку Start в столбце Control

Запущенный Eepsite

Ожидание установления Tunnel

После нажатия кнопки Start начнётся построение вашего eepsite tunnel. Этот процесс обычно занимает 30-60 секунд. Следите за индикатором состояния:

  • Красный индикатор = Tunnel запускается/строится
  • Жёлтый индикатор = Tunnel частично установлен
  • Зелёный индикатор = Tunnel полностью работоспособен и готов

Как только вы увидите зеленый индикатор, ваш eepsite доступен в сети I2P!

Доступ к вашему Eepsite

Нажмите кнопку Preview рядом с запущенным eepsite (сайт в сети I2P). Это откроет новую вкладку браузера с адресом вашего eepsite.

У вашего eepsite есть два типа адресов:

  1. Адрес Base32 (.b32.i2p): Длинный криптографический адрес, который выглядит так:

    http://fcyianvr325tdgiiueyg4rsq4r5iuibzovl26msox5ryoselykpq.b32.i2p
    
    • Это постоянный, криптографически производный адрес вашего eepsite
    • Его нельзя изменить; он привязан к вашему закрытому ключу
    • Работает всегда, даже без регистрации домена
  2. Человеко-читаемый домен (.i2p): Если вы укажете Имя хоста сайта (например, testwebsite.i2p)

    • Работает только после регистрации домена (см. следующий раздел)
    • Проще запомнить и поделиться
    • Сопоставляется с вашим адресом .b32.i2p

Кнопка Copy Hostname позволяет быстро скопировать ваш полный адрес .b32.i2p для обмена.


⚠️ Критически важно: Создайте резервную копию вашего закрытого ключа

Прежде чем продолжить, вы обязательно сделайте резервную копию файла закрытого ключа вашего eepsite. Это крайне важно по нескольким причинам:

Зачем создавать резервную копию вашего ключа?

Ваш закрытый ключ (eepPriv.dat) — это идентичность вашего eepsite. Он определяет ваш адрес .b32.i2p и подтверждает владение вашим eepsite.

  • Ключ = .b32 address: Ваш закрытый ключ криптографически порождает ваш уникальный адрес .b32.i2p
  • Восстановлению не подлежит: Если вы потеряете свой ключ, вы навсегда потеряете адрес eepsite
  • Нельзя изменить: Если вы зарегистрировали домен, указывающий на .b32 address, обновить его невозможно - регистрация постоянная
  • Требуется для миграции: Переход на новый компьютер или переустановка I2P требует этого ключа для сохранения того же адреса
  • Поддержка multihoming (мультихоминг): Запуск вашего eepsite из нескольких мест требует одного и того же ключа на каждом сервере

Где находится закрытый ключ?

По умолчанию ваш закрытый ключ хранится по адресу: - Linux: ~/.i2p/eepsite/eepPriv.dat (или /var/lib/i2p/i2p-config/eepsite/eepPriv.dat для установок в виде службы) - Windows: %LOCALAPPDATA%\I2P\eepsite\eepPriv.dat или %PROGRAMDATA%\I2P\eepsite\eepPriv.dat - macOS: /Users/YourUsername/Library/Application Support/i2p/eepsite/eepPriv.dat

Вы также можете проверить/изменить этот путь в конфигурации вашего tunnel в разделе “Private Key File”.

Как создать резервную копию

  1. Остановите свой tunnel (необязательно, но безопаснее)
  2. Скопируйте eepPriv.dat в защищённое место:
    • Внешний USB-накопитель
    • Зашифрованный диск для резервных копий
    • Архив, защищённый паролем
    • Безопасное облачное хранилище (с шифрованием)
  3. Храните несколько резервных копий в разных физических местах
  4. Никогда не делитесь этим файлом - любой, у кого он есть, сможет выдать себя за ваш eepsite

Восстановление из резервной копии

Чтобы восстановить ваш eepsite на новой системе или после переустановки:

  1. Установите I2P и создайте/настройте параметры вашего tunnel
  2. Остановите tunnel перед копированием ключа
  3. Скопируйте ваш резервный eepPriv.dat в правильное расположение
  4. Запустите tunnel - он будет использовать ваш исходный адрес .b32

Если вы не регистрируете домен

Поздравляем! Если вы не планируете регистрировать собственное доменное имя .i2p, ваш eepsite теперь полностью готов и работает.

Вы можете: - Поделиться своим адресом .b32.i2p с другими - Получать доступ к своему сайту через сеть I2P с помощью любого браузера с поддержкой I2P - В любое время обновлять файлы сайта в папке docroot - Отслеживать состояние вашего tunnel в Менеджере скрытых служб

Если вам нужен человекочитаемый домен (например, mysite.i2p вместо длинного адреса .b32), перейдите к следующему разделу.


Регистрация вашего I2P-домена

Читаемый человеком домен .i2p (например, testwebsite.i2p) намного легче запомнить и им поделиться, чем длинным адресом .b32.i2p. Регистрация домена бесплатна и связывает выбранное вами имя с криптографическим адресом вашей eepsite.

Предварительные требования

  • Ваш eepsite должен работать с зелёным индикатором
  • Вы должны указать Website Hostname в конфигурации tunnel (Шаг 2)
  • Пример: testwebsite.i2p или myblog.i2p

Шаг 1: Сгенерируйте строку аутентификации

  1. Вернитесь к конфигурации вашего tunnel в Менеджере скрытых сервисов
  2. Нажмите на запись вашего I2P веб‑сервера, чтобы открыть настройки
  3. Прокрутите вниз, чтобы найти кнопку Аутентификация регистрации

Аутентификация при регистрации

  1. Нажмите Аутентификация регистрации
  2. Скопируйте всю строку аутентификации, показанную для “Аутентификация для добавления хоста [yourdomainhere]”

Строка аутентификации будет выглядеть следующим образом:

testwebsite.i2p=I8WiuSx1TcYAutCrhLveZ6gghdqsIJ1v9noSGPb7ItYjxaK5LHVNxgC60KuEu95nqCCF2qwgnW~2ehIY9vsi1iPForksdU3GALrQq4S73meoIIXarCCdb~Z6Ehj2-yLWI8WiuSx1TcYAutCrhLveZ6gghdqsIJ1v9noSGPb7ItYjxaK5LHVNxgC60KuEu95nqCCF2qwgnW~2ehIY9vsi1iPForksdU3GALrQq4S73meoIIXarCCdb~Z6Ehj2-yLWI8WiuSx1TcYAutCrhLveZ6gghdqsIJ1v9noSGPb7ItYjxaK5LHVNxgC60KuEu95nqCCF2qwgnW~2ehIY9vsi1iPForksdU3GALrQq4S73meoIIXarCCdb~Z6Ehj2-yLWI8WiuSx1TcYAutCrhLveZ6gghdqsIJ1v9noSGPb7ItYjxaK5LHVNxgC60KuEu95nqCCF2qwgnW~2ehIY9vsi1uNxFZ0HN7tQbbVj1pmbahepQZNxEW0ufwnMYAoFo8opBQAEAAcAAA==#!date=1762104890#sig=9DjEfrcNRxsoSxiE0Mp0-7rH~ktYWtgwU8c4J0eSo0VHbGxDxdiO9D1Cvwcx8hkherMO07UWOC9BWf-1wRyUAw==

Эта строка содержит: - Ваше доменное имя (testwebsite.i2p) - Ваш адрес назначения (длинный криптографический идентификатор) - Метку времени - Криптографическую подпись, подтверждающую, что вы владеете закрытым ключом

Сохраните эту строку аутентификации - она понадобится вам для обоих сервисов регистрации.

Шаг 2: Зарегистрируйтесь на stats.i2p

  1. Перейдите к stats.i2p Add Key (внутри I2P)

Регистрация домена stats.i2p

  1. Вставьте строку аутентификации в поле “Authentication String”
  2. Добавьте своё имя (необязательно) - по умолчанию “Anonymous”
  3. Добавьте описание (рекомендуется) - кратко опишите, о чём ваш eepsite
    • Например: “Новый I2P Eepsite”, “Персональный блог”, “Сервис обмена файлами”
  4. Отметьте “HTTP Service?” если это веб-сайт (оставьте отмеченным для большинства eepsites)
    • Снимите отметку для IRC, NNTP, прокси, XMPP, git и т. д.
  5. Нажмите Submit

Если всё прошло успешно, вы увидите подтверждение того, что ваш домен был добавлен в адресную книгу stats.i2p.

Шаг 3: Зарегистрируйтесь на reg.i2p

Чтобы обеспечить максимальную доступность, вам также следует зарегистрироваться на сервисе reg.i2p:

  1. Перейдите на reg.i2p Add Domain (внутри сети I2P)

Регистрация домена на reg.i2p

  1. Вставьте ту же строку аутентификации в поле “Auth string”
  2. Добавьте описание (необязательно, но рекомендуется)
    • Это помогает другим пользователям I2P понять, что предлагает ваш сайт
  3. Нажмите Submit

Вы должны получить подтверждение того, что ваш домен был зарегистрирован.

Шаг 4: Дождитесь распространения

После отправки в оба сервиса регистрация вашего домена распространится через систему адресных книг сети I2P.

Сроки распространения: - Первичная регистрация: Немедленно на сервисах регистрации - Распространение по всей сети: От нескольких часов до 24+ часов - Полная доступность: Может занять до 48 часов, пока все routers обновятся

Это нормально! Система адресной книги I2P обновляется периодически, а не мгновенно. Ваш eepsite работает - другим пользователям просто нужно получить обновлённую адресную книгу.

Подтвердите ваш домен

Через несколько часов вы сможете протестировать свой домен:

  1. Откройте новую вкладку в браузере I2P
  2. Попробуйте перейти к вашему домену напрямую: http://yourdomainname.i2p
  3. Если страница загружается, ваш домен зарегистрирован и распространяется!

Если это еще не работает: - Подождите дольше (адресные книги обновляются по своему расписанию) - Адресной книге вашего router может потребоваться время для синхронизации - Попробуйте перезапустить ваш I2P router, чтобы принудительно обновить адресную книгу

Важные замечания

  • Регистрация постоянна: После регистрации и распространения в сети ваш домен навсегда указывает на ваш адрес .b32.i2p
  • Нельзя изменить назначение: Вы не можете изменить, на какой адрес .b32.i2p указывает ваш домен - поэтому резервное копирование eepPriv.dat критически важно
  • Владение доменом: Только владелец закрытого ключа может зарегистрировать или обновить домен
  • Бесплатный сервис: Регистрация доменов в I2P бесплатна, управляется сообществом и децентрализована
  • Несколько регистраторов: Регистрация одновременно на stats.i2p и reg.i2p повышает надёжность и скорость распространения

Поздравляем!

Ваш I2P eepsite теперь полностью функционирует с зарегистрированным доменом!

Следующие шаги: - Добавьте больше контента в папку docroot - Поделитесь своим доменом с сообществом I2P - Храните резервную копию eepPriv.dat в надежном месте - Регулярно отслеживайте состояние вашего tunnel (туннеля) - Рассмотрите возможность присоединиться к форумам I2P или IRC, чтобы продвигать свой сайт

Добро пожаловать в сеть I2P! 🎉

Was this page helpful?