[Voxel] Настройка Netgear Nighthawk X10 (R9000) в качестве сервера TorrServe

Обсуждаем OpenSource прошивки.
eucrariano
Сообщения: 5
Зарегистрирован: 05 янв 2021, 22:51

Сообщение eucrariano » 07 янв 2021, 22:58

Здравствуйте!

Являюсь счастливым обладателем Netgear Nighthawk X10 (R9000). Брал б/у из США, сразу перепрошил на Voxel V1.0.4.45.2HF.
Все работает замечательно. Захожу как через вебинтерфейс, так и через WinSCP + PUTTY. SSH доступ настроил по инструкции с сайта ув. Voxel'я.

В доме несколько устройств, в т.ч. тв приставки. Торренты работают на них даже если сервер на них же и установить, хота на одной (XGIMI X2) с лагами.
Поэтому, что-то дернуло меня запустить все-таки сервер TorrServe на роутере, тем более он такой мощный. И тут началось...
Не нашел я, как установить все это действо именно на мою модель роутера. Но за мотивами 3 источников
https://4pda.ru/forum/index.php?showtop ... ry89668733
https://4pda.ru/forum/index.php?showtop ... ry90287252
https://4pda.ru/forum/index.php?showtop ... ry96584735
я слепил своего франкенштейна. Процесс описал ниже: все как бы работает, но это весьма костыльно, чувствую.

Вопросов по ходу дела 2:
1. Как все это сделать ПРАВИЛЬНО с методической точки зрения и потрувейнее?
2. Какие параметры выставить для TorrServe на роутере, поскольку торренты выше 10 гиг лагают, притом, что если сервер на приставках при тех же установках (исходные, по умолчанию), то 70-гиговые торенты "заходят" без лагов (проверено на Nvidia Shield 2017 и Beelink GT King 2020).

ПРОЦЕСС:
Качал сервер отсюда https://github.com/YouROK/TorrServer/re ... tag/1.1.77 , а именно командой
wget -O /sbin/torrserver https://github.com/YouROK/TorrServer/re ... inux-arm7; \
Права на исполнение:
chmod +x /sbin/torrserver

Создал скрипт /etc/init.d/S55torrserver_ . Содержимое:
#!/bin/sh

ENABLED=yes
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PROCS=torrserver
/sbin/torrserver -p 8090

exit 0

Задал права на исполнение:
chmod +x /etc/init.d/S55torrserver_

Вписал строчку автозапуска в /etc/rc.local
/etc/init.d/S55torrserver_

Для автоматического перезапуска, на случай падения процесса, добавил в Cron строку, точнее в файл /etc/crontabs/root
* * * * * pidof torrserver || /etc/init.d/S55torrserver_ start

Данная конфигурация работает, но кое-как, с лагами.
Спасибо за внимание и Ваши ответы!
Последний раз редактировалось eucrariano 09 янв 2021, 17:16, всего редактировалось 1 раз.

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1912
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 08 янв 2021, 02:10

А есть ли смысл ставить TorrServer на устройство с 0.5ГБ ram? Не меньше 2ГБ нужно для нормальной работы. Я поставил на НАС с интеловским процом и большой памятью - в этом смысл есть.....

eucrariano
Сообщения: 5
Зарегистрирован: 05 янв 2021, 22:51

Сообщение eucrariano » 08 янв 2021, 02:56

Извините, но там 512 Мбайт NAND і 1 Гбайт оперативки DDR3. Подумалось, что должно хватать.

Voxel
Сообщения: 161
Зарегистрирован: 29 фев 2016, 13:34

Сообщение Voxel » 08 янв 2021, 23:37

R9000 - железка довольно мощная. У нее НАС-овский 4-х ядерный процессор Cortex-A15? 1.7GHz. И гиг памяти, это да.

Честно говоря, не могу сказать про такие штуки, как TorrServe. Не пользовал. Я понял, что там Go, можно, конечно, пересобрать конкретно для R9000, как я собираю DNSCrypt Proxy v2. Чуть побыстрее м.б. Я DNSCrypt собираю с CGO. И, кстати, WireGuargGo для R7800 так же.

