Установка и настройка OctoPrint-Telegram для работы через SOCKS

После введения РКН ограничения на использовании сервиса Telegram на территории РФ, с работой плагина OctoPrint-Telegram возникли проблемы.
Восстановить работоспособность возможно используя VPN или SOCKS proxy, о последнем и пойдет речь.
В штатной поставке плагина такой возможности нет, но есть commit, который добавляет эту возможность. К сожалению для текущей версии (1.5.0) он не актуален и его применение ведет к потере работоспособности плагина.
Ниже мы это исправим. В качестве OS у меня Debian, OctoPrint установлен в ~/OctoPrint /venv.

Регистрируем нового бота и получаем token.

Перед установкой плагина необходимо разрешить следующие зависимости

apt-get install zlib1g-dev libjpeg-dev
~/OctoPrint/venv/bin/pip install requests[socks]

После чего устанавливаем OctoPrint-Telegram, через менеджер плагинов.

Скачиваем пропатченый __init__.py

wget https://pastebin.com/raw/PkeYC771 -O ~/OctoPrint/venv/lib/python2.7/site-packages/octoprint_telegram/__init__.py

Создаем резервную копия конфига настроек.

cp ~/.octoprint/{config.yaml,config.yaml.old}

В интернете находим сервисы, которые предоставляют услуги SOCKS Proxy и заполняем соответствующие поля в config.yaml

vim ~/.octoprint/config.yaml

http_proxy: socks5h://<USER>:<PASS>@<HOST>:<PORT>
https_proxy: socks5h://<USER>:<PASS>@<HOST>:<PORT>
В результате должно получится так.
  telegram:
    _config_version: 4
    http_proxy: socks5h://<USER>:<PASS>@<HOST>:<PORT>
    https_proxy: socks5h://<USER>:<PASS>@<HOST>:<PORT>
    messages:

После чего перезапускам сервис OctoPrint и наслаждаемся возможностью управления принтером из “Телеги”.

2 Симпатий