{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Копытов Иван: заметки с тегом openwrt",
    "_rss_description": "Блог ленивого сисадмина",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/www.kini24.ru\/tags\/openwrt\/",
    "feed_url": "https:\/\/www.kini24.ru\/tags\/openwrt\/json\/",
    "icon": false,
    "authors": [
        {
            "name": "Копытов Иван",
            "url": "https:\/\/www.kini24.ru\/",
            "avatar": false
        }
    ],
    "items": [
        {
            "id": "259",
            "url": "https:\/\/www.kini24.ru\/all\/probros-portov-v-openwrt\/",
            "title": "Проброс портов в OpenWrt",
            "content_html": "<p>Мне никогда не нравилось, что в интерфейсе OpenWrt нельзя указать несколько портов при пробросе, можно указать только диапазон. А если мне нужно несколько, объединенных одним сервисом? Например, почта. Если указывать все порты, то получается, что на каждый из них нужно создавать свое правило. В итоге получается такая простыня правил, что ориентироваться в ней становится затруднительно.<br \/>\nПо сути, эта заметка — напоминание себе как нужно правильно прокинуть порты во внутреннюю сеть, используя iptables. И, заодно, там же сделаем так, чтобы из локальной сети можно было обращаться к своим серверам по доменному имени.<br \/>\nИдем  в раздел <i>Network<\/i> — <i>Firewall<\/i> и открываем вкладку <i>Custom rules<\/i>. Добавляем туда строку такого вида:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">iptables -t nat -A zone_wan_prerouting -p tcp -m multiport --dports 25,110,143,465,587,993,995,4190 -j DNAT --to-destination 192.168.1.100<\/code><\/pre><p>Здесь мы помещает в цепочку <i>zone_wan_prerouting<\/i> таблицы <i>nat<\/i> правило, указывающее, что сервисы, обращающиеся из внешней сети на перечисленные порты, должны перенаправляться на сервер с адресом 192.168.1.100. Параметр -р указывает протокол tcp, а параметр -m multiports позволяет указать не один порт, а несколько. Это правило позволит открыть порты для доступна извне, но при обращении к ним из локальной сети придется указывать «прямой» адрес 192.168.1.100. Если вписать свой внешний адрес (IP или DNS), то ничего не выйдет. Чтобы это стало возможным, нужно дописать еще две строки:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">iptables -t nat -A zone_lan_prerouting -d 95.170.188.45 -p tcp -m multiport --dports 25,110,143,465,587,993,995,4190 -j DNAT --to-destination 192.168.1.100\niptables -t nat -A zone_lan_postrouting -d 192.168.1.100 -p tcp -m multiport --dports 25,110,143,465,587,993,995,4190 -j MASQUERADE<\/code><\/pre><p>В первой строке мы говорим, что все обращения к внешнему адресу на указанные порты должны перенаправляться на локальный адрес 192.168.1.100. Во второй строке мы, если так можно выразиться, прячем, что обращаемся из локальной сети.<br \/>\nПосле нажатия кнопки <i>Save<\/i> содержимое поля <i>Custom Rules<\/i> будет сохранено на роутере в файле \/etc\/firewall.user. Для применения эти необходимо перезапустить файрволл:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/etc\/init.d\/firewall restart<\/code><\/pre><p>После этого почта станет доступной из внешней сети и из локальной, причем по доменному имени или внешнему IP-адресу.<\/p>\n<p><b>Обновление<\/b> Если оставить последнее правило в таком виде, то исходящий IP-адрес (адрес клиента) будет отображаться как адрес самого роутера в локальной сети: 192.168.1.1. Поэтому следует немного изменить правило, чтобы оно выглядело следующим образом:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">iptables -t nat -A zone_lan_postrouting -s 192.168.1.0\/24 -d 192.168.1.100 -p tcp -m multiport --dports 25,110,143,465,587,993,995,4190 -j MASQUERADE<\/code><\/pre><p>В этом случае внешние адреса останутся «настоящими», а все запросы из локальной сети будут отображаться как 192.168.1.1. На мой взгляд, это приемлемо.<\/p>\n",
            "date_published": "2022-12-25T12:48:29+07:00",
            "date_modified": "2023-01-18T12:11:20+07:00",
            "tags": [
                "firewall",
                "iptables",
                "openwrt",
                "внешний",
                "доступ",
                "локальная сеть",
                "перенаправление",
                "порт",
                "проброс",
                "роутер"
            ],
            "_date_published_rfc2822": "Sun, 25 Dec 2022 12:48:29 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "259",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "228",
            "url": "https:\/\/www.kini24.ru\/all\/umny-dom\/",
            "title": "«Умный» дом",
            "content_html": "<h3>Добавляем камеру в Domoticz<\/h3>\n<p>Во-первых, почему Domoticz? Мне он показался намного более простым по сравнению с Majordomo и другими системами. Во-вторых, этот пакет присутствует в репозитории на роутере (с установленным OpenWrt). С одной стороны ставить такую программу я предпочел бы на сервер, с другой — именно роутер является точкой, соединяющей все сетевые устройства в квартире. Поэтому пусть пока будет так.<br \/>\nТак как камера у меня — «чистый» китаец, то просто так добавить ее в систему не получится. По крайней мере, мне это не удалось. Пришлось идти обходным путем.<br \/>\nСтрока подключения к камере выглядит примерно так:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">rtsp:\/\/192.168.1.12:554\/user=admin&amp;password=&amp;channel=1&amp;stream=0.sdp?real_stream<\/code><\/pre><p>Открыв этот адрес, например, через плеер VLC, можно увидеть основной поток камеры. В принципе, строку можно чуть-чуть сократить, убрав всё после <i>sdp<\/i>. В любом случае, Domoticz такое не понимает. Поэтому нам понадобится пакет под названием motion. У меня он уже установлен и отправляет мне в Telegram фото событий. Камера у меня пока что одна, но в будущем планируется еще несколько, поэтому все настройки, отличающиеся от настроек по умолчанию, я вынес в отдельный файл, который подключил в motion.conf. Там нам понадобятся несколько параметров, перечисленных ниже.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">netcam_url rtsp:\/\/192.168.1.12:554\/user=admin&amp;password=&amp;channel=1&amp;stream=1.sdp?real_stream\nnetcam_keepalive on\nwidth 704\nheight 576\nstream_port 8091\non_event_start \/root\/motion\/actions\/on_event_start\non_event_end \/root\/motion\/actions\/on_event_end<\/code><\/pre><p>Первая строка — подключение к самой камере на вторичный поток. Вторая — поддержка подключения, можно пропустить. Третья и четвертая — размеры кадра вторичного потока, у меня они такие. Можно выбрать, конечно, и основной, но это повлечет за собой увеличение трафика в сети и времени подключения. Самая «интересная» строка — следующая. Она указывает motion через какой порт выводить картинку. И последние две строки — пути к скриптам, которые будут выполняться при возникновении и завершении события. У скриптов должны быть установлены права на выполнение.<br \/>\nЗапускаем motion и первым делом проверяем наличие потока, просто открыв ссылку в браузере. Например, motion у нас будет установлен на компьютер с адресом 192.168.1.10. Тогда в браузере набираем:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">http:\/\/192.168.1.10:8091\/<\/code><\/pre><p>Вы должны увидеть видеопоток с камеры. Если его нет — придется разбираться что не так. Чаще всего просто не открыт указанный порт на компьютере. Если картинка есть — идем дальше.<br \/>\nОткрываем Domoticz и пробуем добавить камеру.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"487\" data-ratio=\"1.2551546391753\">\n<img src=\"https:\/\/www.kini24.ru\/pictures\/domoticz-01.jpg\" width=\"487\" height=\"388\" alt=\"Нужное меню в Domoticz\" \/>\n<img src=\"https:\/\/www.kini24.ru\/pictures\/domoticz-02.jpg\" width=\"730\" height=\"482\" alt=\"Добавляем камеру в Domoticz\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Добавляем камеру в Domoticz<\/div>\n<\/div>\n<p>Протокол оставляем HTTP, в качестве IP-адреса указываем адрес компьютера, куда установили motion. Порт указываем тот же самый, что и в файле настроек motion. Имя пользователя и пароль заполняем в том случае, если для просмотра камеры нужна авторизация. Ну и в ImageURL забиваем полный путь к потоку, тот же самый, который вбивали в браузере при проверке потока камеры. Нажимаем «Тест соединения» и надеемся, что картинка появится. Обычно на это нужно до 10 секунд. Если картинки нет, значит что-то пошло не так и придется всё проверять. В моем случае картинка нормально появляется когда я работаю в домашней сети. Если я запускаю Domoticz с рабочего компьютера, то она не показывается.<br \/>\nНажимаем кнопку «Add», чтобы добавить камеру в список. И тут тоже есть нюанс. В строке с камерой тоже есть предварительный просмотр, но в моем случае он не работает. Также не работают кнопки «Сделать снимок» и «Stream video». Но это не важно, камера работает.<br \/>\nНе зря же мы это все делали? Пусть теперь камера работает датчиком движения — нечего ей просто так висеть на потолке. Например, включает освещение в коридоре, когда обнаружит движение.<br \/>\nВ качестве выключателя с удаленным доступом у меня стоит простой Sonoff Basic, подключенный к моей сети через WiFi. Идем в настройки Domoticz, выбираем «Оборудование». В выпадающем списке ищем пункт «Dummy (Does nothing, use for virtual switches only)», называем его как-нибудь и нажимаем кнопку добавить. Теперь в списке чуть выше нажимаем кнопку «Создать виртуальные датчики», вводим название выключателя (придумываем сами) и указываем тип «Переключатель». Жмем «ОК». Всё, мы создали виртуальное устройство, которое будет управлять освещением в коридоре. Остается теперь соединить между собой камеру и выключатель.<br \/>\nВспоминаем, что у нас есть два скрипта от motion, которые выполняются при возникновении и завершении события, в данном случае — в коридоре. Добавляем в каждый из скриптов по одной строке. В <i> \/root\/motion\/actions\/on_event_start<\/i> добавляем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/usr\/bin\/curl -s &quot;http:\/\/api_username:api_password@domoticz_server:domoticz_port\/json.htm?\ntype=command&amp;param=switchlight&amp;idx=your_ID&amp;switchcmd=On&quot;<\/code><\/pre><p>а в <i> \/root\/motion\/actions\/on_event_end<\/i> такую строку:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/usr\/bin\/curl -s &quot;http:\/\/api_username:api_password@domoticz_server:domoticz_port\/json.htm?\ntype=command&amp;param=switchlight&amp;idx=your_ID&amp;switchcmd=Off&quot;<\/code><\/pre><p>Теперь разберем, что это за бред.<br \/>\n<i>curl<\/i> — программа, позволяющая выполнить те или иные действия по указанному адресу, используя только командную строку.<br \/>\n<i>api_username<\/i> и <i>api_password<\/i> — имя пользователя и пароль, которые вы установили для доступа к Domoticz. Если не устанавливали, то эту часть «<i>api_username:api_password@<\/i>» можно не вводить.<br \/>\n<i>domoticz_server<\/i> и <i>domoticz_port<\/i> — IP-адрес и порт компьютера, где у вас установлен Domoticz. В качестве порта нужно указать стандартный 8080, если, конечно, вы не делали перенаправления портов.<br \/>\n<i>idx=your_ID<\/i> — в качестве <i>your_ID<\/i> нужно указать значение выключателя из колонки Idx таблицы устройств. У меня это значение равно «1».<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/www.kini24.ru\/pictures\/domoticz-03.jpg\" width=\"1311\" height=\"300\" alt=\"Таблица устройств\" \/>\n<div class=\"e2-text-caption\">Таблица устройств<\/div>\n<\/div>\n<p>Ну и последний параметр <i>switchcmd<\/i> может принимать значения <i>On<\/i> или <i>Off<\/i>, в зависимости от того, хотите ли вы включить освещение или выключить соответственно. Подозреваю, что можно также указать «1» и «0» соответственно, но, если честно, лень проверять :-)<br \/>\nДолжен также отметить, что в Sonoff установлена не стандартная прошивка с привязкой к китайскому облаку (и возможностью потерять доступ к своему выключателю из-за рвения Роскомнадзора заблокировать всех и вся), а <a href=\"https:\/\/github.com\/arendst\/Sonoff-Tasmota\">Tasmota<\/a>. Возможностей у нее немного, но лично мне хватит с избытком. Не будет же выключатель вещать радио, когда мне скучно? :-)<br \/>\nТеперь почему мы используем такой сложный способ включения\/выключения? Просто при таком способе состояние выключателя будет корректно отображаться в Domoticz в случае возникновения или завершения движения в коридоре.<\/p>\n",
            "date_published": "2019-02-21T13:36:31+07:00",
            "date_modified": "2019-03-09T14:18:18+07:00",
            "tags": [
                "domoticz",
                "openwrt",
                "sonoff",
                "выключатель",
                "добавление",
                "камера",
                "китаец",
                "подключение",
                "роутер",
                "умный дом"
            ],
            "image": "https:\/\/www.kini24.ru\/pictures\/domoticz-01.jpg",
            "_date_published_rfc2822": "Thu, 21 Feb 2019 13:36:31 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "228",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css",
                    "jquery\/jquery.js",
                    "fotorama\/fotorama.css",
                    "fotorama\/fotorama.js"
                ],
                "og_images": [
                    "https:\/\/www.kini24.ru\/pictures\/domoticz-01.jpg",
                    "https:\/\/www.kini24.ru\/pictures\/domoticz-02.jpg",
                    "https:\/\/www.kini24.ru\/pictures\/domoticz-03.jpg"
                ]
            }
        },
        {
            "id": "210",
            "url": "https:\/\/www.kini24.ru\/all\/pryamoy-dostup-k-seti-po-ipv6\/",
            "title": "Прямой доступ к сети по IPv6",
            "content_html": "<p>Два дня искал как получить прямой доступ к компьютерам в сети через IPv6. Ни один способ не подходил, сколько не пробовал в самых разных вариациях. Самое забавное, что месяц-два назад я как-то этот доступ настраивал. Потом роутер пришлось сбрасывать до заводских настроек, а в памяти этот момент не отложился.<br \/>\nВ итоге, все оказалось очень просто (надеюсь, ничего не забыл)...<br \/>\nОткрываем веб-морду OpenWrt, входим под своими логином и паролем. Затем идем на вкладку <b>Network<\/b> — <b>Interfaces<\/b> и в поле «IPv6 ULA-Prefix» вводим префикс подсети. Например, такой: 2002:1234:5678:1234::\/64. Компьютеры в локалке, конечно же, должны иметь адреса из этого же диапазона. Следом стоит дать разрешение в брэндмауэре. Для этого открываем <b>Firewall<\/b> — <b>General settings<\/b> и для пунктов <b>Input<\/b>, <b>Output<\/b> и <b>Forward<\/b> в самом верху ставим «Ассept».<br \/>\nПрименяем сделанные изменения, перезагрузка не требуется.<\/p>\n",
            "date_published": "2018-08-17T15:31:36+07:00",
            "date_modified": "2018-08-17T15:31:29+07:00",
            "tags": [
                "ipv6",
                "openwrt",
                "доступ",
                "локальная",
                "роутер",
                "сеть"
            ],
            "_date_published_rfc2822": "Fri, 17 Aug 2018 15:31:36 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "210",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "180",
            "url": "https:\/\/www.kini24.ru\/all\/raznica-mezhdu-udpxy-i-igmproxy-v-openwrt\/",
            "title": "Разница между udpxy и igmproxy в OpenWrt",
            "content_html": "<p>Случайно обнаружил разницу при использовании udpxy или igmpproxy. Я бы сказал, что для меня она была весьма существенной. По какой-то причине я не находил в интернете подобного сравнения этих двух пакетов.<br \/>\nДля начала хочу отметить, что мой тарифный план у провайдера включает в себя 70 бесплатных каналов IPTV. Все остальные — за отдельную плату. Всего же их чуть менее 200 штук.<\/p>\n<ol start=\"1\">\n<li>При использовании igmpproxy нет необходимости переделывать плейлист, адреса в нем остаются в исходном виде, то есть udp:\/\/@239.255.1.1:1234. В случае с udpxy этот же адрес в плейлисте нужно привести к виду <a href=\"http:\/\/192.168.1.1:4022\/udp\/239.255.1.1:1234,\">http:\/\/192.168.1.1:4022\/udp\/239.255.1.1:1234,<\/a> где 192.168.1.1 — адрес роутера, а 4022 — порт, на котором случает udpxy. Все остальные параметры, думаю, понятны.<\/li>\n<li>А вот здесь начинается самое интересное. Igmpproxy позволяет мне просматривать только 70 каналов, которые входят в мой тарифный план, в то время как udpxy позволяет просматривать весь список — почти 200 каналов.<\/li>\n<\/ol>\n<p>Последний пункт пересиливает мою лень по редактированию плейлиста — во второй половине списка есть каналы, которые мне хотелось бы смотреть.<br \/>\nОстается только дополнить список логотипами каналов, чтобы можно было визуально их идентифицировать, а не вчитываться в каждое название, и загрузить его в телевизор. Если бы еще придумать как просматривать эти каналы как обычные, антенные, без запуска каких-то дополнительных приложений на телевизоре — было бы просто замечательно.<\/p>\n",
            "date_published": "2018-03-29T13:17:31+07:00",
            "date_modified": "2018-03-29T13:20:30+07:00",
            "tags": [
                "igmpproxy",
                "iptv",
                "openwrt",
                "udpxy",
                "различие",
                "сравнение"
            ],
            "_date_published_rfc2822": "Thu, 29 Mar 2018 13:17:31 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "180",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "163",
            "url": "https:\/\/www.kini24.ru\/all\/proekt-lede\/",
            "title": "Проект LEDE",
            "content_html": "<p><a href=\"https:\/\/lede-project.org\/\">Проект LEDE<\/a> появился на замену популярной прошивки для роутеров OpenWrt. В последней, из-за внутренних проблем, обновления и новые пакеты стали появляться все реже. LEDE взялся устранить все проблемы, существующие в нынешней прошивке OpenWrt и периодически выпускать новые релизы.<br \/>\nНа сам проект я наткнулся достаточно недавно, два или три месяца назад. Почитал первую страницу сайта, заинтересовался, но, так как дел было невпроворот, отложил на будущее. Вчера, перебирая закладки браузера, наткнулся на него и решил все-таки посмотреть более внимательно.<br \/>\nLEDE является ответвлением OpenWrt и полностью с ним совместим. Вы можете устанавливать те же самые пакеты, что и в OpenWrt. Более того, даже сам сайт проекта LEDE выглядит точно так же, как и у OpenWrt. Связано это с тем, что сейчас идет интеграция старого сайта в новый.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/www.kini24.ru\/pictures\/lede_project@2x.jpg\" width=\"680\" height=\"315\" alt=\"Стартовая страница сайта LEDE\" \/>\n<div class=\"e2-text-caption\">Стартовая страница сайта LEDE<\/div>\n<\/div>\n<p>На сайте также можно найти информацию о том, что в течение этого года планируется полное слияние обеих проектов.<br \/>\nПервое, что я сделал — посмотрел текущую стабильную версию прошивки. Как ни странно, но разработчики «перешагнули» через 16 версию и создали сразу 17-ю. Последняя стабильная прошивка для моего роутера оказалась 17.01.4. Ее я и скачал. Дальше все, как обычно, просто. Заходим на страницу <i>System — Backup \/ Flash Firmware<\/i> роутера, указываем на файл с новой прошивкой в разделе <i>Flash new firmware image<\/i>, оставив галочку <i>Keep settings<\/i> отмеченной, чтобы не терять сделанные настройки, и запускаем процесс обновления.<br \/>\nСразу хочу сказать, что тема оформления Bootstrap мне почему-то никогда не нравилась, я постоянно выбирал старую OpenWrt. Хотя к самому фреймворку я отношусь более, чем положительно. Но старая тема после перепрошивки не заработала, поэтому следующим моим шагом был поиск темы, отличной от Bootstrap. На мое удивление в списке доступных увидел тему Material. Ее и установил. Тема оказалась удобной, красивой, но чуть недоработанной и, на мой взгляд, чуть громоздкой — роутер чуть медленней переключался между страницами.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/www.kini24.ru\/pictures\/lede_login@2x.jpg\" width=\"680\" height=\"315\" alt=\"Страница входа в систему\" \/>\n<div class=\"e2-text-caption\">Страница входа в систему<\/div>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/www.kini24.ru\/pictures\/lede_status@2x.jpg\" width=\"680\" height=\"315\" alt=\"Страница статуса системы\" \/>\n<div class=\"e2-text-caption\">Страница статуса системы<\/div>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/www.kini24.ru\/pictures\/lede_startup@2x.jpg\" width=\"680\" height=\"315\" alt=\"Скрипты, выполняемые при загрузке\" \/>\n<div class=\"e2-text-caption\">Скрипты, выполняемые при загрузке<\/div>\n<\/div>\n<p>Памятуя о качестве перевода с английского на русский язык в предыдущей прошивке, я не торопился переключаться на русский язык, меня вполне устраивал и английский. Позже я все-таки решил установить языковой пакет. Оказалось, что устанавливать их нужно не один, как раньше, а как минимум два — для «стандартных» страниц и для настроек firewall. При этом при установке этих пакетов я получил ошибку <i>«uci: Parse error (too many arguments) at line 123, byte 34»<\/i>, но решил не обращать на нее внимание, потому что пакеты установились без ошибок.<br \/>\nОдновременно просматривая сайт проекта наткнулся на интересный «фокус», который заключается в том, что после авторизации на роутере по SSH, в консоли выводится количество установленных пакетов и количество доступных для обновления. Это освобождает от необходимости вручную проверять наличие обновлений, так почему бы этим не вспользоваться? Для этого нужно записать всего несколько строчек в файл <i>~\/.profile<\/i><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">#!\/bin\/sh\nopkgInstalled=&quot;$(opkg list-installed 2&gt; \/dev\/null | wc -l)&quot; #silencing error output\nopkgUpgradable=&quot;$(opkg list-upgradable 2&gt; \/dev\/null | wc -l)&quot; #silencing error output\necho &quot;$opkgInstalled packages are installed.&quot; &amp;&amp; echo &quot;$opkgUpgradable packages can be upgraded.&quot; &amp;&amp; echo<\/code><\/pre><p>И, как говорится, раз уж «пошла такая пьянка», то почему бы не сделать похожий скрипт, который устанавливал бы все обновления сразу? Мне никогда не нравился вариант сначала получить список доступных для обновления пакетов, затем копировать их имена в команду обновления. На сайт проекта также есть решение этого вопроса, но мне оно не понравилось. Более того, оно просто некорректно работает. Поэтому предлагаю свой вариант:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">#!\/bin\/sh\n\/bin\/opkg update\n\/bin\/opkg upgrade $(opkg list-upgradable | awk &#039;{print $1}&#039;)<\/code><\/pre><p>Но я отвлекся. Еще одним новшеством, которое мне понравилось в данной прошивке — визуализация уровня сигнала WiFi<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/www.kini24.ru\/pictures\/lede_wifi@2x.jpg\" width=\"540\" height=\"77\" alt=\"Уровень сигнала WiFi\" \/>\n<div class=\"e2-text-caption\">Уровень сигнала WiFi<\/div>\n<\/div>\n<p>В какой-то момент изучения прошивки я сделал ошибку, пришлось сбрасывать настройки на заводские и заново перенастраивать роутер. И тут выявилось, что в этой прошивке таки заработал туннель от <a href=\"https:\/\/tunnelbroker.net\/\">Henet<\/a>. После внесения настроек я смог извне протестировать свой роутер на доступность по IPv6 и получил положительный результат.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/www.kini24.ru\/pictures\/test_henet_ipv6@2x.jpg\" width=\"407\" height=\"202\" alt=\"Результаты тестирования IPv6\" \/>\n<div class=\"e2-text-caption\">Результаты тестирования IPv6<\/div>\n<\/div>\n<p>На данном этапе мне эта прошивка нравится намного больше, чем версия 15.05.1 от OpenWrt. Возможно, что в процессе дальнейшей эксплуатации вылезут какие-то недочеты, ошибки, но будем надеяться, что их будут более-менее быстро исправлять.<\/p>\n",
            "date_published": "2018-02-14T10:08:43+07:00",
            "date_modified": "2018-02-14T10:09:00+07:00",
            "tags": [
                "dir-825",
                "lede",
                "openwrt",
                "замена",
                "проект",
                "прошивка",
                "роутер",
                "форк"
            ],
            "image": "https:\/\/www.kini24.ru\/pictures\/lede_project@2x.jpg",
            "_date_published_rfc2822": "Wed, 14 Feb 2018 10:08:43 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "163",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/www.kini24.ru\/pictures\/lede_project@2x.jpg",
                    "https:\/\/www.kini24.ru\/pictures\/lede_login@2x.jpg",
                    "https:\/\/www.kini24.ru\/pictures\/lede_status@2x.jpg",
                    "https:\/\/www.kini24.ru\/pictures\/lede_startup@2x.jpg",
                    "https:\/\/www.kini24.ru\/pictures\/lede_wifi@2x.jpg",
                    "https:\/\/www.kini24.ru\/pictures\/test_henet_ipv6@2x.jpg"
                ]
            }
        },
        {
            "id": "155",
            "url": "https:\/\/www.kini24.ru\/all\/nebolshoy-apgreyd\/",
            "title": "Небольшой апгрейд",
            "content_html": "<h3>Очередная зарплата ведет к очередным обновлениям<\/h3>\n<p>На днях попробовал перенести Transmission и сервер DLNA с роутера на домашний сервер, чтобы немного разгрузить первый. Итогом неожиданно стала сильно возросшая нагрузка на сервер, причем в первых строчках «потребителей» стабильно висели motion и Transmission. Нагрузка была такой, что другие программы периодически  не отвечали на запросы, что, в свою очередь, вызвало шквал предупреждений в мой почтовый ящик. Конечно, это меня не устроило, поэтому торрент-клиент был на время отключен. Вызвал небольшое недоумение тот момент, что на роутере Transmission работал, не вызывая такой большой нагрузки на и без того слабый процессор. Лучше был оптимизирован что ли под OpenWrt? Аналогично, судя по отзывам, motion при статичном кадре (то есть когда нет движения) «сжирает» 5-10% процессорного времени. У меня же он поглощал в среднем около 40% на сервере.<br \/>\nТут должен сделать небольшое отступление. Парой месяцев ранее собирал компьютер для профилактория «Сибиряк», чтобы они могли просматривать камеры видеонаблюдения на ресепшене. Компьютер получился достаточно слабенький, но, если воткнуть в него видеокарту, вполне тянул 8 внутренних камер. Так как видеокарт на складе у меня тогда не было, пришлось воткнуть свою личную. Она  у меня все равно просто так лежала. Поставил, настроил, все хорошо. Неделю назад попросили подключить второй монитор на этот компьютер и вывести на него камеры, снимающие вокруг здания. Не вопрос! Заказал второй монитор и видеокарту — свою же нужно «отбить» :-)<br \/>\nВозвращаемся на текущий день. После недолгих раздумий, был куплен новый процессор и кабель HDMI. Процессор был установлен в сервер, что дало достаточно большой прирост мощности, судя по выводу команды top. Также установил туда новую видеокарту, которую приобрел для «Сибиряка». Был вариант установить в профилакторий новую карту, а оттуда забрать свою, но, после сравнительных тестов, оказалось, что установленная мной ранее видюха немного мощней, чем та, которую я приобрел на днях. HDMI кабелем соединил видеорегистратор и телевизор. Были некоторые опасения, что телевизор не увидит картинку с таким нестандартным разрешением, но все обошлось — он просто изменил разрешение на что-то среднее по качеству. В итоге, я теперь могу просматривать камеры на телевизоре в хорошем качестве. Плюс несколько «разгрузил» сервер — теперь нагрузка на процессор стала менее 50%. Правда появился какой-то дребезг от вентилятора, но непонятно от какого — пока снимаешь боковую стенку, он прекращается.<\/p>\n",
            "date_published": "2018-01-31T18:07:05+07:00",
            "date_modified": "2018-01-31T18:06:57+07:00",
            "tags": [
                "dlna",
                "hdmi",
                "motion",
                "openwrt",
                "transmission",
                "апгрейд",
                "нагрузка",
                "перенос",
                "сервер"
            ],
            "_date_published_rfc2822": "Wed, 31 Jan 2018 18:07:05 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "155",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "148",
            "url": "https:\/\/www.kini24.ru\/all\/dlna-v-lokalnoy-seti\/",
            "title": "DLNA в локальной сети",
            "content_html": "<p>Меня не покидала мысль, что телевизор поддерживает DLNA, несмотря на то, что на официальном сайте это не указано. Зато было указано на нескольких других. Попытка не пытка...<br \/>\nЕсть у меня переделанный роутер D-Link DIR-825 с установленной OpenWrt. Внутрь встроен жесткий диск, на котором располагается собственно система и множество других программ. В частности, клиент Transmission. Это очень удобно — с любого устройства можно поставить торрент на закачку. Плюс к этому он все равно работает круглые сутки, пусть скачивает :-)<br \/>\nПрочитав днем про настройку DLNA на OpenWrt, подключился к роутеру и  установил пакет luci-i18n-minidlna-en, который потянул за собой собственно сервер DLNA и другие необходимые пакеты. Настройка была минимальной: задал каталоги где искать видео- и аудиофайлы, куда писать логи и каталог с кэшем. Ну и, конечно, запустил его. Поначалу нагрузка на роутер сильно возросла: сервер «сожрал» почти 60% процессорного времени и почти половину оперативной памяти. Из всех других пакетов, которые я ставил, ни один столько не забирал себе. Понадеявшись на то, что это только на время поиска файлов, отключился, чтобы вечером заняться этим вопросом уже дома.<br \/>\nМои надежды оправдались — после завершения поиска нагрузка стала почти нулевой. Но меня уже больше интересовало как телевизор отреагирует (и отреагирует ли вообще?) на наличие DLNA сервера в локальной сети. Но сомнения оказались напрасны — все оказалось намного проще. Телевизор не только обнаружил сервер в сети, но и сразу отобразил его в списках доступных источников. Немного напрягло только то, что приходится «продираться» через кучу каталогов, чтобы найти нужное видео, но тут уже ничего не поделаешь, видимо.<br \/>\nВ конечном результате я достиг того, чего хотел — теперь нет необходимости копировать скачанный торрент на флэшку, подключать её к телевизору и только тогда начинать смотреть фильм. Сейчас можно просто открыть роутер на телевизоре, выбрать нужный фильм и начать просмотр. С учетом того, что я не поленился подключить ТВ кабелем к роутеру, «лагов» пока что не наблюдается, скорость приличная. Но тут еще буду экспериментировать.<br \/>\nДнем ранее, кстати, также удалось вывести содержимое экрана смартфона на телевизор, включив на первом режим беспроводного дисплея. Смартфон тут же просканировал и нашел телевизор. Оставалось только подтвердить сопряжение устройств на самом ТВ.<\/p>\n",
            "date_published": "2018-01-11T20:50:03+07:00",
            "date_modified": "2018-01-11T20:59:51+07:00",
            "tags": [
                "dlna",
                "openwrt",
                "подключение",
                "роутер",
                "сервер",
                "телевизор"
            ],
            "_date_published_rfc2822": "Thu, 11 Jan 2018 20:50:03 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "148",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "110",
            "url": "https:\/\/www.kini24.ru\/all\/poluchaem-dostup-k-rutracker-dlya-vsey-seti\/",
            "title": "Получаем доступ к rutracker для всей сети",
            "content_html": "<p>Кабель провайдера у меня дома воткнут в роутер D-Link, который я еще много лет назад прошил на OpenWrt. От DD-Wrt в свое время пришлось отказаться в силу того, что эта прошивка сильно нагружала и без того слабенький процессор роутера.<br \/>\nКогда началась волна блокировок торрентов, установил в браузер расширение, позволяющее мне без проблем попадать на сайт rutracker. Поставил и забыл, как говорится. А недавно обнаружил, что торренты, которые качаются с этого сервера, перестали загружаться. Висят по много дней с нулевой активностью. В журнале видно, что трекер недоступен. Подумал, что нужно это исправить. Вспомнил одну читанную мной когда-то статью и понеслась.<br \/>\nДля начала устанавливаем на роутер Tinyproxy. Этот пакет позволит нам перенаправлять запросы к сайту через «левый» прокси. Этот прокси позволяет также использовать VPN, но они в России уже, к сожалению, запрещены. Все настройки я оставил без изменений, откорректировал только путь к журналу работы. Затем добавил в секцию «Upstream Proxies» новый пункт:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">Policy: Via proxy\nTarget host: rutracker.org\nVia proxy: proxy.antizapret.prostovpn.org:3128<\/code><\/pre><p>Сохраняем, применяем, перезапускаем на всякий случай Tinyproxy. Кстати, потом оказалось, что после внесения новых серверов, его лучше всего именно перезапускать, иначе правило не будет работать. Открываем браузер, вбиваем в адресную строку rutracker.org и видим «картинку» сайта. Все открывается, все работает. Пробуем другие заблокированные трекеры — все хорошо.<br \/>\nПрелесть данного решения в том, что правила работают для всей домашней сети, а не только для тех браузеров, в которых установлено очередное дополнение. Еще одним «плюсом» является тот факт, что перенаправление действует только для тех сайтов, которые указаны в списке настроек. Для всех других трафик идет напрямую.<\/p>\n",
            "date_published": "2017-10-19T13:04:16+07:00",
            "date_modified": "2017-10-19T13:04:12+07:00",
            "tags": [
                "openwrt",
                "tinyproxy",
                "блокировка",
                "обход",
                "роскомнадзор",
                "роутер"
            ],
            "_date_published_rfc2822": "Thu, 19 Oct 2017 13:04:16 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "110",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "69",
            "url": "https:\/\/www.kini24.ru\/all\/nastroyka-vpn-na-openwrt\/",
            "title": "Настройка VPN на OpenWrt",
            "content_html": "<h3>Доступ в домашнюю сеть<\/h3>\n<p>На фоне запретов на VPN и анонимайзеров, взбрело в голову прокинуть туннель в свою домашнюю сеть. Так сказать, пока это не стало противоправным действием :-) Все делал вот по <a href=\"https:\/\/wiki.openwrt.org\/ru\/doc\/howto\/vpn.openvpn\">этой статье<\/a>. С первого раза ничего не заработало. После небольшого расследования оказалось, что клиентский сертификат неверно сгенерировался и получился файл нулевого размера. Пришлось переделывать все заново. После этого я смог подключиться к домашней сети, но у меня не было доступа ни к одному компьютеру в ней. Для доступа к ней пришлось выполнить еще одно действие из этой же статьи, из англоязычной ее части:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># uci add_list openvpn.myvpn.push=&#039;route 192.168.1.0 255.255.255.0&#039;<\/code><\/pre><p>Так как подсеть у меня такая же, то не пришлось править адрес и маску. После перезапуска OpnVPN на роутере все заработало: доступ в сеть есть, к компьютерам — тоже. Все работает, отлично!<br \/>\nНо, как обычно, показалось этого мало. Настроил OpenVPN и на смартфоне. Применение такого доступа нашлось сразу же: быстрый просмотр записей с камеры. VLC, конечно, на такой скорости плохо кэширует (надеюсь, это лечится), но снимки, которые создает motion из записанного видеофайла просмотреть можно. Уже, как говорится, хлеб.<br \/>\nЗатем, ради интереса, заглянул на собранную метеостанцию, посмотрел как там дела обстоят. Затем зашел на роутер, проглядел папку с торрентами.<br \/>\nИз «минусов» подключения по VPN вижу только то, что работать приходится не с именами машин, а с их IP-адресами. Но это уже мелочи.<\/p>\n",
            "date_published": "2017-06-26T18:38:57+07:00",
            "date_modified": "2017-06-26T18:38:50+07:00",
            "tags": [
                "android",
                "openvpn",
                "openwrt",
                "vpn",
                "доступ",
                "настройка",
                "сеть"
            ],
            "_date_published_rfc2822": "Mon, 26 Jun 2017 18:38:57 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "69",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "24",
            "url": "https:\/\/www.kini24.ru\/all\/sibiryak-snova-dostupen\/",
            "title": "«Сибиряк» снова доступен",
            "content_html": "<p>Так сказать, в продолжение темы <a href=\"https:\/\/kini24.ru\/all\/vosstanovlenie-dir-300\/\">Восстановление DIR-300<\/a>.<br \/>\nПерепрошитый на OpenWrt роутер, в итоге, ушел на «Сибиряк». После обеда съездил туда, посмотрел что и как. Так как из оборудования там имелись только видеорегистратор и DIR-300 (почему-то сильно любимый Павлом — человеком, который занимается видеонаблюдением на заводе), то решил для начала поменять роутер на свой.<br \/>\nИз-за своей невнимательности пришлось немного помучиться — пытался подключиться не к тому роутеру. Долго не мог понять почему не один пароль не подходит. Потом разобрался, вбил чуть раньше снятые с работающего роутера настройки и подключил его к сети.<br \/>\nТестирование показало, что теперь все камеры можно просматривать одновременно, а не по одной как раньше. Плюс подключение к видеорегистратору происходит быстро и «безболезненно», с первого раза, а не с десятого. Чуть позже камеры снова начали тормозить, но это я уже списал на то, что просматривал их на телефоне, где 3G, так сказать, не резиновый.<br \/>\nУшел на пост охраны, переподключил камеры в программе, оставил свой телефон на всякий случай и поехал домой. Дома попытался просмотреть камеры «Сибиряка» — все работает отлично. Да, есть небольшие «тормоза», но вполне допустимые, на мой взгляд, и комфортному наблюдению не мешают. Точно такие же «тормоза» есть и при просмотре камер на заводе.<br \/>\nЗавтра, если получится, перепрошью забранный с «Сибиряка» роутер и... можно забрать его себе, так как в профилакторий я установил свой личный.<\/p>\n",
            "date_published": "2016-12-19T17:55:15+07:00",
            "date_modified": "2016-12-19T17:55:11+07:00",
            "tags": [
                "dir-300",
                "openwrt",
                "видеонаблюдение",
                "замена",
                "роутер",
                "сибиряк"
            ],
            "_date_published_rfc2822": "Mon, 19 Dec 2016 17:55:15 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "24",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "21",
            "url": "https:\/\/www.kini24.ru\/all\/vosstanovlenie-dir-300\/",
            "title": "Восстановление DIR-300",
            "content_html": "<p><b>Преамбула.<\/b><br \/>\nВчера у генерального директора «отвалилось» видеонаблюдение за «Сибиряком». Поднялся, проверил — не видит программа видеорегистратор и все тут. На форуме нашел программу для Adnroid, установил себе на телефон. Через несколько минут смог подключиться к «Сибиряку» и смотреть видео с камер. Было принято решение поискать замену установленной на ноутбуке директора программе. Вернул сам ноутбук и пошел к себе копать интернет. По итогу все найденные программы либо не могли подключиться к регистратору, либо подключались, но раза с 10-го так и жутко тормозили. Чтобы найти причину, скопировал себе на флэшку эти программы и протестировал дома (канал шире, компьютер мощнее да и просто другой провайдер). Результат радости не принес — подключение также раза с 10, все тормозит. Сделал вывод, что проблемы на стороне «Сибиряка».<br \/>\nПродукцию фирмы D-Link знают, думаю, все — она славится нестабильностью своей работы, но это, в большинстве случаев, решается заменой прошивки на OpenWrt или DD-Wrt. Или еще какую-нибудь, но не от фирмы-разработчика устройства. На «Сибиряке» стоит именно D-Link DIR-300. В целом, аппарат неплохой, но... см выше.<\/p>\n<p><b>Амбула.<\/b><br \/>\nНашел у себя дома два устройства: DIR-300 и DAP-1360. Последний туда явно не годится, а вот в каком состоянии «трехсотый» — я уже не помнил. Взял с собой на работу, подключил и сразу вспомнил в чем с ним проблема: неудачная прошивка привела его в состояние «кирпича», подключиться к нему можно только в режиме Emergency room. Ну что делать, будет восстанавливать. Скачав с интернета несколько разных прошивок (фирменных и openwrt), попытался ему их скормить. Роутер отчаянно сопротивлялся: то говорил, что прошивка некорректна, то вроде бы «проглатывал» ее, но при этом просто гас индикатор подключения к порту и на этом все заканчивалось. Приходилось снова перезагружать его в Emergency room и пытаться скормить ему очередной образ. После полутора часов поисков, экспериментов и борьбы с упрямым роутером удалось найти фирменную прошивку, с которой он согласился принять. Но загрузка прошла только до 49%, после чего все Chrome потерял связь с роутером. Через некоторое время удалось отправить ему весь образ, на что роутер ответил предупреждением, что процесс прошивки начался и ни в коем случае нельзя выключать роутер. Хорошо, хорошо, уговорил.<br \/>\nПосле перезагрузки ожили индикаторы сети и WiFi. Слава богу! Итак, доступ к стандартному интерфейсу мы получили. Но я же упрямый, меня он не устраивает, я хочу OpenWrt! «Скормил» ему нужный образ и приготовился к ожиданию конца перепрошивки. Процесс завершился удачно, на роутер встала нужная мне прошивка. Дело осталось за малым: настроить ее под свои нужды. Но это уже такие мелочи... :-)<\/p>\n",
            "date_published": "2016-12-16T11:29:50+07:00",
            "date_modified": "2016-12-16T11:29:47+07:00",
            "tags": [
                "d-link",
                "dir-300",
                "emergency room",
                "openwrt",
                "видеонаблюдение",
                "восстановление",
                "профилакторий",
                "прошивка",
                "роутер",
                "сибиряк"
            ],
            "_date_published_rfc2822": "Fri, 16 Dec 2016 11:29:50 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "21",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        }
    ],
    "_e2_version": 4134,
    "_e2_ua_string": "Aegea 11.3 (v4134)"
}