Jump to content

Monitorrent на Keenetic


Recommended Posts

Monitorrent это кросплатформенное веб приложение для автоматического скачивания торрент файлов и последующей их загрузки с помощью выбранного вами торрент клиента.

Устанавливаем необходимый набор пакетов

opkg install python3 python3-pip wget unzip
pip3 install --upgrade setuptools

Устанавливаем monitorrent

mkdir -p /opt/monitorrent/
cd /opt/monitorrent/
wget https://github.com/werwolfby/monitorrent/releases/download/1.1.11/monitorrent-1.1.11.zip
unzip monitorrent-1.1.11.zip
pip3 install -r requirements.txt

Создаем скрипт запуска nano /opt/etc/init.d/S95tormon

#!/bin/sh
cd /opt/monitorrent
python3 server.py &

Делаем его исполняемым chmod +x /opt/etc/init.d/S95tormon

Запускаем сервер приложения monitorrent

cd /opt/monitorrent/
python3 server.py &

Обязательно дожидаемся сообщения Server started on 0.0.0.0:6687  

Переходим в браузере по адресу  IPРоутера:6687, появится страница входа (пароль на вход - monitorrent).

1909970676_.thumb.PNG.d7f9e52743514f193b075a40cef30a96.PNG

  • Thanks 1
Link to comment
Share on other sites

  • 2 weeks later...

Прокси сервер надо в настройках указывать через который авторизация пойдет. В России сейчас практически все  торрент трекеры крупные заблокированы. 

Link to comment
Share on other sites

  • 2 months later...
  • 1 year later...

Пытался. Даже питон 3й подчистую сдуру снёс) Как я понимаю теперь, достаточно было даунгрейдить pip3  до версии <58. Теперь и питон как-то криво стоит. При запуске команды pip3 install -r requirements.txt или pip3 install <имя модуля> выдаёт одну и ту же ошибку:

Скрытый текст

Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Traceback (most recent call last):
  File "/opt/bin/pip3", line 3, in <module>
    import re
ModuleNotFoundError: No module named 're'
/opt/monitorrent # pip3 install -r re
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Traceback (most recent call last):
  File "/opt/bin/pip3", line 3, in <module>
    import re
ModuleNotFoundError: No module named 're'
 

 

Link to comment
Share on other sites

Это на крайний случай, когда совсем помрёт. Тем более на 3.7.1 какие-то проблемы с установкой, не вникал пока.

По ответам в инете это проблемы с переменными окружения в питоне и отсутствие некоторых линков. Пока поразбираюсь. Очень уж переставлять неохота...

Link to comment
Share on other sites

Поставил Entware с нуля на другую флешку. Установил monitorrent. Не работает. Куча ошибок.

Скрытый текст

 File "/opt/monitorrent/server.py", line 19, in <module>
    from monitorrent.rest.notifiers import NotifierCollection, Notifier, NotifierCheck, NotifierEnabled
  File "/opt/monitorrent/monitorrent/rest/__init__.py", line 6, in <module>
    import falcon
  File "/opt/lib/python3.10/site-packages/falcon/__init__.py", line 30, in <module>
    from falcon.api import API  # NOQA
  File "/opt/lib/python3.10/site-packages/falcon/api.py", line 21, in <module>
    from falcon import api_helpers as helpers, DEFAULT_MEDIA_TYPE, routing
  File "/opt/lib/python3.10/site-packages/falcon/api_helpers.py", line 21, in <module>
    from falcon import util
  File "/opt/lib/python3.10/site-packages/falcon/util/__init__.py", line 29, in <module>
    from falcon.util import structures
  File "/opt/lib/python3.10/site-packages/falcon/util/structures.py", line 35, in <module>
    class CaseInsensitiveDict(collections.MutableMapping):  # pragma: no cover
AttributeError: module 'collections' has no attribute 'MutableMapping'
 

 

Link to comment
Share on other sites

Поменял collections на collections.abc во всех пакетах, выдающих ошибку при запуске. Вроде запустился. Осталось одно предупреждение:

Скрытый текст

/opt/lib/python3.10/site-packages/alembic/util/messaging.py:73: UserWarning: 'connection' argument to configure() is expected to be a sqlalchemy.engine.Connection instance, got <sqlalchemy.orm.session.ContextSession object at 0x23faaa0>
  warnings.warn(msg)
 

С ним что делать? Игнорировать?? 

Link to comment
Share on other sites

Итог - работает. Правки надо вносить в 5 файлов:

"/opt/lib/python3.10/site-packages/falcon/util/structures.py"
"/opt/lib/python3.10/site-packages/attrdict/mapping.py"
"/opt/lib/python3.10/site-packages/attrdict/mixins.py"
"/opt/lib/python3.10/site-packages/attrdict/merge.py"
"/opt/lib/python3.10/site-packages/attrdict/default.py"

 

