DarkBuffer
New member
Давай без маркетинга. I2P (Invisible Internet Project) — это не «улучшенный Tor». У них разная философия. Tor сделан для анонимного выхода в обычный интернет через exit-ноды. I2P — это полностью закрытая сеть внутри сети, оттуда ты никуда не выходишь. Ты там живёшь, общаешься, качаешь файлы, хостишь сайты — и всё остаётся внутри.
У Tor есть проблема — exit-ноды. Кто их контролирует? Неизвестно. I2P решает это просто: exit-нод нет вообще. Вместо этого — «чесночная маршрутизация» (garlic routing). В одном пакете перемешиваются несколько сообщений, и чёрт ногу сломит, кому что принадлежит.
Я пересел на I2P по трём причинам. Во-первых, надоело, что Tor всё чаще режут на уровне провайдеров. Во-вторых, внутри I2P живут свои сервисы — анонимный IRC, почта, торренты. В-третьих, я домашний сервер, который крутится 24/7, так почему бы не отдавать что-то обратно сети?
Минусы тоже есть. Скорость ниже, чем в Tor. И это нормально — пакеты специально задерживаются для защиты от timing-атак. Если тебе нужно быстро — I2P не твой вариант.
Почему Raspberry Pi? Потому что я не хочу держать основной комп включенным круглосуточно. Pi жрёт 5 вольт, 2 ампера — как лампочка. Поставил в углу, подключил по проводу, забыл. Через месяц у тебя уже «жирный» узел, которому доверяют больше, чем новичку.
Сразу сделай две вещи, чтобы не подключать монитор:
bash
ssh pi@IP-адрес
Пароль по умолчанию — raspberry. Сразу смени его (passwd).
Версия headless — без графики, нам лишнее не нужно.
Версию сверь на сайте, может быть свежее. Установка:
Ставь в /opt/i2p (предлагает по умолчанию). Выбери установку для всех пользователей. Пара минут — готово.
Теперь создай сервис:
Вставь:
Сохрани. Активируй:
Проверь статус:
Должно быть active (running).
А лучше зайди в веб-консоль. Но сначала — небольшой тюнинг.
Безопасный путь (рекомендую) — SSH-туннель:
Теперь открой браузер на своём компе и зайди на http://localhost:7657.
Быстрый и менее безопасный путь — открыть доступ в LAN. Правь /opt/i2p/i2p.conf:
Найди routerconsole.bindInterface=127.0.0.1 и смени на 0.0.0.0. Аналогично для i2cp.bindInterface=. Перезапусти:
Теперь заходи на http://IP-адрес-Pi:7657.
В консоли смотри статус сети. Должно быть OK. Если Firewalled — придётся пробросить порт на роутере (по умолчанию 8887). Без этого ты будешь менее полезен сети, но работать будет.
Firefox: Настройки → Network Settings → Manual proxy. HTTP Proxy: 127.0.0.1, Port: 4444. Поставь галочку «Also for HTTPS». Добавь localhost, 127.0.0.1 в исключения.
Попробуй зайти на http://i2p-projekt.i2p. Если открылась страница с приветствием — всё работает. Поздравляю, ты внутри I2P.
Анонимный IRC. Встроенный прокси на порту 6668. Подключись любым IRC-клиентом к localhost:6668, сеть — I2P. Канал #i2p — там русскоязычное сообщество.
Почта. Susimail — встроенный почтовый клиент в веб-консоли.
Торренты. I2PSnark — BitTorrent-клиент внутри I2P. Тоже в веб-консоли. Осторожнее с контентом — никто не контролирует, что ты качаешь.
Свой сайт. Положи файлы в eepsite/docroot/, включи в настройках. Получишь адрес вроде [хеш].b32.i2p.
Память. Java жрёт память. На Pi 3B+ с 1 ГБ близко к пределу. Pi 4 с 2-4 ГБ справляется лучше.
Постоянство. Если твой узел часто перезагружается, сеть снижает доверие. Идеал — uptime месяцами.
Идентификатор. У I2P есть фиксированный ID, который генерируется при первом запуске. Если ты всё время в сети и активно постишь, твою активность могут связать. Выход — периодически удалять router.keys и начинать заново. Но это сброс доверия.
Это не самый полезный вклад в сеть, но лучше, чем ничего.
Если тебе нужна анонимная среда для общения, файлообмена и хостинга, если у тебя есть лишний Pi, если ты готов мириться с медленной скоростью — ставь. За вечер реально поднять, если не отвлекаться.
Вопросы — в комменты.
У Tor есть проблема — exit-ноды. Кто их контролирует? Неизвестно. I2P решает это просто: exit-нод нет вообще. Вместо этого — «чесночная маршрутизация» (garlic routing). В одном пакете перемешиваются несколько сообщений, и чёрт ногу сломит, кому что принадлежит.
Я пересел на I2P по трём причинам. Во-первых, надоело, что Tor всё чаще режут на уровне провайдеров. Во-вторых, внутри I2P живут свои сервисы — анонимный IRC, почта, торренты. В-третьих, я домашний сервер, который крутится 24/7, так почему бы не отдавать что-то обратно сети?
Минусы тоже есть. Скорость ниже, чем в Tor. И это нормально — пакеты специально задерживаются для защиты от timing-атак. Если тебе нужно быстро — I2P не твой вариант.
Почему Raspberry Pi? Потому что я не хочу держать основной комп включенным круглосуточно. Pi жрёт 5 вольт, 2 ампера — как лампочка. Поставил в углу, подключил по проводу, забыл. Через месяц у тебя уже «жирный» узел, которому доверяют больше, чем новичку.
Что нужно
Железо:- Raspberry Pi (3, 4 или Zero 2 W — но на Zero 2 будет туго, бери 3+ хотя бы)
- MicroSD на 16-32 ГБ
- Блок питания (официальный — чтобы не ловить молнию в углу экрана)
- Провод Ethernet. Wi-Fi работает, но узел, который должен висеть годами, на проводе стабильнее.
- Raspberry Pi OS Lite (графика не нужна, только место жрёт)
- Java (I2P на ней написан и работает — да, Java, не пугайся)
Пошагово
Шаг 0. Подготовка Pi
Скачай Raspberry Pi Imager, выбери Raspberry Pi OS Lite (без десктопа). Запиши на карту.Сразу сделай две вещи, чтобы не подключать монитор:
- В boot-разделе создай пустой файл ssh
- Если нужен Wi-Fi — создай wpa_supplicant.conf с настройками своей сети. Но лучше воткни провод.
bash
ssh pi@IP-адрес
Пароль по умолчанию — raspberry. Сразу смени его (passwd).
Шаг 1. Обновление и Java
Код:
sudo apt update && sudo apt upgrade -y
sudo apt install default-jre-headless -y
Шаг 2. Скачиваем и ставим I2P
Лучший способ — официальный установщик с i2p.net. Кладём в /opt/i2p, чтобы не мешался.
Код:
sudo mkdir -p /opt/i2p
cd /opt/i2p
sudo wget https://download.i2p.net/i2pinstall_2.7.0.jar
Версию сверь на сайте, может быть свежее. Установка:
Код:
sudo java -jar i2pinstall_2.7.0.jar -console
Ставь в /opt/i2p (предлагает по умолчанию). Выбери установку для всех пользователей. Пара минут — готово.
Шаг 3. Настройка автозапуска (systemd)
Создай отдельного пользователя (без этого I2P не запустится нормально):
Код:
sudo useradd -r -s /bin/false i2p
sudo chown -R i2p:i2p /opt/i2p
Код:
sudo nano /etc/systemd/system/i2p.service
Вставь:
Код:
[Unit]
Description=I2P Router
After=network.target
[Service]
Type=forking
User=i2p
Group=i2p
WorkingDirectory=/opt/i2p
ExecStart=/opt/i2p/runplain.sh
Restart=on-failure
RestartSec=30
[Install]
WantedBy=multi-user.target
Сохрани. Активируй:
Код:
sudo systemctl daemon-reload
sudo systemctl enable i2p
sudo systemctl start i2p
Шаг 4. Ждём «зеленения»
Это самый долгий шаг — 10-20 минут. I2P ищет узлы, обменивается ключами, строит туннели.Проверь статус:
Код:
sudo systemctl status i2p
Должно быть active (running).
А лучше зайди в веб-консоль. Но сначала — небольшой тюнинг.
Шаг 5. Веб-консоль
По умолчанию I2P слушает localhost:7657. Чтобы зайти с другого компа, есть два пути.Безопасный путь (рекомендую) — SSH-туннель:
Код:
ssh -L 7657:localhost:7657 pi@IP-адрес
Теперь открой браузер на своём компе и зайди на http://localhost:7657.
Быстрый и менее безопасный путь — открыть доступ в LAN. Правь /opt/i2p/i2p.conf:
Код:
sudo nano /opt/i2p/i2p.conf
Найди routerconsole.bindInterface=127.0.0.1 и смени на 0.0.0.0. Аналогично для i2cp.bindInterface=. Перезапусти:
Код:
sudo systemctl restart i2p
Теперь заходи на http://IP-адрес-Pi:7657.
В консоли смотри статус сети. Должно быть OK. Если Firewalled — придётся пробросить порт на роутере (по умолчанию 8887). Без этого ты будешь менее полезен сети, но работать будет.
Шаг 6. Настройка браузера
Чтобы ходить на .i2p-сайты, нужно выставить прокси. Порт I2P для HTTP — 4444.Firefox: Настройки → Network Settings → Manual proxy. HTTP Proxy: 127.0.0.1, Port: 4444. Поставь галочку «Also for HTTPS». Добавь localhost, 127.0.0.1 в исключения.
Попробуй зайти на http://i2p-projekt.i2p. Если открылась страница с приветствием — всё работает. Поздравляю, ты внутри I2P.
Что можно делать внутри
Сёрфить eepsites. Адреса вида [что-то].i2p. Стартовая точка — реестр http://reg.i2p.Анонимный IRC. Встроенный прокси на порту 6668. Подключись любым IRC-клиентом к localhost:6668, сеть — I2P. Канал #i2p — там русскоязычное сообщество.
Почта. Susimail — встроенный почтовый клиент в веб-консоли.
Торренты. I2PSnark — BitTorrent-клиент внутри I2P. Тоже в веб-консоли. Осторожнее с контентом — никто не контролирует, что ты качаешь.
Свой сайт. Положи файлы в eepsite/docroot/, включи в настройках. Получишь адрес вроде [хеш].b32.i2p.
Честно о минусах
Скорость. Низкая. Точка. I2P не для ютуба и не для торрентов на гигабайты. Для переписки, для чтения, для анонимного общения.Память. Java жрёт память. На Pi 3B+ с 1 ГБ близко к пределу. Pi 4 с 2-4 ГБ справляется лучше.
Постоянство. Если твой узел часто перезагружается, сеть снижает доверие. Идеал — uptime месяцами.
Идентификатор. У I2P есть фиксированный ID, который генерируется при первом запуске. Если ты всё время в сети и активно постишь, твою активность могут связать. Выход — периодически удалять router.keys и начинать заново. Но это сброс доверия.
Мои результаты
Я запустил I2P на Raspberry Pi 3B+ полгода назад. За это время он перезагружался дважды — один раз свет отключили, второй раз я сам перезагружал для обновлений. Трафик стабильно низкий, консоль захожу раз в пару дней убедиться, что всё зелёное.Это не самый полезный вклад в сеть, но лучше, чем ничего.
Вердикт
Если тебе нужно иногда открыть заблокированный сайт — поставь Outline или обычный VPN. I2P для другого.Если тебе нужна анонимная среда для общения, файлообмена и хостинга, если у тебя есть лишний Pi, если ты готов мириться с медленной скоростью — ставь. За вечер реально поднять, если не отвлекаться.
Вопросы — в комменты.