Что не совсем гламурно, почему прошивка V1.0.4.45.2HF, а не, скажем, последняя V1.0.4.46HF?

Далее, инит скрипт. Тут схема OpenWRT. Пишется скрипт в /etc/init.d типа с именем torrserver_

В нем что-то типа

Код: Выделить всё

#!/bin/sh /etc/rc.common

START=55
STOP=10

start() {
 . . .
}

stop() {
 . . .
}


Ну а потом, команда

Код: Выделить всё

chmod +x //etc/init.d/torrserver_
/etc/init.d/torrserver_ enable


Ну и все в /etc/rc.d на автомате создается (S55torrserver_ и K10torrserver_). Это более, ну как бы, правильно, общепринято

И, для информации,
eucrariano писал(а):Источник цитаты добавил в Cron строку, точнее в файл /etc/crontabs/root


Это: /etc/crontabs - в RAM. Не сохранится после перезапуска.

А так, пишите, что из этого выходит, интересно...

Voxel.

eucrariano
Сообщения: 5
Зарегистрирован: 05 янв 2021, 22:51

Сообщение eucrariano » 09 янв 2021, 00:13

Спасибо за Ваш ответ! Сделаю по Вашим рекомендациям.
Я плотно в свое время пользовался Debian еще Lenny, потом Squeeze и Wheezy, которые были основными системами, Jessie и последующие были в есть в виртуалбоксе. Не скажу, что я особо продвинутый пользователь, но было время, даже ядро пересобирал под свои задачи... Поэтому я могу заставить систему делать то, что надо, но при этом понимаю костыльность принятых решений, как в данном случае :)

По прошивке: прошивал V1.0.4.45.2HF в момент, когда она была последней. Сейчас вижу, что есть новая, но боюсь момента, когда все надо перенастраивать.
У меня есть еще роутер Linksys EA8500, там чистая OpenWRT стоит. Года полтора назад залил туда версию 18.хх, а в этом году уже 19.07, так при переходе все конфиги слетели (там правда 2 партиции, и каждое обновление ставится в следующую, оставляя рабочей предыдущую). Я, конечно, храню их отдельно и восстановил настройки без особых проблем, но пакеты дополнительные все пришлось руками доустанавливать. Именно поэтому момент перехода с чего-то работающего на новую версию меня немного страшит.
Если на Вашей прошивке можно обновиться без таких проблем, я буду благодарен, если подскажете как.
Пока спасибо, задам вопрос по настройкам TorrServe в тему на 4pda, если получу работающий конфиг, выложу здесь, может кому пригодится.
Спасибо.

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1912
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 09 янв 2021, 01:12

eucrariano, TorrServe - это андроид программа. TorrServer - сервер, который Вы устанавливаете. Посмотрите настройки для Amazon Fire Stick (есть тема 4pda) - у него 1.5 гига памяти, там бывают проблемы, но часть памяти занята программами и системой, поэтому ситуация похожая.

eucrariano
Сообщения: 5
Зарегистрирован: 05 янв 2021, 22:51

Сообщение eucrariano » 09 янв 2021, 01:35

Zyxmon, спасибо, обязательно гляну и отпишусь.

Voxel
Сообщения: 161
Зарегистрирован: 29 фев 2016, 13:34

Сообщение Voxel » 09 янв 2021, 12:11

eucrariano писал(а):Источник цитаты но при этом понимаю костыльность принятых решений, как в данном случае

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

Конфиг не должен слетать при переходе на новую прошивку. Вот изменения ручками, то есть то, что идет в оверлей, они исчезнут. Я храню бэкап в tar-е на USB флэшке. Все ваши изменения видны, если, скажем, пройтись с WinSCP по директории "/overlay". Там есть и системные изменения, вроде "/overlay/lib/QCA9984", но свои легко найти. Восстановление из бэкапа легко автоматизировать с помощью post-mount.sh. Типа, если нет файла /root/authorized_keys то распаковываем backup.tar с USB. То есть будет восстановлено после перехода на новую прошивку.

