Управление keenetic через telegram

Управляем домом через Telegram

В настоящее время системы управления умным домом становятся все популярнее. Централизованный интерфейс, который управляет устройствами по всему дому, помогает экономить время и позволяет гораздо эффективнее контролировать ваше жилище. Реализацией своего видения подобных систем занимаются как именитые бренды: Apple, Amazon и Google, встраивая их в свою инфраструктуру, так и умельцы, собирающие подобные системы на базе платформы Arduino.

Наша же цель была следующей: создать систему, которая будет доступна на большом количестве устройств и не будет привязана к какому-либо месту. Отличный вариантом для реализации управления оказался бот для мессенджера Telegram. Telegram имеет приложения на всех основных платформах, а так же web-версию. Доступ к нему можно получить из любого места, нужно лишь иметь аккаунт.

Из модулей мы выбрали следующие:

• Управляемая RGB светодиодная лента
• Управляемая розетка
• Датчик температуры
• Датчик освещенности (он используется для автоматического включения освещения)

Что нам понадобится

1. Raspberry Pi 3

Маленький, но удаленький компьютер, не нуждающийся в представлении, его мощности нам с головой хватит для этих задач. Третья версия хороша наличием встроенного Wi-Fi модуля, так что нам не придется думать о стороннем адаптере.

2. Модули ESP8266

Их нам понадобится 4 штуки. Мы использовали ESP-12F, но вообще разницы нет: ESP-1 будет вполне достаточно. Так же готовые платы NodeMCU помогут сэкономить вам время и силы.

3. Светодиодная лента

Мы взяли управляемую RGB-ленту на контроллерах WS2812b, хотя, впрочем, тут подойдет любая лента, работающая на 5В и поддерживаемая платформой Arduino.

4. Датчики температуры и освещения

Мы использовали модуль BH1750 для определения освещенности в комнате и DS18B20 для температуры. Основными критериями были доступность, поддержка платформой Arduino и возможность работы с 3.3В логикой ESP8266.

5. Реле

Субмодуль MOD-1CH для Arduino может пропускать до 10А тока и управляется 5В, аналогов для 3.3В мы не нашли, так что для управления использовали транзистор в ключевом режиме.

6. Telegram-бот

Непосредственное управление всей системой будет осуществляться при помощи бота Telegram, запущенного на Raspberry: это позволит системе быть легкодоступной на любой платформе из любой точки мира. Создавать бота для Telegram довольно просто, благодаря развитой платформе и поддержке большого количества языков.

Таким образом вся наша система будет выглядеть примерно так:

Реализация

Первым делом протестируем модули.

Готовые печатные платы адаптируют расстояние между пинами, что заметно облегчает пайку, а также содержат в себе необходимые резисторы, соединяющие пины CH_PD и GPIO2 с Vcc.

К сожалению, модули ESP8266 питаются и работают на 3.3В, а не на 5, как Arduino. Преобразовать напряжение можно с помощью готового модуля-преобразователя, но можно и спаять схему на основе линейного стабилизатора AMS1117, как это сделали мы.

Следующий этап – программирование.

К счастью, платформа ESP8266 поддерживается Arduino IDE, что открывает нам множество возможностей. Для непосредственной загрузки прошивки на модуль мы будем использовать Arduino Nano, однако то же самое можно сделать и через обычный USB-UART преобразователь. Не следует забывать про разницу напряжений у Arduino и ESP.

Схема получилось такой:

Кнопка нужна для того, чтобы замкнуть пин GPIO1 на GND при подаче питания на модуль и, тем самым, перевести его в режим программирования.

Далее настраиваем Arduino IDE, чтобы она понимала ESP (подробная инструкция со всеми ссылками) и пробуем записать тестовый скетч на моргание светодиодом.

После удачного мигания мы приступили к пайке всех модулей. С датчиком температуры и освещения все довольно стандартно.

А вот лента и умная розетка вызвали некоторые трудности.

Простое подключение управляющего входа ленты к ESP результата не дало. Оно и не удивительно, ведь WS2812b требует на управляющий вход минимум 70% от входа VCC (5×0.7=3.5), и 3.3В платы явно недостаточно. Однако мы нашли костыль интересный способ запустить их без использования повышающего преобразователя. Если диоду требуется минимум 0.7xVcc для реакции на сигнал и мы не можем увеличить уровень этого сигнала, то надо уменьшить Vcc! Да, светодиоды будут гореть не так ярко, однако нам не надо запитывать таким образом всю ленту; хватит и одного диода. Передавая сигнал далее по цепочке, светодиод использует уже уровень Vcc для формирования сигнала, чего вполне хватает для «нормального» светодиода. Таким образом, подключив первый диод в ленте к питанию через диод, который «съедает» около 0.6В, мы получаем отлично работающую ленту, напрямую управляемую из нашего модуля ESP8266. А чуть более тусклый первый светодиод мы оставили для отладочных нужд: отображать состояние подключения к сети.

Нашу умную розетку мы хотели разместить полностью в корпусе от старой розетки с таймером. Туда должны были влезть: сам ESP-12F, блок питания для него и реле, управляющее розеткой. Однако, разместив там реле и блок питания, мы так и не смогли вместить там еще и модуль ESP. Поэтому пришлось приделать снизу еще маленькую коробочку.

Итог получился не таким элегантным как мы хотели изначально, зато это было цельное устройство, которое надо было просто воткнуть в розетку.

Следующим шагом была настройка Raspberry. План был такой: наши модули подключаться к точке доступа Wi-Fi, которой является Raspberry, а, точнее, к её встроенному Wi-Fi модуль. На Raspberry запущен Telegram-bot, который находится со всеми модулями в локальной сети и может без проблем обмениваться с ними http-запросами. К интернету это все подключено через Ethernet.

Для осуществления этого плана мы использовали два пакета:

  • hostapd – позволяет использовать встроенный wi-fi модуль как точку доступа
  • dnsmasq – объединяет в себе DHCP и DNS сервера.

Мы пытались добиться относительной независимости кода и устройств, поэтому все запросы выполнялись не на ip-адреса, а на имена из придуманной зоны .sh (light.sh, socket.sh и т.д.). Для этого мы для каждого модуля настроили статические ip-адреса и добавили на эти адреса DNS записи, соответствующие модулям. Благо dnsmasq очень легко конфигурируется (подробная инструкция по настройке этой системы).

И, наконец, непосредственно бот.

Мы писали бота на Python, используя библиотеку python-telegram-bot. Нами был разработан кнопочный интерфейс, что упрощает управление, превращая устройство в своеобразный пульт ДУ:

Читайте также:  Соединить модем с wifi роутером

Исходный бота код можно изучить здесь.

И, чтобы им не пользовался кто попало, мы поставили защиту паролем.

Вывод

Конечно, мы не создали какой-либо революционной системы, существует огромное количество более целостных и продуманных реализаций. Модули температуры и освещения можно было бы сделать автономными, благо у ESP8266 есть специальный режим ожидания, в котором она потребляет очень мало энергии. Можно было бы добавить легкую пользовательскую расширяемость, не требующую изменения исходного кода и перенастройки сетевых подключений и еще много чего. Однако цель всего этого проекта была совсем не в этом. В первую очередь мы хотели создать простую систему, которая могла вполне быть создана кем угодно у себя в доме и не требовала бы серьезной подготовки и затрат. А самое главное: мы хотели научиться многим вещам, пока мы делали этот проект. И если практичность и функциональность нашего решения можно еще долго дорабатывать, то знания, полученные нами в процессе планирования и воплощения в жизнь этой системы, определенно стоили потраченных усилий.

Источник

Обхода блокировок много не бывает на роутерах Keenetic

Прошло почти 3 месяца с моей предыдущей статьи, я решил написать ещё одну. Она частично будет повторять мою предыдущую статью и статью, на основе которой она была написана. Исходя из различных комментариев на форумах и под этими статьями, я попытался в этой инструкции показать, как можно использовать различные обходы блокировок. Для большинства специалистов по этой теме ничего нового тут не будет. А для остальных, думаю, будет что почитать и чем заняться на досуге. Сильно страшного в этой инструкции, как и в предыдущих, ничего нет, нужно просто двигаться по ней, не пропуская ни одного шага.

Итак, зачем нужен этот обход блокировок:

Для захода на необходимые сайты, которые блокируются в любой конкретной стране.

Для «обмана» сайтов из других стран, которые не хотят работать для граждан конкретной страны.

С помощью действий, описанных в этой статье, Вы сможете подключить все устройства домашней сети (телефоны, смарт-тв, компьютеры и ноутбуки и другие «домашние» устройства) к данному обходу блокировок, а также подключаться к Вашему роутеру не из дома и пользоваться его обходом блокировок для доступа к любимым сайтам и приложениям. Кроме того, из обеих этих сетей (домашней и через подключение к роутеру), из любого браузера можно будет пользоваться onion-сайтами.

В данной статье будет описана работа телеграм-бота, написанного на python. С его помощью будет возможна установка данного обхода с небольшими предварительными настройками, а также работа со списками блокировок.

Для каждого конкретного обхода блокировок, мы будем устанавливать свой список сайтов и ip адресов для обхода. Изменять любой из этих списков будет достаточно легко (через телеграм бот, либо вручную, но тоже несложно), потому не пугайтесь. Частью функционала Вы можете и не пользоваться — Ваше право. Весь код будет в открытом доступе, информация о Ваших данных будет храниться на локальном роутере.

Статья разбита на 2 части. Первая для тех, кому «побыстрее чтоб работало», и для тех, кто хочет покопаться в настройках и понять как это всё работает. Так что не пугайтесь размеров статьи

Необходимо

Любой Keenetic с поддержкой USB;

Актуальная версия KeeneticOs (на данный момент 3.8.3);

Flash-накопитель размером от 1Гб;

Не побояться прочитать инструкцию;

Около 30 минут времени, попивая кофе. Основная часть работы это будет время ожидания установки.

Подготовка Flash-накопителя, роутера и установка Entware

Используем инструкцию на сайте Keenetic. Для корректной работы телеграм-бота нам необходим будет файл подкачки. Возможно на «старших» моделях роутера это будет и необязательно, тогда можно воспользоваться предыдущей инструкцией (без файла подкачки), но на моём Keenetic Extra 1711 файл подкачки необходим. На флешке необходимо создать два раздела, один Linux Swap, второй — Ext4. Можно вместо Ext4 использовать NTFS, но для этого необходимо будет установить соответствующий компонент. Для работы с разделами в данной статье используется MiniTool Partition Wizard. Если что на всем известных сайтах можно найти взломанную версию, хотя, может, и бесплатная сработает.

Для установки Entware воспользуемся инструкцией на официальном сайте Keenetic.

Вставляем отформатированную флешку в роутер.

Заходим в раздел Управление – Приложения и выбираем нашу флешку.

В настройках роутера предварительно должно быть включено приложение «Сервер SMB» для доступа к подключаемым USB-дискам по сети.

Создаём папку install:

    Ставим курсор на новую папку и импортируем туда файл mipsel с компьютера с помощью третьей иконки:

    В настройках роутера заходим в раздел Управление – OPKG, выбираем нашу флешку и удаляем сценарий, если он есть и нажимаем кнопку Сохранить:

    Примерно спустя минуту заходим обратно в Управление – Приложения и выбираем нашу флешку. Видим, что у нас установился entware по наличию некоторого количества папок. Можно также в Диагностике посмотреть ход установки:

Установим необходимые компоненты роутера. В настройках роутера заходим в Общие настройки -> Изменить набор компоненты:

Поиском ищем следующие компоненты «Прокси-сервер DNS-over-TLS», «Прокси-сервер DNS-over-HTTPS», «Протокол IPv6», «SSTP VPN-сервер», «Подготовка открытых пакетов OPKG» и «Сервер SSH» затем, после обновления и перезагрузки роутера ещё следующие компоненты: «Модули ядра подсистемы Netfilter», «Пакет расширения Xtables-addons для Netfilter» и ещё раз перезагружаем роутер.

Заходим в «Сетевые правила» —> «Интернет-фильтр» и добавляем серверы DNS-over-TLS и DNS-over-HTTPS. У TLS адрес сервера 8.8.8.8:853, доменное имя TLS dns.google. У HTTPS сервер dns https://dns.google/dns-query. Должно получиться как на картинке:

    Скачиваем Putty (на данный момент актуально putty-64bit-0.76-installer.msi) и запускаем её. Простенькие настроечки (если что их можно сохранить кнопкой Save):

При возможных предупреждениях соглашаемся (кнопка Accept).

Вводим логин «root» (без кавычек), нажимаем Enter, пароль «keenetic» (также без кавычек) (при вводе пароля курсор не двигается – это нормально), также Enter. Должно отобразиться:

P.S. здесь и далее — для копирование команды в командную строку необходимо скопировать текст на этом сайте и вставить в командную строку с помощью правой кнопкой мыши

и дважды вводим пароль. Курсор при вводе пароля также не двигается.

Установка необходимых компонентов

Начинаем установку необходимых компонентов.

Вводим команду для установки необходимых компонентов Entware.

Сначала устанавливаем необходимые пакеты opkg, затем скачиваем pip для python’a (почему-то он не устанавливается корректно через opkg) и устанавливаем с помощью скрипта. Некоторое время у Вас это займёт, дождитесь. В конце установим два пакета расширения python.

Устанавливаем и настраиваем бота. Он будет скачан с сайта гитхаба, это сделано для простоты обновления. Если что, там всегда будет крайняя версия скрипта. Внутри установочника некоторые файлы будут также скачиваться с сайта (по той же причине), но об этом позже.

В редакторе нашего бота нам необходимо:

