{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Skurudo Blog(post): заметки с тегом Telegram",
    "_rss_description": "Telegram (от др.-греч. τῆλε — далеко и γράμμα — запись) — кроссплатформенный мессенджер. Основан в 2013 году Павлом и Николаем Дуровыми",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/www.skurudo.ru\/tags\/telegram\/",
    "feed_url": "https:\/\/www.skurudo.ru\/tags\/telegram\/json\/",
    "icon": "https:\/\/www.skurudo.ru\/pictures\/userpic\/userpic@2x.jpg?1691593083",
    "authors": [
        {
            "name": "Pavel Galkin",
            "url": "https:\/\/www.skurudo.ru\/",
            "avatar": "https:\/\/www.skurudo.ru\/pictures\/userpic\/userpic@2x.jpg?1691593083"
        }
    ],
    "items": [
        {
            "id": "264",
            "url": "https:\/\/www.skurudo.ru\/all\/notifications-about-problems-in-oxidized\/",
            "title": "Уведомления о проблемах в Oxidized",
            "content_html": "<p>Разбор не сильно освещенных мест в довольно популярных продуктах несет с собой некоторое количество боли. Разработчики пишут документацию, считая некоторые вещи очевидными, но так бывает довольно не всегда и примеров с конфигурациями частенько бывает не хватает. В случае же с блогерами все тоже довольно грустно. Обзоры похожи один на другой и никто не старается копнуть вглубь и предложить что-то интересное или необычное.<\/p>\n<p>Например есть довольно зрелый продукт для резервного копирования конфигурация — Oxidized. Разработка пришла на смену RANCID и заменила его чуть более чем полностью. В нем исторически есть набор фич, но развитие за годы замедлилось. Работает ведь отлично, зачем ломать? Но есть задачи немного в сторону.<\/p>\n<p>В Oxidized нет возможности из коробки направить уведомлении об успешном или наоборот — не очень успешном процессе резервирования. Для этого можно использовать так называемые хуки. И вроде hook не слишком сложный, но важно помнить, что важен формат — yaml.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">hooks:\r\n  failed:\r\n    type: exec\r\n    events: [node_fail]\r\n    cmd: &#039;echo &quot;$OX_NODE_NAME,$OX_NODE_IP,$OX_JOB_STATUS&quot; &gt;&gt; \/home\/oxidized\/.config\/oxidized\/ox_node_failed.log&#039;<\/code><\/pre><p>На выходе мы получаем текстовый файл в формате csv и сможем еще уже отправить дальше. Например в телеграм путем не очень хитрых манипуляций:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">#!\/bin\/bash\r\n\r\n# Set the API token and chat ID - обозначаем токен и id чата\r\nAPI_TOKEN=&quot;token&quot;\r\nCHAT_ID=&quot;chat-id&quot;\r\n\r\n# Parse file with error - объявляем путь к файлу\r\nFILE=\/opt\/oxidized\/ox_node_failed.log\r\n\r\n# Checking if file is empty or not - проверяем, пустой ли файл\r\nif [ -s $FILE ]\r\nthen\r\n     echo &quot;File is not empty, do the JOB&quot;\r\n\r\n       # Read file, prepare messade and send to Telegram - читаем файл, готовим сообщение и отправляем\r\n        while IFS=, read -r col1 col2 col3\r\n        do\r\n            MESSAGE=(&quot;&lt;b&gt;ERROR DETECTED&lt;\/b&gt; while backup on device $col1 with IP: $col2 reason: &lt;b&gt;$col3&lt;\/b&gt;. Check &lt;a href=\\&quot;http:\/\/oxidized.url\\&quot;&gt;Oxidized&lt;\/a&gt;!&quot;);\r\n            echo $MESSAGE\r\n\r\n        # Use the curl command to send the message - отправляем сообщение\r\n        curl -s -X POST https:\/\/api.telegram.org\/bot$API_TOKEN\/sendMessage -d parse_mode=&quot;html&quot; -d chat_id=$CHAT_ID -d text=&quot;$MESSAGE&quot;;\r\n\r\n        done &lt; $FILE\r\n      \r\n        # Clean file - очищаем файл, чтобы избежать повторной отправки\r\n        &gt;$FILE\r\n\r\nelse\r\n     echo &quot;File is empty, nothing to do&quot;\r\n     exit;\r\nfi<\/code><\/pre><p>Теперь и на <a href=\"https:\/\/github.com\/skurudo\/usefulbash\/blob\/main\/oxidized-check-file-and-send-notify.sh\">Github<\/a>! ^_^<\/p>\n",
            "date_published": "2024-11-27T09:07:35+03:00",
            "date_modified": "2024-11-27T09:15:50+03:00",
            "tags": [
                "Mikrotik",
                "Oxidized",
                "Telegram",
                "скрипт"
            ],
            "_date_published_rfc2822": "Wed, 27 Nov 2024 09:07:35 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "264",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "257",
            "url": "https:\/\/www.skurudo.ru\/all\/how-to-spend-some-time-and-overcome-anxiety\/",
            "title": "Как потратить немного времени и победить тревожность",
            "content_html": "<p>В небольшие промежутки времени между домашними и рабочими делами есть большое желание приобщиться к мировой мультипликации и посмотреть, какие новые и волшебные идеи приходят к нам из страны восходящего солнца. И как большинство длинных историй начинаются со слов «короче», здесь будет нечто подобное.<\/p>\n<p>Короче началось все с того, что любимый торрент трекер AnimeBytes снова по каким-то своим техническим проблемам слег и анонсов восстановления его не было. Пришлось какое-то продолжительное время использовать NyaaTorrents. Он менее удобен и проигрывает визуально, но прост и функционален. В момент использования стало понятно — есть проблема, которая касается и NyaaTorrents, и AnimeBytes. Для получения нужных нам материалов для проведения досуга нужно заходить, обновлять страничку, смотреть обновления, скачивать.<\/p>\n<p>ДОКОЛЕ?! Автоматизацию в массы!<\/p>\n<p>И вспомнилось мне, что еще со времен uTorrent была прекрасная возможность использовать RSS для получения о новых релизах и ссылки на сами торренты. Точно такая же фишка обнаружилась и в QBittorrent, идейном наследнике uTorrent. Таким образом мы делаем следующее — добавляем в наш торрент клиент RSS фид от торрент трекера и с помощью встроенных фильтров автоматически скачивает то, что нам нужно.<\/p>\n<p>Вот так выглядит список правил для зимнего сезона 2024 года + остатки 2023-ого:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/www.skurudo.ru\/pictures\/2024-02-26_005.png\" width=\"1054\" height=\"1083\" alt=\"\" \/>\n<\/div>\n<p>Сложности? Есть некоторые моменты, на которые стоит обратить внимание — разные названия в разных rss-фидах и релизах (нужно учесть варианты), а также имеет смысл фильтровать разрешения (т. е. скачивать релиз только 720р или только 1080р, чтобы несколько раз не скачивать одно и то же). Поскольку расписание на сезон более или менее фиксированное, в начале сезона составляем список и в течение этого времени оно работает автоматически, без нашего участия.<\/p>\n<p>И казалось бы, оно работает и чего еще желать? Неплохо бы все-таки знать, а что там нового реально скачалось? Кто-то же должен сказать: «Скачано, подано, давайте смотреть! Позязя!».<\/p>\n<p>По умолчанию QBittorrent дает возможность отправлять данные по электронной почте, уже даже с поддержкой SSL. Но использовать электронную почту в 2024 году для уведомлений? А почему бы не использовать телеграм сразу? Можно и его.<\/p>\n<p>Если бы мы сидели где-нибудь под линуксами, то у нас была бы возможность сразу использовать готовый скрипт — <a href=\"https:\/\/github.com\/rteixeirax\/qbittorrent_telegram_notification\">qbittorrent_telegram_notification<\/a>. Однако у нас Windows и нужно как-то выкручиваться по-другому. Под другим подразумевается использование Powershell для отправки сообщений.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/www.skurudo.ru\/pictures\/2024-02-27_006v2.png\" width=\"1277\" height=\"711\" alt=\"\" \/>\n<\/div>\n<p>В настройках QBittorrent нам нужно вызвать внешнюю программу после завершения скачивания: <i>«powershell.exe -File C:\\cmd\\qbittorrent-alert.ps1 „%N“»<\/i>. Встроенный в Windows Powershell вызывает наш скрипт с параметрами. Не стоит забывать про Powershell Policy, обычно по умолчанию выполнение скриптов запрещено — нужно будет разрешить: <i>Set-Executionpolicy -Scope CurrentUser -ExecutionPolicy UnRestricted<\/i><\/p>\n<p>Сам скрипт распространяется свободно и доступен в Github — <a href=\"https:\/\/github.com\/skurudo\/poshpower\/tree\/main?tab=readme-ov-file#telegram-notification-template-with-qbittorrent\">Telegram notification template with Qbittorrent<\/a>. Для работы достаточно указать токен телеграм бота и идентификатор чата, куда будут отправляться сообщения.<\/p>\n<p>По итогу наших стараний получаем приватную «уведомлялку» о новинках.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"855\" data-ratio=\"0.62408759124088\">\n<img src=\"https:\/\/www.skurudo.ru\/pictures\/2024-02-27_007.png\" width=\"855\" height=\"1370\" alt=\"\" \/>\n<img src=\"https:\/\/www.skurudo.ru\/pictures\/2024-02-27_004.png\" width=\"379\" height=\"805\" alt=\"\" \/>\n<\/div>\n<\/div>\n",
            "date_published": "2024-02-27T13:16:06+03:00",
            "date_modified": "2025-05-27T11:51:55+03:00",
            "tags": [
                "Microsoft",
                "Powershell",
                "Telegram",
                "скрипт",
                "торрент"
            ],
            "image": "https:\/\/www.skurudo.ru\/pictures\/2024-02-27_006.png",
            "_date_published_rfc2822": "Tue, 27 Feb 2024 13:16:06 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "257",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "system\/library\/jquery\/jquery.js",
                    "system\/library\/fotorama\/fotorama.css",
                    "system\/library\/fotorama\/fotorama.js"
                ],
                "og_images": [
                    "https:\/\/www.skurudo.ru\/pictures\/2024-02-27_006.png",
                    "https:\/\/www.skurudo.ru\/pictures\/2024-02-26_005.png",
                    "https:\/\/www.skurudo.ru\/pictures\/2024-02-27_006v2.png",
                    "https:\/\/www.skurudo.ru\/pictures\/2024-02-27_007.png",
                    "https:\/\/www.skurudo.ru\/pictures\/2024-02-27_004.png"
                ]
            }
        }
    ],
    "_e2_version": 4116,
    "_e2_ua_string": "Aegea 11.2 (v4116)"
}