Voxel.

eucrariano
Сообщения: 5
Зарегистрирован: 05 янв 2021, 22:51

Сообщение eucrariano » 09 янв 2021, 19:44

Voxel писал(а):Источник цитаты Конфиг не должен слетать при переходе на новую прошивку

Вы правы, не слетело ничего из базового, обновился сегодня до актуальной версии. Единственное, нужно было восстановить доступ по ssh генерацией новых ключей. Так должно быть?

Переписал инструкцию в части по созданию и инициализации скрипта «по правилам» true way. Итак:
1. Создаем файл скрипта

Код: Выделить всё

touch /etc/init.d/S55torrserver_

2. Редактируем его. Я работаю через WinSCP (можно и через vi, по желанию), по нажатию F4 запускаем редактирование файла. Содержимое:

Код: Выделить всё

#!/bin/sh /etc/rc.common

START=10 
STOP=15

start() {        
        #echo start
        # commands to launch application
	/sbin/torrserver -p 8090 -d /etc/config/
}                 

stop() {          
        #echo stop
        # commands to kill application 
	/sbin/torrserver --kill
	#or killall torrserver
}

#exit 0

3. Задаем права на исполнение:

Код: Выделить всё

chmod +x /etc/init.d/S55torrserver_

4. Включаем скрипт:

Код: Выделить всё

/etc/init.d/S55torrserver_ enable

5. Проверяем наличие символических ссылок на скрипт в /etc/rc.d/

Код: Выделить всё

ls -lh /etc/rc.d | grep S55torrserver

6. Убеждаемся, что сценарий init включен:

Код: Выделить всё

/etc/init.d/S55torrserver_ enabled && echo scenario_torrserver_on

7. Для автоматического перезапуска, на случай падения процесса, добавил в конце файла /etc/init.d/cron строку, которая «передергивает» процесс torrserver’а каждую минуту:

Код: Выделить всё

* * * * * pidof torrserver || /etc/init.d/S55torrserver_ start

8. Перезапускаем cron, чтобы работа сервера отслеживалась на автомате:

Код: Выделить всё

/etc/init.d/cron reload

9. Пользуемся

С параметрами самого torrserver'а еще "играюсь". Свободной памяти без запущенного сервера около 800 мегабайт из гигабайта.
Достоверно установил, что отключение UTP немного помогает. Остальные параметры пока исследую.

Voxel
Сообщения: 161
Зарегистрирован: 29 фев 2016, 13:34

Сообщение Voxel » 09 янв 2021, 23:55

eucrariano писал(а):Источник цитаты Единственное, нужно было восстановить доступ по ssh генерацией новых ключей. Так должно быть?

Ну да, я и говорил про /overlay - там всё видно, что сохранять и восстанавливать. Включая "/root/.ssh/".

eucrariano писал(а):Источник цитаты /etc/init.d/S55torrserver_ enable

Я что-то имел в виду типа не указывать приоритет в имени файла. Ну я бы просто назвал этот файл как /etc/init.d/torrserver без ''55" и подчеркиваний. Это необязательно, но как перфекционизм...

После этого если выполнить:

/etc/init.d/torrserver enable


и после этого всё в /etc/rc.d создаётся автоматически, учитывая содержимое, такое как "START=#" и "STOP=#" в скрипте инита. В вашем случае это будет /etc/rc.d/S10torrserver_ и /etc/rc.d/K15/torrserver_.

Это типа, как оно бы "правильнее". Ну это моё видение как бы я делал. А так всё "perfecto". Go ahead.

Voxel.


Вернуться в «Прошивки OpenWrt/DD-WRT/AsusWrt/TomatoUSB/Wive-NG/Padavan/"от Энтузиастов "»

Кто сейчас на конференции

Всего 2 посетителя :: 1 зарегистрированный, 0 скрытых и 1 гость (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (162) здесь было 16 ноя 2019, 18:33

Сейчас этот форум просматривают: CommonCrawl [Bot] и 1 гость