Установить api ключ, который даст вам бот BotFather (в поиске телеграма его можно найти), спросить его команду /newbot, выбрать свободное имя и скопировать необходимый ключ в поле token

    Копируем Username (логин) телеграма. Он будет использоваться для администрирования. Можно добавить несколько администраторов:

    И последние две обязательные настроечки берутся с сайта https://my.telegram.org/apps:

    Обратите внимание, все свои настройки Вы вбиваете и сохраняете на своём роутере. В конце концов код можете посмотреть сами, если умеете это делать.

    Все данные записываем в файл в нужные места:

    Это были необходимые минимальные настройки. Дело в том, что бот за Вас будет запрашивать ключи для ТОРа и Shadowsocks и устанавливать их. Вам в телеграм будут лишь приходить уведомления (отключите звук и другие оповещения, чтоб они Вас не раздражали).

    Чуть ниже этих строк есть настройки, которые можно оставить по умолчанию, но на всякий случай просмотрите их.

    Заходим в свой телеграм-бот, если необходимо нажимаем /start и выбираем сначала Установку и удаление, а затем Установку \ переустановку:

    В программе Putty можете наблюдать внутренние команды, а в телеграм-боте ход установки, а также полученные ключи от двух ботов. ВНИМАНИЕ: при включенной двухфакторной авторизации телеграма, Вам необходимо будет ввести данные в Putty. Не пугайтесь, всё работает исключительно на Вашем роутере.

    После фразы, что установка завершена нам необходимо чуть-чуть донастроить роутер.

    5. Отключение штатного DNS-сервера и перезагрузка маршрутизатора.

    Запускаем командную строку в Windows (открываем пуск и начинаем писать «Командная строка» или «cmd»).

    Пишем (ip роутера поменяете если другой).

    Логин с паролем вводим от роутера, а не entware (скорее всего admin, а пароль лично Ваш).

    Вписываем поочерёдно 3 команды:

    Роутер перезагрузится и Вы сможете пользоваться ботом работы.

    Внимание: если захотите переустановить флешку с нуля, то Вам необходимо в Putty ввести следующие команды и после перезагрузки роутера приступать к созданию флешки:

    Описание работы телеграм-бота

    При старте бот имеет две кнопки «Установка и удаление» и «Списки обхода».

    Первой кнопкой мы частично пользовались при установке.

    Также после нажатия этой кнопки (см предыдущий скриншот) существует возможность переустановить скрипты (если что, обновление бота скачиваются отдельно и вручную), удалить все созданные скрипты, переустановить мосты Тор и Shadowsocks, если они не работают.

    В пункте меню «Списки обхода» создаются кнопки, соответствующие названием файла и папки /opt/etc/unblock/. При изначальной установке там находятся 2 файла shadowsocks.txt и tor.txt, поэтому у нас будет 2 кнопки:

      При нажатии на любую из них будет возможность показать конкретный список разблокировок, добавить сайт или ip адрес в список, либо его удалить оттуда.

      При добавлении существует возможность ЛИБО добавить обход блокировок соцсетей (скачивается вот отсюда и может редактироваться в случае необходимости), ЛИБО написать доменное имя сайта, либо IP-адрес боту:

      Для удаления просто вписываете необходимый адрес и отправляете его боту.

      Подключение к своему роутеру, используя его как собственный VPN

      На устройствах из дома (wifi, по проводу) всё уже работает, но существует возможность подключаться к вашему роутеру и пользоваться теми же сайтами, которые Вы указали в списках разблокировок.

      Для этого нужно воспользоваться вот этой инструкцией на сайте Keenetic.

      А потом можно подключаться через Android, Windows, MacOS, IOs (только платный).

      Установка обхода завершена! Можете пользоваться на здоровье!

      Донаты приветствуются) куда переводить — можно найти в первых строчках бота в комментариях) но всё, естественно, по желанию.

      Пишите в комментариях чего Вы хотите в следующих версиях.

      О чём будет следующая часть статьи:

      Рассказ о внутренних особенностях установленной системы. Если кто-то хочет покопаться, либо дать совет в настройке — милости просим.

      Данный обход блокировок сейчас настроен на 2 сервиса — один Hi!Load VPN с помощью технологии Shadowsocks, второй — Тор, но Вы можете сами настроить необходимые Вам сервисы вручную, подключив их к своему телеграм-боту и он также сможет работать!

      Те люди, которые не хотят тратить на это время, могут этого не делать. Остальные — welcome 🙂

      Для тех, кто до сих пор пользуется программой teamviewer, есть способ чтобы он продолжил работать.

      Детальная настройка и всё что с этим связано

      Для установки VPN сервисов, которые поддерживаются роутером Keenetic (OpenVPN, Wireguard, IpSec, PPTP, L2TP воспользуйтесь инструкциями на официальном сайте Keenetic. Shadowsocks и Tor уже были настроены с помощью установочника телеграм-бота, здесь будет лишь отписание.

      Через Putty заходим по SSH (см самое начало статьи).

      Инициализируем ipset, создание множества IP-адресов unblock (100-ipset.sh).

      Проверьте, что в системе вашего маршрутизатора есть поддержка множества hash:net:

      Если команда никаких ошибок и сообщений не выдала, значит поддержка есть, и просто следуйте инструкции дальше. В противном случае (есть ошибка) в следующем скрипте вам нужно заменить hash:net на hash:ip. При этом вы потеряете возможность разблокировки по диапазону и CIDR.

      Скорее всего ошибок не будет у Вас.

      Создайте пустое множество адресов с именем unblock при загрузке маршрутизатора. Для этого создайте файл /opt/etc/ndm/fs.d/100-ipset.sh:

      Вставляем содержимое с помощью сочетания клавиш Shift+Insert. Далее в этой инструкции мы также будем использовать это сочетания клавиш.

      Внимание: в данном файле мы создаём ровно столько множеств для обхода блокировок, сколько нам надо. В инструкции показано 3 обхода (shadowsocks, tor и какой-то VPN, подключенный исходя из инструкций на официальном сайте), но их может быть бесконечное множество. Если Вам нужно добавить ещё один обход VPN, то Вам нужно добавить ещё одну строку в следующем файле (по аналогии с 3-5 строками). Также можно удалить 1-2 строки, если будете использовать меньшее количество обходов.

      Ссылка на скачивание (там будет храниться всегда актуальная информация).

      После этого нажимаем сохранить (клавиша F2), соглашаемся (Enter) и выход (клавиша F10). Эти сочетания также будут использоваться далее.

      Дайте права на исполнение:

      Настройка Shadowsocks на примере Highload-VPN. Не является рекламой. Пока там всё бесплатно, они обещают бесплатный доступ с небольшими ограничениями, а есть также платный доступ, доступ к российскому vpn (если например Вы из-за границы и хотите воспользоваться госуслугами или подобными сервисами). Вы можете использовать любой другой сервис, либо настроить самостоятельно Shadowsocks на своём сервере, например по этой инструкции. За основу этого пункта взята эта инструкция.

      Используем телеграм-бота для получения ключа, нажимая соответствующую кнопку

      Через некоторое время Вам в телеграм придёт ключ вида:

      Есть 2 способа создать файл настроек. Первый через python, вставив полученный ключ в переменную k. Второй «ручками»:

      В данном ключе есть 3 позиции, которые нам интересны: первая часть до значка собачки (красная), вторая — после собачки до двоеточия (синяя), третья цифры после двоеточия (зелёная).

      Первая часть это пароль, который закодирован в кодировке base64, поэтому нам нужно её раскодировать. Можем использовать этот сайт. В верхнее поле вставляем первую («красную») часть нашей ссылки и нажимаем кнопку Decode. Появится декодированная строка. Нас будет интересовать пароль, который находится после двоеточия.

      Возвращаемся в Putty и выполняем команду:

      Редактируем наш файл. Изменяем строку server (в моём случае 5.5.5.5) на ip адрес (или доменное имя) из ключа, который мы получили на сайте (см вторую картинку наверх). Это «синяя» часть нашего ключа. «Зелёную» часть нашего ключа копируем в server_port (в моём случае 666). В поле password мы копируем пароль из декодированной строки. local_port изменяем на любой свободный порт. Можно оставить этот:

      Сохраняем и выходим (напомню F2,F10).

      Редактируем исполняемый файл Shadowsocks:

      Меняем ss-local на ss-redir:

Сохраняем и выходим.

Настройка Tor. Эта часть инструкции взята вот отсюда, включая саму статью и комментарии.

Удаляем содержимое конфигурационного файла:

Ищем мосты для Тора. Их можно найти вот тут или вот тут.

Открываем файл конфигурации Тор. Актуальный (только без актуальных мостов) можно всегда скачать отсюда.

Вставьте (Shift+Insert) содержимое (сразу не закрывайте, дочитайте ещё один пункт):

В конец этого файла вставляем мосты, полученные через сайт или через телеграм-бот. Перед каждым мостом (строкой) нужно написать слово «Bridge» и поставить пробел. Например:

Сохраняем и выходим.

Установочником бота создана папка /opt/etc/unblock. Там располагаются файлы со списками для наших различных обходов. Если Вы устанавливаете вручную, то нужна следующая команда для создания папки:

Создаём сами списки. Их должно быть ровно столько, сколько обходов мы собираемся создавать. Именно их названия будут использоваться в телеграм-боте для создания списков разблокировок. Напомню, в нашем случае их 3 (вводим последовательно):

В разные файлы мы можем вносить разные домены и ip-адреса. Предлагаю два из них заполнить только одним сайтом, который будет отображать ip адрес, а один из них наполнить основным списком адресов. В моём случае первый файл будет основным, а тор и vpn будет «запасными». В основной вводим свои сайты примерно в таком виде:

В таком виде фейсубокотвиттероинстаграммы должны открываться через браузер, как и другие сайты из этого списка. Если что мой актуальный список будет тут.

Пока нет способа, который будет работать по маске. Кстати, чтобы узнать какие конкретные домены должны быть внесены в этот список, проще всего зайти через обычный тор-браузер, нажать F12 и зайти на нужный сайт. Во вкладке Network будет список различных доменов, которые используются. Это нужно для тех сайтов, где используется различные другие домены внутри основного сайта.

В другие два для проверки добавим по одному сайту: myip.ru и whatismyipaddress.com, а для тора ещё сайт check.torproject.org. В конце концов, изменить списки вы сможете всегда по Вашему желанию либо через Putty, либо через телеграм-бот.

Кстати для обхода teamviewer в любой из списков обхода добавить следующие адреса (актуальные взял вот отсюда, предварительно добавив в список обхода основной сайт teamviewer.com, чтоб данный список можно было посмотреть ):

Сохраняем списки и выходим. Создайте хотя бы пустые списки, иначе телеграм-бот их не увидит.

Скрипт для заполнения множества unblock IP-адресами заданного списка доменов (unblock_ipset.sh) и дополнительного конфигурационного файла dnsmasq из заданного списка доменов (unblock_dnsmasq.sh).

Создадим скрипт /opt/bin/unblock_ipset.sh:

Обратите внимание, здесь код разделён на 3 части, т.к. у нас три обхода блокировок (10-38, 45-74, 80-109). Если что добавляем ещё подобные строки, заменяя названия ipset’ов и файлов со списком адресов:

В конце файла я оставил место под скрипты для доп. обходов (нашего vpn1), их нужно вставлять например вместо строки #script0, #script1 итд в зависимости от количества обходов. Актуальную часть скрипта можно отсюда, а на данный момент:

Даём права на использование:

Создадим скрипт /opt/bin/unblock_dnsmasq.sh:

Здесь аналогичная картина — код разбит на 3 части (3-12,15-24 и доп. скрипты). При необходимости увеличиваем за счёт #script0 и т.д пока так (актуальную знаете где взять):

Сохраняем и выходим.

Даём права на использование:

Запускаем скрипт и затем проверяем создался ли файл. Здесь 2 команды, вводим последовательно:

Картина будет примерно такая:

Скрипт ручного принудительного обновления системы после редактирования списка доменов (unblock_update.sh). Создаём его:

Записываем содержимое, сохраняем и закрываем:

Даём права на использование:

Скрипт автоматического заполнения множества unblock при загрузке маршрутизатора (S99unblock). Создаём его:

Записываем содержимое, сохраняем и закрываем:

Даём права на использование:

Перенаправление пакетов с адресатами.

Если кроме тора и shadowsocks мы используем другие VPN, то нам нужно узнать их имена. Вводим команду:

Список будет большим (может потребоваться прокрутка), но по тем параметрам, которые видны, Вы должны догадаться какой выбрать. У меня это ppp1, поэтому в следующем файле будем использовать его.

Здесь будут отображаться все созданные Вами vpn (кроме shadowsocks и tor).

Создаём ещё один файл, который будет перенаправлять пакеты с адресатами:

По аналогии внизу (вместо #script0 и т.д.) нам необходимо вставить дополнительный код (актуальный всегда тут). Тут аккуратненько) вместо ppp1 вставляем нужное нам название интерфейса (чуть повыше я писал):

Сохраняем и даём права на использование:

Настройка dnsmasq и подключение дополнительного конфигурационного файла к dnsmasq.

Удалим содержимое конфигурационного файла dnsmasq и создадим вновь (команды вводим последовательно):

Записываем содержимое. При необходимости меняем ip роутера. Сохраняем и закрываем.

Добавление задачи в cron для периодического обновления содержимого множества unblock.

В конец добавляем строку:

При желании остальные строчки можно закомментировать, поставив решётку в начале. Затем сохраняем и закрываем:

После перезагрузки роутера у меня почему-то пропал доступ по 222 порту через putty по ssh. В итоге я подключаюсь по 22 порту через тот же putty, ввожу логин с паролем от роутера, пишу команду:

и можно использовать любые команды Entware по типу тех, которые мы вводили в данной инструкции.

Заключение

Надеюсь Вам всё понравилось) Пишите в комментариях что бы Вы хотели улучшить, Ваши замечания. «Спасибки» и прочее также приветствуются).

Источник

Читайте также:  Изменить пароль роутера мгтс gpon