ITСooky

IT-рецепты съедобные и не очень!

Древние технологии — eMule: Установка p2p клиента aMule на Raspberry Pi!

дата 27.11.2020

Во времена мощной промокомпании Torrent’ов, когда про них рассказывали из каждого утюга, емульщики стояли в стороне и ржали — на кой где-то регистрироваться если трушный p2p работает без всего этого в натуре, то есть априори! Сейчас конечно с развитием технологий, финансовая необходимость(особенно в России) в p2p способах передачи информации отпала, так что eMule интересен только it-археологам и маркетологам которые его вставляют для галочки в свои продукты (вот как Synology).

Для реализации потребуется Raspberry Pi у меня 4-ый, в таком самодельном корпусе

Домашний сервер на Raspberry Pi 4 с NVMe, RTC, UPS в DIY корпусе!

Помните что p2p работает на прием и на отдачу, решите подходит ли ваш способ подключения к интернету для этого, хорошо если трафик входящий и исходящий безлимитный! Файлы скачиваются и отдаются кусочками, задача распределенная по всем участникам сети, поэтому она такая устойчивая и эффективная — кстати Windows Обновления точно так же работают и вы их раздаете со своего ПК остальным, где-то в глубинах его настроек есть (Настройки —> Обновление и безопасность —> Центр обновления Windows —> Дополнительные настройки —> Пункт «Выберите, как и когда получать обновления». Отключите опцию «Обновления из нескольких мест»). Ну и игры конечно скачиваются по p2p, раздачу всем из одного источника огромных файлов, невозможно организовать для большого количества клиентов!

Клиент eMule для Windows, не обновлялся с 2010 и все равно работает — что уже примечательно. Линуксовый клиент aMule последний раз обновлялся 2016, будем ставить его. Отличный мануальчик aMule en una Raspberry Pi Server: y olvídate de dejar el ordenador encendido descargando

Устанавливаем
sudo apt install amule amule-daemon

Добавляем пользователя
sudo adduser amule

Редактируем
sudo vi /etc/default/amule-daemon

Тут указваем имя пользователя созданного для amule и егоу папку

# Configuration for /etc/init.d/amule-daemon

# The init.d script will only run if this variable non-empty.
AMULED_USER="amule"

# You can set this variable to make the daemon use an alternative HOME.
# The daemon will use $AMULED_HOME/.aMule as the directory, so if you
# want to have $AMULED_HOME the real root (with an Incoming and Temp
# directories), you can do `ln -s . $AMULED_HOME/.aMule`.
AMULED_HOME="/home/amule"</a>

Первый запуск
sudo service amule-daemon start
Он должен бы создать папку .aMule но у меня не создал, надо его перезапустить
sudo /etc/init.d/amule-daemon restart
теперь создал

Настраиваем доступ к amule через web
Удобно работать с aMule по web, не надо подключать к малинке монитор и клаву

Сначала придумываем пароль и переводим его в md5
echo -n My_PassVV{}roI | md5sum

78c43e0ec84f7f92f1c6c7abc4576595  -

без дефис на конце

Редактируем
sudo vi /home/amule/.aMule/amule.conf

Находим строки и приводим их к виду — со своим паролем

AcceptExternalConnections=1
....
ECPassword=78c43e0ec84f7f92f1c6c7abc4576595
....
[WebServer]
Enabled=1
Password=78c43e0ec84f7f92f1c6c7abc4576595

Перезапускамся
sudo /etc/init.d/amule-daemon stop
подождать 10 секунд
sudo /etc/init.d/amule-daemon start

Если все ок то amule начнет слушать порты, нам нуден 4711 для вебинтерфейса, смотрим
netstat -lptn

(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:4662            0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:4711            0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:4712            0.0.0.0:*               LISTEN      -                   
tcp6       0      0 :::22                   :::*                    LISTEN

На Пк в той же сети что и малинка, переходим по URL
http://123.123.123.123:4771
вместо 123 ip вашей малинки

И видим

Тут вводим пароль который генерировали раньше, у нас один и для web и для AC(по идеии можно с ним подключаться через программные клиенты к amule).

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

Вродебы eMule Security No1 достаточно живой!

В настройках можно задать максимальные скорости скачи и отдачи, но можно ничего не трогать

Поиск работает с глюками — пишем что хотим найти нажимает [Search] > ничего не происходит, нажимаем [Click here to update the search results] > появляются результаты… может так и задумывалось

Ставим галочки слева от того что хотим нажать, и слева внизу жмем [Download]. Лучше выбирать файлы с большим количеством источников — больше 10 это уже много!

Раньше советовали открывать для eMule порты, чтобы не получить LowID при подключении к серверу. Сейчас это не обязательно и затруднительно — интернет провайдеры(МТС, Мегафон и др) решили что проброс портов это отдельная услуга и надо покупать статический IP — лет 10 назад это не было особой услугой.

Скачка, если источников много, начинается через пару минут и на большой скорости

После скачки надо убрать файл из папки ./.aMule/Incoming или можно его там оставить, тогда вы станете еще одним источником для скачки!

Если вам повезло найти, что-то редкое, старое и с одним источником — то ждите скачивания месяцами, благо Raspberry Pi много электричества и места не занимает! И не факт что скачаете, все зависит от источника

Если не нужно чтобы amule стартовал на загрузке это можно отключить
sudo systemctl disable amule-daemon

Для запуска вручную, под пользователем amule, надо указывать папку с amule — можно её положить куда угодно, главное указать
sudo su -m amule -c '/usr/bin/amuled onestart -f --config-dir=/mnt/usb/.aMule/' > /dev/null 2

UPD: Веб интрефейс amule будет сам по себе отрубаться!
Я это исправил простым следящим скриптом

делам
vi /home/pi/checka.sh
с текстом

#!/bin/bash
if  /usr/bin/pgrep amuleweb 
then
echo "it works"
else
sudo /usr/bin/pgrep amuled | sudo /usr/bin/xargs kill
sleep 60
sudo su -m amule -c '/usr/bin/amuled onestart -f --config-dir=/mnt/usb/.aMule/' > /dev/null 2
fi

И запускаем его каждые 5 минут
в
sudo crontab -e
добавляем строку

*/5 * * * * sh /home/pi/checka.sh

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *