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

  • 8 months later...

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...