Link to comment
Share on other sites

у меня после правки файлов не взлетело. Пишет 404-ю ошибку.

И еще после ^C выдает кучу ошибок..

[/share/Qweb/monitorrent] # python server.py
/opt/lib/python3.10/site-packages/alembic/util/messaging.py:73: UserWarning: 'connection' argument to configure() is expected to be a sqlalchemy.engine.Connection instance, got <sqlalchemy.orm.session.ContextSession object at 0x36126e0>
  warnings.warn(msg)
Server started on 0.0.0.0:6687
^CStopping engine
Stopping new_version_checker
Traceback (most recent call last):
  File "/share/HDA_DATA/Qweb/monitorrent/server.py", line 192, in main
    server.start()
  File "/opt/lib/python3.10/site-packages/cheroot/server.py", line 1777, in start
    self.serve()
  File "/opt/lib/python3.10/site-packages/cheroot/server.py", line 1753, in serve
    self.tick()
  File "/opt/lib/python3.10/site-packages/cheroot/server.py", line 1943, in tick
    s, addr = self.socket.accept()
  File "/opt/lib/python3.10/socket.py", line 293, in accept
KeyboardInterrupt

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/share/HDA_DATA/Qweb/monitorrent/server.py", line 203, in <module>
    main()
  File "/share/HDA_DATA/Qweb/monitorrent/server.py", line 198, in main
    server.stop()
  File "/opt/lib/python3.10/site-packages/cheroot/server.py", line 2087, in stop
    self.requests.stop(self.shutdown_timeout)
  File "/opt/lib/python3.10/site-packages/cheroot/workers/threadpool.py", line 242, in stop
    if worker is not current and worker.isAlive():
AttributeError: 'WorkerThread' object has no attribute 'isAlive'. Did you mean: 'is_alive'?

P.S. У меня не на кинетике, на QNAP..

Link to comment
Share on other sites

Судя по записи 

Server started on 0.0.0.0:6687

он запускается. Не надо нажимать ^C, достаточно Enter

По предыдущим опытам установки составил себе немного другую инструкцию, которую перепроверил на днях. Установка удачно проходит, кроме новых косяков Питона 3.10. Список изменений и дополнений.

Необходимые пакеты:

opkg install python3-base python3 python3-pip gcc make patch coreutils-install wget-nossl unzip dos2unix --force-depends

Для Питона:

pip3 install –upgrade "setuptools<58" - в более новых другие косяки лезут
pip3 install --upgrade pip
pip3 install wheel pyparsing 

Обязательно преобразовать файлы дистрибутива в Unix кодировку:

find /opt/monitorrent -depth -type f -name "*.py" -exec dos2unix -u {} \;
 

Скрипт запуска (/opt/etc/init.d/S95tormon) сделал из шаблона, чтобы параметры свои передавать:

Скрытый текст

#!/bin/sh

ENABLED=yes
PROCS=python3
ARGS="/opt/monitorrent/server.py --db-path /opt/monitorrent/monitorrent.db"
PREARGS=""
DESC=$PROCS
PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

. /opt/etc/init.d/rc.func

Запуск командой:

sh /opt/etc/init.d/S95tormon start

 

Edited by Mr.Scayger
Link to comment
Share on other sites

С этим XML-файлом не связана ни одна таблица стилей. Ниже показано дерево элементов.
<error>
<description>Requested page not found</description>
</error>

Картина поменялась, но не сильно.. )))

Спасибо, еще поковыряюсь..

Link to comment
Share on other sites

  • 1 month later...

Я бы еще добавил к инструкции

opkg install python3-dev

Иначе при установке на компиляции пакета brotli вылетает с ошибкой из-за отсутcтвующего файла Python.h

Link to comment
Share on other sites

1 час назад, altJSV сказал:

Я бы еще добавил к инструкции

А я бы порекомендовал почитать инструкцию, перед тем, как давать советы.

Link to comment
Share on other sites

19 часов назад, zyxmon сказал:

А я бы порекомендовал почитать инструкцию, перед тем, как давать советы

И к чему это? С переходом на Python 3.10 сломалось все. Необходимые правки для запуска и актуальная инструкция написаны несколькими постами выше. Но вот только после выполнения команды

pip3 install -r requirements.txt

Для установки всех недостающих пакетов для успешного запуска, установка крашится на компиляции пакета brotli. Ему тупо не хватает файла Python.h входящего в пакет python3-dev. В репозитории Entware я пакета python-brotli, что-то не наблюдаю, хотя он присутствует практически во всех других популярных репозиториях типа того же debian. Так что остается качать через pip и собирать прямо на роутере.

И в чем я не прав и к чему эти отсылки к чтению инструкции?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...