[GH-ISSUE #256] Настройка socks в telegram оповещении #193

Open
opened 2026-10-13 19:51:13 +00:00 by bsakaguchi · 6 comments
Owner

Originally created by @greatbao on GitHub (Apr 17, 2018).
Original GitHub issue: https://github.com/werwolfby/monitorrent/issues/256

Прошу реализовать в настройках способах оповещения через Telegram возможность использовать socks в связи с блокировкой данного месенджера в России

Originally created by @greatbao on GitHub (Apr 17, 2018). Original GitHub issue: https://github.com/werwolfby/monitorrent/issues/256 Прошу реализовать в настройках способах оповещения через Telegram возможность использовать socks в связи с блокировкой данного месенджера в России
Author
Owner

@korableff commented on GitHub (Apr 20, 2018):

да, было бы очень круто.
Я пока обошелся тем что поднял локальный polipo прокси через тор (все равно крутился для чека лостфильма) и дописал в плагине жестко прокси,
в файле monitorrent/plugins/notifiers/telegram.py перед вызовом request = requests.post(api_url, data=parameters... добавляем массив с прокси и его передаем в запрос, в итоге он превращается в такую конструкцию -
http_proxy = "http://127.0.0.1:8123"
https_proxy = "https://127.0.0.1:8123"
proxyArr = {
"http" : http_proxy,
"https" : https_proxy
}
request = requests.post(api_url, data=parameters, proxies=proxyArr)

Сорян за быдлокод если что.

<!-- gh-comment-id:383211005 --> @korableff commented on GitHub (Apr 20, 2018): да, было бы очень круто. Я пока обошелся тем что поднял локальный polipo прокси через тор (все равно крутился для чека лостфильма) и дописал в плагине жестко прокси, в файле monitorrent/plugins/notifiers/telegram.py перед вызовом request = requests.post(api_url, data=parameters... добавляем массив с прокси и его передаем в запрос, в итоге он превращается в такую конструкцию - http_proxy = "http://127.0.0.1:8123" https_proxy = "https://127.0.0.1:8123" proxyArr = { "http" : http_proxy, "https" : https_proxy } request = requests.post(api_url, data=parameters, proxies=proxyArr) Сорян за быдлокод если что.
Author
Owner

@degorychev commented on GitHub (Apr 21, 2018):

Решил проблему арендовав VPS на GDCcloud. Поднял там докер, разместил контейнер.
Аналогично моей инструкцией в решении проблемы #247 (Я использую докер-контейнер monitorrent) исправил файл monitorrent/plugins/notifiers/telegram.py как описал @korableff выше (Если кому лень искать - в районе 119 строки).
После перезапуска работа уведомлений восстановилась.

<!-- gh-comment-id:383312972 --> @degorychev commented on GitHub (Apr 21, 2018): Решил проблему арендовав VPS на GDCcloud. Поднял там докер, разместил [контейнер](https://hub.docker.com/r/vimagick/polipo/). Аналогично моей инструкцией в решении проблемы #247 (Я использую докер-контейнер monitorrent) исправил файл monitorrent/plugins/notifiers/telegram.py как описал @korableff выше (Если кому лень искать - в районе 119 строки). После перезапуска работа уведомлений восстановилась.
Author
Owner

@kolayuk commented on GitHub (Apr 29, 2018):

@werwolfby @korableff а можно попросить заимплеменить фичу? Думаю что можно те же прокси из настроек юзать для нотификейшнов. А то каждый раз патчить докер-контейнер после выключения электричества грустновато

<!-- gh-comment-id:385241334 --> @kolayuk commented on GitHub (Apr 29, 2018): @werwolfby @korableff а можно попросить заимплеменить фичу? Думаю что можно те же прокси из настроек юзать для нотификейшнов. А то каждый раз патчить докер-контейнер после выключения электричества грустновато
Author
Owner

@werwolfby commented on GitHub (Jul 29, 2018):

Вообще идея, думаю в ближайшие 2 недели будет время, я постараюсь глянуть

<!-- gh-comment-id:408710719 --> @werwolfby commented on GitHub (Jul 29, 2018): Вообще идея, думаю в ближайшие 2 недели будет время, я постараюсь глянуть
Author
Owner

@dvershinin commented on GitHub (Nov 14, 2019):

Кому интересно моё решение без поддержки Socks в самом мониторренте - можно легко включить поддержку, используя внешние Environment variables, например запуская monitorrent следующим образом:

https_proxy=socks5://127.0.0.1:8123 http_proxy=socks5://127.0.0.1:8123 /path/to/python server.py

Далее для систем с SystemD коих сейчас большинство, можно использовать их же в юнит файле:

# /etc/systemd/system/monitorrent.service
[Unit]
Description=monitorrent
After=multi-user.target

[Service]
User=danila
Environment=https_proxy=socks5://127.0.0.1:8123
Environment=http_proxy=socks5://127.0.0.1:8123
Type=simple
WorkingDirectory=/home/danila/Apps/monitorrent
ExecStart=/home/danila/Apps/monitorrent/bin/python server.py
StandardInput=tty-force

[Install]
WantedBy=multi-user.target

P.S. у меня monitorrent работает в virtualenv, а socks сервер стоит 127.0.0.1 на порту 8123 через autossh к удалённому серверу.

<!-- gh-comment-id:553995757 --> @dvershinin commented on GitHub (Nov 14, 2019): Кому интересно моё решение без поддержки Socks в самом мониторренте - можно легко включить поддержку, используя внешние Environment variables, например запуская monitorrent следующим образом: ``` https_proxy=socks5://127.0.0.1:8123 http_proxy=socks5://127.0.0.1:8123 /path/to/python server.py ``` Далее для систем с SystemD коих сейчас большинство, можно использовать их же в юнит файле: ``` # /etc/systemd/system/monitorrent.service [Unit] Description=monitorrent After=multi-user.target [Service] User=danila Environment=https_proxy=socks5://127.0.0.1:8123 Environment=http_proxy=socks5://127.0.0.1:8123 Type=simple WorkingDirectory=/home/danila/Apps/monitorrent ExecStart=/home/danila/Apps/monitorrent/bin/python server.py StandardInput=tty-force [Install] WantedBy=multi-user.target ``` P.S. у меня monitorrent работает в virtualenv, а socks сервер стоит 127.0.0.1 на порту 8123 через autossh к удалённому серверу.
Author
Owner

@werwolfby commented on GitHub (Nov 14, 2019):

Времени так и не появилось, так что не смотрел :(

<!-- gh-comment-id:554078753 --> @werwolfby commented on GitHub (Nov 14, 2019): Времени так и не появилось, так что не смотрел :(
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
werwolfby/monitorrent#193
No description provided.