{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Копытов Иван: заметки с тегом создание",
    "_rss_description": "Блог ленивого сисадмина",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/kini24.ru\/tags\/sozdanie\/",
    "feed_url": "https:\/\/kini24.ru\/tags\/sozdanie\/json\/",
    "icon": false,
    "authors": [
        {
            "name": "Копытов Иван",
            "url": "https:\/\/kini24.ru\/",
            "avatar": false
        }
    ],
    "items": [
        {
            "id": "255",
            "url": "https:\/\/kini24.ru\/all\/sozdanie-zerkala-nod32-na-synology\/",
            "title": "Создание зеркала Nod32 на Synology",
            "content_html": "<h2>Заметка на память<\/h2>\n<ol start=\"1\">\n<li>Распаковываем архив со скриптом в \/volume1\/web\/nod<\/li>\n<li>В Web Station создаем виртуальный хост с именем nod. Открываем порты 443 и 80.<\/li>\n<li>Корневым каталогом указываем \/web\/nod\/www<\/li>\n<li>В планировщике задач создаем новую с произвольным именем. В качестве команды для выполнения указываем<\/li>\n<\/ol>\n<pre class=\"e2-text-code\"><code class=\"\">\/usr\/local\/bin\/php74 -f \/volume1\/web\/nod\/update.php &amp;<\/code><\/pre><p>Пользователь root.<\/p>\n<ol start=\"5\">\n<li>Подключаемся к NAS по SSH, создаем файл \/etc\/nginx\/sites-enabled\/nod.conf:<\/li>\n<\/ol>\n<pre class=\"e2-text-code\"><code class=\"\">touch \/etc\/nginx\/sites-enabled\/nod.conf<\/code><\/pre><ol start=\"6\">\n<li>Открываем файл на редактирование:<\/li>\n<\/ol>\n<pre class=\"e2-text-code\"><code class=\"\">vi \/etc\/nginx\/sites-enabled\/nod.conf<\/code><\/pre><p>Для начала редактирования нужно нажать английскую клавишу «i». Затем вставляем из буфера обмена текст из пункта 7.<\/p>\n<ol start=\"7\">\n<li>Правим этот файл и приводим к виду:<\/li>\n<\/ol>\n<pre class=\"e2-text-code\"><code class=\"\">map $http_user_agent $ver {\n        &quot;~^.*(EEA|EES|EFSW)+\\s+Update.*BPC\\s+(\\d+)\\..*$&quot; &quot;ep$2&quot;;\n        &quot;~^.*Update.*BPC\\s+(\\d+)\\..*$&quot; &quot;v$1&quot;;\n}\n\nserver {\n                listen 80;\n                listen 2221;\n                server_name nod.home.mikhailov.by;\n\n                # Optional: Charset\n                charset utf-8;\n\n                # Path to the root of your installation\n                root \/volume1\/web\/nod\/www;\n\n                # Index file\n                index index.html;\n\n                # Доп. заголовки\n                add_header X-Robots-Tag &quot;noindex, nofollow, nosnippet, noarchive&quot;;\n                add_header Cache-Control &quot;no-cache, public, must-revalidate&quot;;\n\n                ################# Nginx Rewrite #################\n\n                location ~* \\.ver$ {\n                        auth_basic &quot;Restricted&quot;;\n                        auth_basic_user_file \/volume1\/web\/nod\/htpasswd;\n\n                        if ($ver ~ &quot;^ep[6-9]$&quot;) {\n                                rewrite ^\/(dll\/)?update.ver$ \/eset_upd\/$ver\/$1update.ver break;\n                        }\n\n                        if ($ver ~ &quot;^v(5|9)$&quot;) {\n                                rewrite ^(.*) \/eset_upd\/$ver\/update.ver break;\n                        }\n\n                        if ($ver ~ &quot;^v[3-8]$&quot;) {\n                                rewrite ^(.*) \/eset_upd\/v3\/update.ver break;\n                        }\n\n                        if ($ver ~ &quot;^v1[0-1]$&quot;) {\n                                rewrite ^(.*) \/eset_upd\/v10\/dll\/update.ver break;\n                        }\n                        if ($ver ~ &quot;^v1[2-9]$&quot;) {\n                                rewrite ^(.*) \/eset_upd\/$ver\/dll\/update.ver break;\n                        }\n                }\n\n                ################################################\n}<\/code><\/pre><ol start=\"8\">\n<li>Завершаем редактирование нажатием клавиши Esc. Затем нужно ввести двоеточие и следом за ним буквы wq. Внизу слева должно получиться следующее:<\/li>\n<\/ol>\n<pre class=\"e2-text-code\"><code class=\"\">:wq<\/code><\/pre><p>Теперь нажимаем Enter. Буква w означает запись, буква q — выход из программы. Если возникнут вопросы по редактору, гуглим vi.<\/p>\n<ol start=\"9\">\n<li>В папке \/volume1\/web\/nod создаем файл htpasswd.<\/li>\n<li>Добавляем в него пользователя:<\/li>\n<\/ol>\n<pre class=\"e2-text-code\"><code class=\"\">htpasswd -b \/volume1\/web\/nod\/htpasswd username password<\/code><\/pre><ol start=\"11\">\n<li>Перезапускаем nginx:<\/li>\n<\/ol>\n<pre class=\"e2-text-code\"><code class=\"\">nginx -s reload<\/code><\/pre><ol start=\"12\">\n<li>Проверяем доступность зеркала и запрос пароля<\/li>\n<\/ol>\n",
            "date_published": "2022-10-21T10:21:07+07:00",
            "date_modified": "2022-12-02T00:48:18+07:00",
            "tags": [
                "nas",
                "nginx",
                "nod32",
                "synology",
                "зеркало",
                "создание"
            ],
            "_date_published_rfc2822": "Fri, 21 Oct 2022 10:21:07 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "255",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "233",
            "url": "https:\/\/kini24.ru\/all\/vlazhnost-v-kvartire\/",
            "title": "Влажность в квартире",
            "content_html": "<p>Собрал мини-метеостанцию для зала (планирую установить подобные во все комнаты квартиры), подключил её к Domoticz. Получилось отлично — сама станция размером со спичечный коробок, нужно только подобрать ей корпус.<br \/>\nПоказания поначалу ввели в ступор: давление около 1000 и влажность около 20%. Залез в документацию, оказалось что давление датчик измеряет в гПа. Пришлось в прошивке ESP8266 создавать еще один виртуальный датчик и пересчитывать для него показания в мм ртутного столба. Всё таки в России используется такая единица измерений. А вот с влажностью непонятно до сих пор. Текущие показания — 17%, хотя норма составляет 40-50%. Поначалу думал, что что-то с датчиком. Распаковал новый, установил — картина не изменилась. Сейчас на работе вспомнил об этом, подключил AM2302 — тоже около 18%. Хоть на улицу выноси! Пришлось пойти на сайт <a href=\"https:\/\/narodmon.ru\">narodmon.ru<\/a>. Там картина поинтересней — показания колеблются от 14% до 24%. Хм, ладно, допустим, что все используют одно и то же оборудование. В таком случае нужно обратиться к более официальному источнику. Но «официалы» показали примерно ту же картину — от 20% до 30%.<br \/>\nВ общем, пока что можно успокоиться и провести несколько экспериментов по её повышению, вроде кипящего рядом чайника.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/kini24.ru\/pictures\/baro.jpg\" width=\"381\" height=\"133\" alt=\"Показания барометра\" \/>\n<div class=\"e2-text-caption\">Показания барометра<\/div>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/kini24.ru\/pictures\/pressure.jpg\" width=\"383\" height=\"131\" alt=\"Виртуальный датчик\" \/>\n<div class=\"e2-text-caption\">Виртуальный датчик<\/div>\n<\/div>\n",
            "date_published": "2019-04-23T12:45:58+07:00",
            "date_modified": "2019-04-23T12:50:56+07:00",
            "tags": [
                "esp8266",
                "espeasy",
                "влажность",
                "давление",
                "метеостанция",
                "создание",
                "умный дом",
                "эксперимент"
            ],
            "image": "https:\/\/kini24.ru\/pictures\/baro.jpg",
            "_date_published_rfc2822": "Tue, 23 Apr 2019 12:45:58 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "233",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/kini24.ru\/pictures\/baro.jpg",
                    "https:\/\/kini24.ru\/pictures\/pressure.jpg"
                ]
            }
        },
        {
            "id": "58",
            "url": "https:\/\/kini24.ru\/all\/sozdanie-bota-telegram\/",
            "title": "Создание бота Telegram",
            "content_html": "<p>Для чего мне это понадобилось? Как писал ранее, телефон не всегда почему-то проверяет почту, несмотря на заданный минимальный интервал проверки. Более удобным показалось использовать telegram для срочных оповещений. Задавшись этой целью, установил на сервер telegram-cli, который, как оказалось позднее, не понадобился. Снесу, однако :-)<br \/>\nДля начала создаем бота при помощи @BotFather. Задаем ему имя и описание. Я также задал и юзерпик для красоты. Открываем чат с этим ботом, набрав в браузере ссылку <a href=\"https:\/\/t.me\/\">https:\/\/t.me\/<\/a><имя_вашего_бота>. Затем нужно узнать ваш идентификатор. Для этого я воспользовался ботом @userinfobot, вы можете использовать другие методы. В принципе, вся нужная информация у нас есть.<br \/>\nСледующей задачей стала отправка сообщений из скрипта linux. Здесь нам поможет стандартный curl. После серии опытов обрисовалось примерно вот такое тело скрипта:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">ChatID=*****\nBotToken=******\nText=&quot;Hello, world!&quot;\n\ncurl -s -X POST &quot;https:\/\/api.telegram.org\/bot$BotToken\/sendMessage&quot; -F chat_id=&quot;$ChatID&quot; -F text=&quot;$Text&quot;<\/code><\/pre><p>Здесь ChatID, BotToken и Text — ваш идентификатор в telegram, токен бота, который вам выдали при его создании, и текст сообщения, соответственно. Хочу обратить внимание на то, что переменные в строке curl взяты в двойные кавычки. Это сделано для того, чтобы избежать утери части текста, если в нем присутствуют пробелы.<br \/>\nС текстом разобрались, остается отправка фотографии. Здесь все чуть-чуть сложней:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">curl -s -X POST &quot;https:\/\/api.telegram.org\/bot$BotToken\/sendPhoto&quot; -F chat_id=&quot;$ChatID&quot; -F photo=&quot;@$1&quot; -F caption=&quot;$Text&quot;<\/code><\/pre><p>Добавился еще один параметр <b>photo<\/b>, в который передается имя файла. Полный путь к файлу у меня передается самому скрипту, поэтому просто используем его. Также параметр <b>text<\/b> из предыдущего примера я заменил на необязательный <b>caption<\/b> — название фото.<br \/>\nНа текущий момент motion оповещает меня об обнаружении движения, чуть позже присылает фото и ссылку на файл с записью. В планах еще добавить обнаружение лиц на фото, чтобы было видно кто пришел или ушел. Следующим шагом может стать, например, автоматическое включение моего компьютера когда прихожу домой.<\/p>\n",
            "date_published": "2017-06-02T11:17:53+07:00",
            "date_modified": "2017-06-02T11:17:48+07:00",
            "tags": [
                "curl",
                "motion",
                "telegram",
                "бот",
                "отправка",
                "создание",
                "текст",
                "фото"
            ],
            "_date_published_rfc2822": "Fri, 02 Jun 2017 11:17:53 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "58",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        }
    ],
    "_e2_version": 4134,
    "_e2_ua_string": "Aegea 11.3 (v4134)"
}