Установка и настройка I2P в Slackware Linux
Преамбула

I2P это такая скрытая пиринговая сеть, подробнее можно узнать в
Википедии или на
официальном сайте. В отличии от TOR, она обеспечивает не анонимный доступ в Интернет, а доступ к собственным ресурсам (сайтам, файлообменникам и т.д.), скрытым из обычной сети. Гейты в "большой" Интернет в ней есть, но они кривые, косые и пользоваться ими не рекомендуется. Расскажу, как ее установить и настроить на Slackware, заодно разрешив пользователям из локальной сети также получать к ней доступ.
Установка JavaКлиент сети написан на Java, потому ее надо сначала установить. На официальном сайте есть рекомендации о необходимой версии:
Java Runtime Version 7 or higher. (Oracle, OpenJDK, or IcedTea Java Version 7 or 8 recommended.Сама установка довольно проста:
1. Идем, например
сюда2. Скачиваем
jdk-8u162-i586-2gds.txz3. Устанавливаем стандартным образом:
installpkg jdk-8u162-i586-2gds.txz 4. Добавляем в автозагрузку (если вы не сделали отдельного скрипта для запуска сервера, то
/etc/rc.d/rc.local) пути к java:
echo "Add JAVA paths..."
export JAVA_HOME=/usr/lib/java
export MANPATH="${MANPATH}:${JAVA_HOME}/man"
export PATH="${PATH}:${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin"5. Перезагружаем машину.
6. Вводим в консоли команду
java без параметров. Если все было сделано правильно, то вы должны увидеть вывод краткой справки по параметрам java.
Создание пользователя для I2PПонятно, что операции с пользователями надо делать под
root или с
sudo.
1. Создаем отдельную группу для I2P:
groupadd i2pgrp2. Создаем интерактивного (пока, потом мы вырубим ему всю интерактивность) пользователя, например
i2psrv:
useradd -g i2pgrp -m -d /home/i2psrv -s /bin/bash i2psrvгде:
-g i2pgrp - группа пользователя (
i2pgrp)
-m - создать домашний каталог
-d /home/i2psrv - путь к домашнему каталогу (
/home/i2psrv)
-s /bin/bash - установить пользователю оболочку, в данном случае фиктивную (
/bin/bash)
i2psrv - имя пользователя
3. Задаем ему пароль:
passwd i2psrvВ интерактивном режиме повторяем пароль 2 раза, о сложности можно не беспокоиться - все равно потом отключим.
Установка1. Скачиваем установщик для Linux с
официального сайта2. Копируем в директорию пользователя (
/home/i2psrv) и меняем владельца файла:
chown i2psrv:i2pgrp i2pinstall_0.9.44.jar3. Логинимся под новым пользователем.
4. Запускаем установку (через консоль):
java -jar i2pinstall_0.9.44.jar -console5. Приводят возможность выбрать язык:
Select your language
0 [x] eng
1 [ ] bra
2 [ ] cat
3 [ ] ces
...Оставляем английский (нажимая ENTER).
6. Далее предлагают продолжить установку:
Нажимаем 1 [ENTER]
7. Опять лицензия и всякая хрень:
Нажимаем 1 [ENTER]
8. Выбор пути для установки. Поскольку устанавливаем в каталоге нового пользователя, пусть так и делает - нажимаем [ENTER]
9. Далее нажимаем
O и [ENTER] (в прошлых версиях было меньше гемора и подтверждений, а сейчас словно анкету в ментовку работать заполняешь :)
10. Еще раз предлагают подтвердить, что все ОК (1 и [ENTER])
11. Наконец, тебе говорят, что все ОК:
====================
Installation started
Framework: 5.1.3-84aaf (IzPack)
Platform: linux,version=4.4.14-smp,arch=x86,symbolicName=null,javaVersion=1.8.0_232
[ Starting to unpack ]
[ Processing package: Base (1/1) ]
[ Unpacking finished ]
Installation finished
On most systems, I2P can be started with:
/home/i2psrv/i2p/i2prouter start
If I2P does not start, please try:
/home/i2psrv/i2p/runplain.sh12. Тебе говорят, что все совсем ОК:
Installation was successful
Application installed on /home/i2psrv/i2p
[ Writing the uninstaller data ... ]
[ Console installation done ]Расшаривание I2P-сервисов в локальной сети.Если вы намерены использовать I2P только на локальном компьютере, этот шаг можно пропустить.
1. Идем в файл
/home/i2psrv/i2p/i2ptunnel.config, предварительно его куда-нибудь скопировав, и меняем в нем все
127.0.0.1 на адрес нашего компьютера в локальной сети (например на
192.168.0.20, см. адрес вашего компьютера), таким образом все сервисы I2P будут доступны с любой машины в локальной сети.
2. В том же файле смотрим порты, если где-то у нас какой-то порт для чего-то занят, например на том же порту уже висит HTTP или TOR-proxy, смело меняем порт.
Переключение пользователяI2P - порядочный сервис, и сам умеет переключать пользователя, под которым запускается. Некоторые даже рекомендуют завести двух пользователей, одного для запуска, другого для установки I2P, но мы, ради экономии времени, делать этого не будем - и запуск и установка будут под одним пользователем. Тем не менее, необходимо отредактировать скрипт
i2prouter (в
/home/ip2srv/i2p):
1. Ищем строку, содержащую
RUN_AS_USER=2. Раскомментируем ее (удаляем
# в начале строки).
3. Дописываем после знака
= имя пользователя (в этом примере "
i2psrv").
Расшаривание Web-консолиОтслеживание статуса соединения с сетью I2P, ошибки и основные настройки доступны через Web-интерфейс, который запускается на локальной машине на порту
7657, но если физического доступа к той машине, на которой установлен I2P нет (или лень), то можно управлять ей и с любого компьютера локальной сети.
Внимание! Это не очень одобряется официальными инструкциями. По идее можно сделать безопасный SSL-туннель, как это описывалось в одной из старых инструкций. Но я опишу самый простой вариант, просто поменяю конфиг.
Заходим в
clients.config (
/home/i2psrv/i2p), предварительно сделав бэкап.
И опять меняем
127.0.0.1 на
192.168.0.20, т.е. меняем адрес машины, по которому должна появиться консоль.
Далее меняем
clientApp.4.startOnLoad=true на
clientApp.4.startOnLoad=false, т.к. на сервере нет смысла открывать панель управления после старта I2P.
( Дальнейшая настройка под катом )ПроверкаПереходим по адресу
http://i2p-projekt.i2p
I2P довольно медленная сеть и работает с некоторыми перебоями, так что если вместо сайта вы увидите надпись "
Сайт недоступен. Возможно, сайт отключен, сеть перегружена или ваш маршрутизатор недостаточно интегрирован с другими пирами. Вы можете повторить операцию.", то действительно, скорее всего, операцию нужно повторить.
Отключаем интерактив пользователю i2psrvНа самом деле интерактивный доступ к системе для пользователя
i2psrv был нужен только на этапе установки сервиса I2P, и я оставлял его до конца настройки на случай, если I2P понадобится переустановить. Теперь консоль пользователю
i2psrv более не нужна. Отключаем:
Редактируем (под
root'ом) файл
/etc/passwd.
Находим в этом файле строку, начинающуюся с имени пользователя (
i2psrv) и в конце строки меняем
/bin/bash на
/bin/false.
Сохраняем файл.
Что дальше?Остались нераскрытыми темы подписок (как добавлять I2P-сайты неизвестные вашему маршрутизатору I2P), интересные I2P-сайты, другие сервисы I2P, кроме WWW. Может быть когда-нибудь вернусь к этому вопросу, а пока рекомендую детально ознакомиться с документацией на сайте
https://geti2p.net/,
http://i2p-projekt.i2p и в консоли I2P.
Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2019/12/19/ustanovka-i-nastrojka-i2p-v-slackware-linux/