- Вся активность
Массовая проблема с роутерами Keenetic
Тут массовая проблема с актуальными роутерами Keenetic нарисовалась (прошивка 3.5.6)
Из-за проблем с сертификатом пропадает веб-доступ до роутера, а сам роутер начинает через некоторое время глючить, CPU под 100%
Нужно заходить telnet’ом и убирать сертификат
ip http ssl acme revoke <буквыцифры>.keenetic.io
Либо сбрасывать роутер в заводские и перенастраивать.
Разработчики Keenetic на голубом глазу говорят «проблема известная, обновляйтесь»
Соотв. рекомендуется обновиться, где можно/важно, чтобы потом не мудохаться
-
Вставить ник
- Цитата
- Ответить с цитированием
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах
6 часов назад, azhur сказал:
А что за проблема с сертификатом, просрочился или что-то не такое тривиальное?
https://4pda.to/forum/index.php?showtopic=883101&st=14780#entry106789105
Цитата
проблема в длине цепочки SSL-сертификатов для домена ***.keenetic.io, которая возникает при записи в память устройства
3 часа назад, VolanD666 сказал:
Не понял. Это вы просто информацию доносите или что-то спросить хотите?
Я информирую.
Разочаровал Keenetic — за такие деньги ещё такие косяки. Эти игры с Облаками и сертификатами от letsencrypt.
Рекомендовали роутеры Keenetic всем, а теперь ТП надо их сбрасывать в заводские и перенастраивать, т.к. не работают из-за 100% загрузки CPU и без доступа до веб.
-
Вставить ник
- Цитата
- Ответить с цитированием
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах
если именно кинетик — белый корпус, то обновление через телнет до последней версии, если зухель-кинетик — чёрный корпус, то обновление до последней беты?
команды телнет
белый кинетик:
Цитата
components list stable components commit
чёрный зухель-кинетик:
Цитата
components list delta components commit
отсюда — https://help.keenetic.com/hc/ru/articles/360021607760-Обновление-прошивки-микропрограммы-роутера-через-интерфейс-командной-строки
В 01.06.2021 в 13:37, Urs_ak сказал:
Разочаровал Keenetic — за такие деньги ещё такие косяки. Эти игры с Облаками и сертификатами от letsencrypt.
ну это, по моему не только к кинетику относится, а ко всем железякам которые лепят с https вэбмордой, сертификат имеет сроки, и после окончания которых производителю придётся выпускать новую прошивку с обновлёнными сертификатами? а если не будет выпускать — кирпич? или танцы с бубном и игры с таймерами?
-
Вставить ник
- Цитата
- Ответить с цитированием
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах
Может сделать скрипт и просто обновить все роутеры в сети или они не ваши? Либо сделать кнопку ТП, при обращении- предлагать обновление
-
Вставить ник
- Цитата
- Ответить с цитированием
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, sheft сказал:
если зухель-кинетик — чёрный корпус, то обновление до последней беты?
Старые кинетики не подвержены
-
Вставить ник
- Цитата
- Ответить с цитированием
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах
29 минут назад, jffulcrum сказал:
Старые кинетики не подвержены
Подвержены, в комнате стоит zyxel keenetik air, понадобилось включить на нём 2.4 для ковыряния старого смартфона, всё остальное работает в 5ггц и всё, зайти на него я не смог, плевался и чертыхался с ноута и смарта, ошибка в браузере, перепробовал всё что было начинае с IE6, подумал что умер роутер, но как то очень странно что раздача интернета работало и проблем со связью не было, только неуправляемый. Хорошо что не отключил управление по телнету на нём…
Зависит от того какая прошивка на нём стоит, есть ещё у меня зухель кинетик 4г с прошивкой v2.08(AAUR.4)C2 — вебморда http без сертификатов, с ней проблем нет.
-
Вставить ник
- Цитата
- Ответить с цитированием
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах
Стоит дома в спальне Keenetc City. Чистые http, telnet, ssh. Никаких эсов. Он, правда, в режиме бриджа, роутер не он. Может, поэтому.
-
Вставить ник
- Цитата
- Ответить с цитированием
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах
Join the conversation
You can post now and register later.
If you have an account, sign in now to post with your account.
As of this morning the proxy page isn’t working for me, can’t figure out what might have changed over the weekend and the log file isn’t very helpful. I have hard coded a request for a token and that is working, so I don’t think it’s my service. Any advice?
config file:
<?xml version=»1.0″ encoding=»utf-8″ ?>
<ProxyConfig allowedReferers=»*»
logFile=»proxy_log.log»
mustMatch=»true»>
<serverUrls>
<serverUrl url=»http://gis.northcharleston.org/arcgis/rest/services«
matchAll=»false» username=»xxx» password=»xxx»/>
</serverUrls>
</ProxyConfig>
the log file shows:
09-02-14 13:20:07 | GET detected
09-02-14 13:20:07 | Authorization failed : {«error»:{«code»:499,»message»:»Token Required»,»details»:[]}}
09-02-14 13:20:07 | Retry attempt 1 of 3
09-02-14 13:20:07 | Resource using ArcGIS Server security
09-02-14 13:20:07 | Got token endpoint
09-02-14 13:20:09 | Authorization failed : {«error»:{«code»:499,»message»:»Token Required»,»details»:[]}}
09-02-14 13:20:09 | Retry attempt 2 of 3
09-02-14 13:20:09 | Resource using ArcGIS Server security
09-02-14 13:20:09 | Got token endpoint
09-02-14 13:20:09 | Authorization failed : {«error»:{«code»:499,»message»:»Token Required»,»details»:[]}}
09-02-14 13:20:09 | Retry attempt 3 of 3
09-02-14 13:20:09 | Resource using ArcGIS Server security
09-02-14 13:20:09 | Got token endpoint
09-02-14 13:20:09 | Removing session value
09-02-14 13:20:09 | Authorization failed : {«error»:{«code»:499,»message»:»Token Required»,»details»:[]}}
09-02-14 13:20:09 | Proxy complete
Коды ошибок VPN
Ошибки 600, 601, 603, 606, 607, 610, 613, 614, 616, 618, 632, 635, 637, 638, 645
Перезагрузите компьютер. Если ошибка не исчезает, попробуйте удалить текущее VPN-соединение и создать новое с помощью NetHelper . Проверьте Ваш компьютер на предмет наличия вирусов. Удалите недавно установленные программы, либо отмените недавние изменения в настройках Windows, если такие были.
Ошибки 604, 605, 608, 609, 615, 620
Телефонная книга подсистемы удаленного доступа Windows и текущая конфигурация Удаленного Доступа к Сети несовместимы друг с другом.
Перезагрузите компьютер. Если ошибка не исчезает, то удалите и заново создайте VPN соединение с помощью NetHelper.
Ошибки 611, 612
Внутренняя конфигурация сети Windows некорректно настроена.
Внутренняя конфигурация сети Windows некорректно настроена. Перезагрузите компьютер и убедитесь, что локальная сеть нормально функционирует на Вашем компьютере. Если ошибка не исчезает, то обращайтесь в службу тех. поддержки.
Внутренняя конфигурация сети Windows некорректно настроена. Кроме того, ошибка может быть вызвана нехваткой ресурсов (памяти) на Вашем компьютере. Попробуйте закрыть запущенные программы.
Ошибка 617
Windows находится в процессе подключения к Интернету, либо произошла внутренняя ошибка Windows.
Подождите несколько минут. Если подключение не установилось, и при повторном подключении ошибка повторяется, то перезагрузите компьютер.
Ошибка 619
Неправильно настроены параметры безопасности VPN соединения, VPN-трафик блокируется на пути к шлюзу, либо настройки VPN не вступили в действие.
В свойствах VPN соединения откройте вкладку «Безопасность» — должно быть выбрано «Обычные (рекомендуемые параметры)» и должна быть снята галочка «Требуется шифрование данных (иначе отключаться)». Перезагрузите компьютер и попробуйте подключиться еще раз.
Вы также можете удалить существующее VPN-соединение и создать новое автоматически, используя NetHelper.
Ошибка 624
Проблема при подключении к VPN.
Отсутствует файл RASPHONE.PBK в {папка с Windows}/system32/RAS или … Documents and Settings/{ваш юзер или все юзеры}/Application Data/Microsoft/Network/Connections/Pbk. Если файл присутствует, то попробуйте переименовать его во что-то другое, напримерRASPHONE.OLD, также можно запустить rasphone.exe, может помочь.
Стоит запрет на создание подключения. — Разрешить пользователям создавать новые подключения.
>Запрещён доступ к папке Documents and Settings/All Users/Application Data/Microsoft/Network/Connections/Pbk — Открыть доступ к папке. Но скорее всего проблему удастся решить таким образом: снять галку с пункта «Только для чтения» в свойствах файла Rasphone.pbk.
Внимание!!!
Если Вы не имеете навыков администрирования операционной системы Windows, производить описанные действия самостоятельно не рекомендуется!
Ошибка 629
Такой тип ошибки возникает, когда отсутствует связь между вашим компьютером и сервером доступа.
Эта ошибка возникает в том случае, если ваш логин и пароль уже подключены (вспомните, не давали ли вы кому нибудь из знакомых попользоваться вашим интернетом), если нет, тогда данное соединение неразорвано на сервере. Для этого подождите 10 мин, и попробуйте через это время подключиться заново… Если ничего не помогло с 3-й попытки, то советую обратиться в службу поддержки.
Ошибка 650
Сервер удаленного доступа не отвечает. Недоступен сервер доступа в Интернет.
Проверьте, включено ли «Подключение по локальной сети», исправна ли сетевая карта, исправен ли сетевой кабель, правильно-ли выставлен ли в настройках IP-соединения IP-адрес клиента.
Ошибка 651
В случае подключения к виртуальной частной сети (VPN) при настройке подключения, вероятно, был задан неправильный адрес TCP/IP, или сервер, к которому выполняется попытка подключения, в настоящий момент недоступен.
Ошибка 678
Не удалось установить подключение, поскольку удаленный компьютер не ответил на запрос подключения. Выполните следующие действия:
Проверьте правильность имени узла или IP-адреса конечного сервера и повторите попытку подключения. Чтобы просмотреть свойства подключения, щелкните нужное подключение правой кнопкой мыши, выберите команду «Свойства», а затем просмотрите сведения на вкладке «Общие». Для получения дополнительных сведений обратитесь в техподдержку.
Попытки подключения могут блокироваться сетевым устройством, таким как брандмауэр, или в результате перегрузки сети. Для получения дополнительных сведений обратитесь к администратору.
Ошибка 691
Проблема при подключении к VPN.
Нет денег на счету пользователя.
Неправильно указан логин или пароль.
Неправильно указан в настройках сервер VPN.
Установлена блокировка лицевого счета клиента в системе статистики.
Ошибка 718
Подключение по протоколу PPP было инициализировано, но его не удалось установить, поскольку удаленный компьютер не ответил своевременно или его ответ был недопустимым.>
Попробуйте ввести в поле «Имя пользователя» имя домена и имя пользователя в следующем формате: ДОМЕНимя_пользователя и повторите попытку подключения.
Попытки подключения могут блокироваться сетевым устройством, таким как брандмауэр, или в результате перегрузки сети. Попробуйте установить подключение позже. Для получения дополнительных сведений обратитесь к администратору.
Возможно, необходимо установить обновленные драйверы сетевого карты или другого коммуникационного устройства. Дополнительные сведения можно получить у изготовителя оборудования.
Ошибка 721
Удаленный компьютер не отвечает.
Эта проблема может возникнуть, если брандмауэром сети не разрешен трафик по протоколу GRE. GRE представляет собой IP-протокол 47. PPTP использует GRE для туннелирования данных. Для решения этой проблемы следует настроить брандмауэр сети на разрешение GRE-протокола 47. Следует также убедиться, что брандмауэром сети разрешен трафик TCP через порт 1723. Для установления VPN-подключения с использованием PPTP должны быть выполнены оба этих условия.
Ошибка 735
Запрошенный адрес был отвергнут сервером.
Вы неправильно настроили VPN-соединение для доступа в сеть Интернет. Скорее всего в настройках TCP/IP соединения VPN вы прописали конкретный IP-адрес, когда он должен выделяется автоматически.
Ошибка 737
Локальный и удаленный компьютер, участвовавшие в сеансе связи PPP, являются одним и тем же компьютером. Это означает, что устройство, например модем, на линии получает отраженные символы обратно. Попробуйте выполнить на устройствах операцию сброса.
Для серверов других изготовителей это может означать, что удаленный сервер перед соединением пытается выполнить вход в систему в режиме телетайпа (TTY). Настройку терминала при использовании после установления связи можно выполнить на вкладке безопасность
Ошибки 741 — 743
Неверно настроены параметры шифрования.
<p»>Зайдите в настройки VPN соединения, и во вкладке «Безопасность» отключите пункт «шифрование данных».
Ошибка 769
Вероятнее всего, сетевой адаптер отключен в диспетчере устройств.
Включите сетевой адаптер и повторите попытку подключения.
Ошибка 789
Выбран неверный тип VPN соединения
Зайдите в настройки VPN соединения и на вкладке «Сеть» из списка «Тип VPN» выберите «Автоматически». Попробуйте повторно подключиться.
Ошибка 800
Проблема при подключении к VPN
Возможные причины:
Фаерволл блокирует исходящие запросы на VPN соединения, что в принципе случается, но не так часто.
Запрос по какой-либо причине не доходит до сервера, т.е. возможно магистральное оборудование вашего сегмента не пропускает запрос в силу возникшей нагрузки или сбоя.
Сервер отправляет ответ о невозможности подключиться т.к. в данный момент наблюдается большое число одновременных попыток соединения с Вашего аккаунта.
По каким-то причинам не работает Ваш комплект оборудования.
Возможные исправления:
Проверить включено и работает в этот момент времени.
Проверить прохождение сигнала командой ping к vpn-серверу.
Перезагрузить свой компьютер
- Вся активность
Массовая проблема с роутерами Keenetic
Тут массовая проблема с актуальными роутерами Keenetic нарисовалась (прошивка 3.5.6)
Из-за проблем с сертификатом пропадает веб-доступ до роутера, а сам роутер начинает через некоторое время глючить, CPU под 100%
Нужно заходить telnet’ом и убирать сертификат
ip http ssl acme revoke <буквыцифры>.keenetic.io
Либо сбрасывать роутер в заводские и перенастраивать.
Разработчики Keenetic на голубом глазу говорят «проблема известная, обновляйтесь»
Соотв. рекомендуется обновиться, где можно/важно, чтобы потом не мудохаться
-
Вставить ник
- Цитата
- Ответить с цитированием
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах
6 часов назад, azhur сказал:
А что за проблема с сертификатом, просрочился или что-то не такое тривиальное?
https://4pda.to/forum/index.php?showtopic=883101&st=14780#entry106789105
Цитата
проблема в длине цепочки SSL-сертификатов для домена ***.keenetic.io, которая возникает при записи в память устройства
3 часа назад, VolanD666 сказал:
Не понял. Это вы просто информацию доносите или что-то спросить хотите?
Я информирую.
Разочаровал Keenetic — за такие деньги ещё такие косяки. Эти игры с Облаками и сертификатами от letsencrypt.
Рекомендовали роутеры Keenetic всем, а теперь ТП надо их сбрасывать в заводские и перенастраивать, т.к. не работают из-за 100% загрузки CPU и без доступа до веб.
-
Вставить ник
- Цитата
- Ответить с цитированием
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах
если именно кинетик — белый корпус, то обновление через телнет до последней версии, если зухель-кинетик — чёрный корпус, то обновление до последней беты?
команды телнет
белый кинетик:
Цитата
components list stable components commit
чёрный зухель-кинетик:
Цитата
components list delta components commit
отсюда — https://help.keenetic.com/hc/ru/articles/360021607760-Обновление-прошивки-микропрограммы-роутера-через-интерфейс-командной-строки
В 01.06.2021 в 13:37, Urs_ak сказал:
Разочаровал Keenetic — за такие деньги ещё такие косяки. Эти игры с Облаками и сертификатами от letsencrypt.
ну это, по моему не только к кинетику относится, а ко всем железякам которые лепят с https вэбмордой, сертификат имеет сроки, и после окончания которых производителю придётся выпускать новую прошивку с обновлёнными сертификатами? а если не будет выпускать — кирпич? или танцы с бубном и игры с таймерами?
-
Вставить ник
- Цитата
- Ответить с цитированием
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах
Может сделать скрипт и просто обновить все роутеры в сети или они не ваши? Либо сделать кнопку ТП, при обращении- предлагать обновление
-
Вставить ник
- Цитата
- Ответить с цитированием
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, sheft сказал:
если зухель-кинетик — чёрный корпус, то обновление до последней беты?
Старые кинетики не подвержены
-
Вставить ник
- Цитата
- Ответить с цитированием
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах
29 минут назад, jffulcrum сказал:
Старые кинетики не подвержены
Подвержены, в комнате стоит zyxel keenetik air, понадобилось включить на нём 2.4 для ковыряния старого смартфона, всё остальное работает в 5ггц и всё, зайти на него я не смог, плевался и чертыхался с ноута и смарта, ошибка в браузере, перепробовал всё что было начинае с IE6, подумал что умер роутер, но как то очень странно что раздача интернета работало и проблем со связью не было, только неуправляемый. Хорошо что не отключил управление по телнету на нём…
Зависит от того какая прошивка на нём стоит, есть ещё у меня зухель кинетик 4г с прошивкой v2.08(AAUR.4)C2 — вебморда http без сертификатов, с ней проблем нет.
-
Вставить ник
- Цитата
- Ответить с цитированием
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах
Стоит дома в спальне Keenetc City. Чистые http, telnet, ssh. Никаких эсов. Он, правда, в режиме бриджа, роутер не он. Может, поэтому.
-
Вставить ник
- Цитата
- Ответить с цитированием
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах
подскажите конкретно, нужно подключение по сим карте к оператору Cosmote (Греция)
нам посоветовали: Keenetic Hero 4G+ (KN-2311)
местный оператор дает роутер с частотами:
Alcatel LINKZONE MW45V: мобильный роутер
LTE FDD B1/3/7/8/20 (2100/1800/2600/900/800 МГц)
UMTS B1/8 (2100/900 МГц)
подскажите, будет ли работать Keenetic Hero 4G+ (KN-2311) с этими частотами и конкретно С ЭТИМ оператором ???
кто небудь пробовал, КОСМОТЕ ВОДОФОН ???
мы пробовали подключиться к космоте через Huawei B311-221 4G 3G WiFi роутер под SIM-карту
Он сеть Cosmote видит, но не подключается…
-
Вставить ник
- Цитата
- Ответить с цитированием
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах
Join the conversation
You can post now and register later.
If you have an account, sign in now to post with your account.
Основных причин появления ошибки 498 в Android три:
1. Ошибка 498 вызвана проблемами с соединением в Интернет.
В этом случае попробуйте подключиться через другой тип соединения. Например Ошибка 498 у вас появилась на 3G-соединении — пробуйте
2. Ошибка 498 вызвана проблемами с кешем.
Пробуем чистить кеш Google Play Market.
Для этого идем в Настройки -> Приложения -> Все, и ищем там Google Play Маркет:
Кликаем на нем, попадаем в свойства Google Play Маркет:
Здесь нам нужно нажать кнопку Очистить кеш, затем Стереть данные.
После этого желательно перезагрузить устройство.
3. Ошибка 498 может быть связана с проблемами на стороне Google
Такое хоть и очень редко, но бывает. Подождите пару часов — такого рода проблемы на стороне Google обычно решаются оперативно.
Прошло почти 3 месяца с моей предыдущей статьи, я решил написать ещё одну. Она частично будет повторять мою предыдущую статью и статью, на основе которой она была написана. Исходя из различных комментариев на форумах и под этими статьями, я попытался в этой инструкции показать, как можно использовать различные обходы блокировок. Для большинства специалистов по этой теме ничего нового тут не будет. А для остальных, думаю, будет что почитать и чем заняться на досуге. Сильно страшного в этой инструкции, как и в предыдущих, ничего нет, нужно просто двигаться по ней, не пропуская ни одного шага.
Версия бота: 2.0 от 15.02.2023
Итак, зачем нужен этот обход блокировок:
-
Для захода на необходимые сайты, которые блокируются в любой конкретной стране.
-
Для «обмана» сайтов из других стран, которые не хотят работать для граждан конкретной страны.
С помощью действий, описанных в этой статье, Вы сможете подключить все устройства домашней сети (телефоны, смарт-тв, компьютеры и ноутбуки и другие «домашние» устройства) к данному обходу блокировок, а также подключаться к Вашему роутеру не из дома и пользоваться его обходом блокировок для доступа к любимым сайтам и приложениям. Кроме того, из обеих этих сетей (домашней и через подключение к роутеру), из любого браузера можно будет пользоваться 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.
-
Скачиваем mipsel.
-
Вставляем отформатированную флешку в роутер.
-
Заходим в раздел Управление – Приложения и выбираем нашу флешку.
В настройках роутера предварительно должно быть включено приложение «Сервер 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. Должно получиться как на картинке:
-
UPD 02.01.2022: я рекомендую добавить все dns-over-http и *-tls, указанные в этой статье
-
Скачиваем Putty (на данный момент актуально putty-64bit-0.76-installer.msi) и запускаем её. Простенькие настроечки (если что их можно сохранить кнопкой Save):
При возможных предупреждениях соглашаемся (кнопка Accept).
-
Вводим логин «root» (без кавычек), нажимаем Enter, пароль «keenetic» (также без кавычек) (при вводе пароля курсор не двигается – это нормально), также Enter. Должно отобразиться:
P.S. здесь и далее — для копирование команды в командную строку необходимо скопировать текст на этом сайте и вставить в командную строку с помощью правой кнопкой мыши
-
Вводим команду:
passwd
и дважды вводим пароль. Курсор при вводе пароля также не двигается.
-
Обновим opkg:
opkg update
Установка необходимых компонентов
-
Начинаем установку необходимых компонентов.
-
Вводим команду для установки необходимых компонентов Entware.
Сначала устанавливаем необходимые пакеты opkg, затем скачиваем pip для python’a (почему-то он не устанавливается корректно через opkg) и устанавливаем с помощью скрипта. Некоторое время у Вас это займёт, дождитесь. В конце установим три пакета расширения python.
opkg install mc tor tor-geoip bind-dig cron dnsmasq-full ipset iptables wget wget-ssl obfs4 shadowsocks-libev-ss-redir shadowsocks-libev-config python3 python3-pip v2ray trojan
wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
python get-pip.py
pip install pyTelegramBotAPI
pip install telethon
-
Устанавливаем и настраиваем бота. Он будет скачан с сайта гитхаба, это сделано для простоты обновления. Если что, там всегда будет крайняя версия скрипта. Внутри установочника некоторые файлы будут также скачиваться с сайта (по той же причине), но об этом позже.
wget https://raw.githubusercontent.com/tas-unn/bypass_keenetic/master/bot.py --no-check-certificate -O /opt/etc/bot.py
mcedit /opt/etc/bot_config.py
-
В редакторе нашего бота нам необходимо:
-
Установить api ключ, который даст вам бот BotFather (в поиске телеграма его можно найти), спросить его команду /newbot, выбрать свободное имя и скопировать необходимый ключ в поле token
-
Копируем Username (логин) телеграма. Он будет использоваться для администрирования. Можно добавить несколько администраторов:
-
И последние две обязательные настроечки берутся с сайта https://my.telegram.org/apps:
-
Обратите внимание, все свои настройки Вы вбиваете и сохраняете на своём роутере. В конце концов код можете посмотреть сами, если умеете это делать.
-
Все данные записываем в файл в нужные места:
-
Это были необходимые минимальные настройки. Дело в том, что бот за Вас будет запрашивать мосты для ТОРа. Вам в телеграм будут лишь приходить уведомления (отключите звук и другие оповещения, чтоб они Вас не раздражали).
-
Ключи для Shadowsocks, Vmess и Trojan необходимо устанавливать будет вручную
-
Чуть ниже этих строк есть настройки, которые можно оставить по умолчанию, но на всякий случай просмотрите их.
-
Запускаем бота:
python /opt/etc/bot.py
-
Заходим в свой телеграм-бот, если необходимо нажимаем /start и выбираем сначала Установку и удаление, а затем Установку переустановку:
-
В программе Putty можете наблюдать внутренние команды, а в телеграм-боте ход установки, а также полученные ключи от двух ботов. ВНИМАНИЕ: при включенной двухфакторной авторизации телеграма, Вам необходимо будет ввести данные в Putty. Не пугайтесь, всё работает исключительно на Вашем роутере.
-
После фразы, что установка завершена нам необходимо чуть-чуть донастроить роутер.
5. Отключение штатного DNS-сервера и перезагрузка маршрутизатора.
-
Запускаем командную строку в Windows (открываем пуск и начинаем писать «Командная строка» или «cmd»).
-
Пишем (ip роутера поменяете если другой).
telnet 192.168.1.1
-
Логин с паролем вводим от роутера, а не entware (скорее всего admin, а пароль лично Ваш).
-
Вписываем поочерёдно 3 команды:
opkg dns-override
system configuration save
system reboot
-
Роутер перезагрузится и Вы сможете пользоваться ботом работы.
-
Внимание: если захотите переустановить флешку с нуля, то Вам необходимо в Putty ввести следующие команды и после перезагрузки роутера приступать к созданию флешки:
no opkg dns-override
system configuration save
system reboot
Описание работы телеграм-бота
-
При старте бот имеет 3 кнопки «Установка и удаление», «Ключи и мосты «и «Списки обхода».
-
Первой кнопкой мы частично пользовались при установке.
-
Кнопка «Ключи и мосты» переустанавливаетустанавливает ключи Shadowsocks, Vmess, Trojan, а также мосты Tor. Для мостов Tor существует получение в автоматическом режиме с помощью телеграм.
-
В пункте меню «Списки обхода» создаются кнопки, соответствующие названием файла и папки /opt/etc/unblock/. При изначальной установке там находятся 4 файла shadowsocks.txt, trojan.txt, vmess.txt и tor.txt, поэтому у нас будет 4 кнопки
-
При нажатии на любую из них будет возможность показать конкретный список разблокировок, добавить сайт или 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:
ipset create test hash:net
-
Если команда никаких ошибок и сообщений не выдала, значит поддержка есть, и просто следуйте инструкции дальше. В противном случае (есть ошибка) в следующем скрипте вам нужно заменить hash:net на hash:ip. При этом вы потеряете возможность разблокировки по диапазону и CIDR.
Скорее всего ошибок не будет у Вас.
-
Создайте пустое множество адресов с именем unblock при загрузке маршрутизатора. Для этого создайте файл /opt/etc/ndm/fs.d/100-ipset.sh:
mcedit /opt/etc/ndm/fs.d/100-ipset.sh
-
Вставляем содержимое с помощью сочетания клавиш Shift+Insert. Далее в этой инструкции мы также будем использовать это сочетания клавиш.
-
Внимание: в данном файле мы создаём ровно столько множеств для обхода блокировок, сколько нам надо. В инструкции показано 3 обхода (shadowsocks, tor и какой-то VPN, подключенный исходя из инструкций на официальном сайте), но их может быть бесконечное множество. Если Вам нужно добавить ещё один обход VPN, то Вам нужно добавить ещё одну строку в следующем файле (по аналогии с 3-5 строками). Также можно удалить 1-2 строки, если будете использовать меньшее количество обходов.
#!/bin/sh [ "$1" != "start" ] && exit 0 ipset create unblocksh hash:net -exist ipset create unblocktor hash:net -exist ipset create unblocktroj hash:net -exist ipset create unblockvmess hash:net -exist #ipset create unblockvpn hash:net -exist #если нужно раскомментируем exit 0
-
Ссылка на скачивание (там будет храниться всегда актуальная информация).
-
После этого нажимаем сохранить (клавиша F2), соглашаемся (Enter) и выход (клавиша F10). Эти сочетания также будут использоваться далее.
-
Дайте права на исполнение:
chmod +x /opt/etc/ndm/fs.d/100-ipset.sh
-
Настройка Shadowsocks на примере Highload-VPN. Не является рекламой. Пока там всё бесплатно, они обещают бесплатный доступ с небольшими ограничениями, а есть также платный доступ, доступ к российскому vpn (если например Вы из-за границы и хотите воспользоваться госуслугами или подобными сервисами). Вы можете использовать любой другой сервис, либо настроить самостоятельно Shadowsocks на своём сервере, например по этой инструкции. За основу этого пункта взята эта инструкция.
-
Используем телеграм-бота для получения ключа
-
Через некоторое время Вам в телеграм придёт ключ вида:
ss:/password@serverip:port/?outline=1
Есть 2 способа создать файл настроек. Первый через python, вставив полученный ключ в переменную k. Второй «ручками»:
-
В данном ключе есть 3 позиции, которые нам интересны: первая часть до значка собачки (красная), вторая — после собачки до двоеточия (синяя), третья цифры после двоеточия (зелёная).
-
Первая часть это пароль, который закодирован в кодировке base64, поэтому нам нужно её раскодировать. Можем использовать этот сайт. В верхнее поле вставляем первую («красную») часть нашей ссылки и нажимаем кнопку Decode. Появится декодированная строка. Нас будет интересовать пароль, который находится после двоеточия.
-
Возвращаемся в Putty и выполняем команду:
mcedit /opt/etc/shadowsocks.json
-
Редактируем наш файл. Изменяем строку server (в моём случае 5.5.5.5) на ip адрес (или доменное имя) из ключа, который мы получили на сайте (см вторую картинку наверх). Это «синяя» часть нашего ключа. «Зелёную» часть нашего ключа копируем в server_port (в моём случае 666). В поле password мы копируем пароль из декодированной строки. local_port изменяем на любой свободный порт. Можно оставить этот:
{
"server":["5.5.5.5"],
"mode":"tcp_and_udp",
"server_port":666,
"password":"mypass",
"timeout":86400,
"method":"chacha20-ietf-poly1305",
"local_address": "::",
"local_port": 1082,
"fast_open": false,
"ipv6_first": true
}
Сохраняем и выходим (напомню F2,F10).
-
Редактируем исполняемый файл Shadowsocks:
mcedit /opt/etc/init.d/S22shadowsocks
-
Меняем ss-local на ss-redir:
Сохраняем и выходим.
-
Настройка Tor. Эта часть инструкции взята вот отсюда, включая саму статью и комментарии.
-
Удаляем содержимое конфигурационного файла:
cat /dev/null > /opt/etc/tor/torrc
-
Ищем мосты для Тора. Их можно найти вот тут или вот тут.
-
Открываем файл конфигурации Тор. Актуальный (только без актуальных мостов) можно всегда скачать отсюда.
mcedit /opt/etc/tor/torrc
-
Вставьте (Shift+Insert) содержимое (сразу не закрывайте, дочитайте ещё один пункт):
User root
PidFile /opt/var/run/tor.pid
ExcludeExitNodes {RU},{UA},{AM},{KG},{BY}
StrictNodes 1
TransPort 0.0.0.0:9141
ExitRelay 0
ExitPolicy reject *:*
ExitPolicy reject6 *:*
GeoIPFile /opt/share/tor/geoip
GeoIPv6File /opt/share/tor/geoip6
DataDirectory /opt/tmp/tor
VirtualAddrNetwork 10.254.0.0/16
DNSPort 127.0.0.1:9053
AutomapHostsOnResolve 1
UseBridges 1
ClientTransportPlugin obfs4 exec /opt/sbin/obfs4proxy managed
-
В конец этого файла вставляем мосты, полученные через сайт или через телеграм-бот. Перед каждым мостом (строкой) нужно написать слово «Bridge» и поставить пробел. Например:
Bridge obfs4 15.18.22.16:123 C06700D83A2D cert=q34/VfQ+hrUTBto/WhJnwB+BO9jFwBZhNfA iat-mode=0
Bridge obfs4 19.9.1.9:56789 CAF61C9210E5B7638ED00092CD cert=qMUhCi4u/80ecbInGRKAUvGU0cmsiaruHbhaA iat-mode=0
-
Сохраняем и выходим.
-
Установочником бота создана папка /opt/etc/unblock. Там располагаются файлы со списками для наших различных обходов. Если Вы устанавливаете вручную, то нужна следующая команда для создания папки:
mkdir /opt/etc/unblock
-
Создаём сами списки. Их должно быть ровно столько, сколько обходов мы собираемся создавать. Именно их названия будут использоваться в телеграм-боте для создания списков разблокировок. Напомню, в нашем случае их 3 (вводим последовательно):
mcedit /opt/etc/unblock/shadowsocks.txt
mcedit /opt/etc/unblock/tor.txt
mcedit /opt/etc/unblock/trojan.txt
mcedit /opt/etc/unblock/vmess.txt
mcedit /opt/etc/unblock/vpn1.txt
-
В разные файлы мы можем вносить разные домены и ip-адреса. Предлагаю два из них заполнить только одним сайтом, который будет отображать ip адрес, а один из них наполнить основным списком адресов. В моём случае первый файл будет основным, а тор и vpn будет «запасными». В основной вводим свои сайты примерно в таком виде:
rutracker.org
kinozal.tv
2ip.ru
chess.com
#facebooktwitterinstagram
facebook.com
twitter.com
instagram.com
cdninstagram.com
cdnfacebook.com
facebook.net
ads-twitter.com
static.ads-twitter.com
###Пример разблокировки по IP (убрать # в начале строки)
#195.82.146.214
###Пример разблокировки по CIDR (убрать # в начале строки)
#103.21.244.0/22
###Пример разблокировки по диапазону (убрать # в начале строки)
#100.100.100.200-100.100.100.210
-
В таком виде фейсубокотвиттероинстаграммы должны открываться через браузер, как и другие сайты из этого списка. Если что мой актуальный список будет тут.
Пока нет способа, который будет работать по маске. Кстати, чтобы узнать какие конкретные домены должны быть внесены в этот список, проще всего зайти через обычный тор-браузер, нажать F12 и зайти на нужный сайт. Во вкладке Network будет список различных доменов, которые используются. Это нужно для тех сайтов, где используется различные другие домены внутри основного сайта.
-
В другие два для проверки добавим по одному сайту: myip.ru и whatismyipaddress.com, а для тора ещё сайт check.torproject.org. В конце концов, изменить списки вы сможете всегда по Вашему желанию либо через Putty, либо через телеграм-бот.
-
Кстати для обхода teamviewer в любой из списков обхода добавить следующие адреса (актуальные взял вот отсюда, предварительно добавив в список обхода основной сайт teamviewer.com, чтоб данный список можно было посмотреть ):
teamviewer.com
217.146.28.192/27
37.252.239.128/27
213.227.180.128/27
188.172.221.96/27
131.100.3.192/27
162.250.7.160/27
188.172.251.192/27
162.220.222.192/27
188.172.214.128/27
162.250.2.192/27
162.220.223.160/27
94.16.21.192/27
185.228.150.128/27
188.172.245.32/27
188.172.192.160/27
213.227.162.64/27
217.146.23.96/27
37.252.227.128/27
185.116.99.128/27
37.252.230.160/27
178.255.155.224/27
213.227.181.64/27
188.172.222.0/27
188.172.223.160/27
217.146.13.96/27
94.16.102.128/27
213.227.178.128/27
94.16.26.64/27
213.227.185.192/27
188.172.235.192/27
37.252.245.96/27
213.227.167.160/27
188.172.201.160/27
217.146.11.128/27
37.252.229.192/27
188.172.203.64/27
37.252.244.192/27
37.252.243.160/27
Сохраняем списки и выходим. Создайте хотя бы пустые списки, иначе телеграм-бот их не увидит.
-
Скрипт для заполнения множества unblock IP-адресами заданного списка доменов (unblock_ipset.sh) и дополнительного конфигурационного файла dnsmasq из заданного списка доменов (unblock_dnsmasq.sh).
-
Создадим скрипт /opt/bin/unblock_ipset.sh:
mcedit /opt/bin/unblock_ipset.sh
-
Обратите внимание, здесь код разделён на 4 части, т.к. у нас 4 обхода блокировок. Если что добавляем ещё подобные строки, заменяя названия ipset’ов и файлов со списком адресов:
#!/bin/sh
until ADDRS=$(dig +short google.com @localhost -p 40500) && [ -n "$ADDRS" ] > /dev/null 2>&1; do sleep 5; done
while read line || [ -n "$line" ]; do
[ -z "$line" ] && continue
[ "${line:0:1}" = "#" ] && continue
cidr=$(echo $line | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}/[0-9]{1,2}')
if [ ! -z "$cidr" ]; then
ipset -exist add unblocksh $cidr
continue
fi
range=$(echo $line | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}-[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}')
if [ ! -z "$range" ]; then
ipset -exist add unblocksh $range
continue
fi
addr=$(echo $line | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}')
if [ ! -z "$addr" ]; then
ipset -exist add unblocksh $addr
continue
fi
dig +short $line @localhost -p 40500 | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' | awk '{system("ipset -exist add unblocksh "$1)}'
done < /opt/etc/unblock/shadowsocks.txt
while read line || [ -n "$line" ]; do
[ -z "$line" ] && continue
[ "${line:0:1}" = "#" ] && continue
cidr=$(echo $line | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}/[0-9]{1,2}')
if [ ! -z "$cidr" ]; then
ipset -exist add unblocktor $cidr
continue
fi
range=$(echo $line | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}-[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}')
if [ ! -z "$range" ]; then
ipset -exist add unblocktor $range
continue
fi
addr=$(echo $line | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}')
if [ ! -z "$addr" ]; then
ipset -exist add unblocktor $addr
continue
fi
dig +short $line @localhost -p 40500 | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' | awk '{system("ipset -exist add unblocktor "$1)}'
done < /opt/etc/unblock/tor.txt
while read line || [ -n "$line" ]; do
[ -z "$line" ] && continue
[ "${line:0:1}" = "#" ] && continue
cidr=$(echo $line | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}/[0-9]{1,2}')
if [ ! -z "$cidr" ]; then
ipset -exist add unblockvmess $cidr
continue
fi
range=$(echo $line | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}-[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}')
if [ ! -z "$range" ]; then
ipset -exist add unblockvmess $range
continue
fi
addr=$(echo $line | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}')
if [ ! -z "$addr" ]; then
ipset -exist add unblockvmess $addr
continue
fi
dig +short $line @localhost -p 40500 | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' | awk '{system("ipset -exist add unblockvmess "$1)}'
done < /opt/etc/unblock/vmess.txt
while read line || [ -n "$line" ]; do
[ -z "$line" ] && continue
[ "${line:0:1}" = "#" ] && continue
cidr=$(echo $line | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}/[0-9]{1,2}')
if [ ! -z "$cidr" ]; then
ipset -exist add unblocktroj $cidr
continue
fi
range=$(echo $line | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}-[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}')
if [ ! -z "$range" ]; then
ipset -exist add unblocktroj $range
continue
fi
addr=$(echo $line | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}')
if [ ! -z "$addr" ]; then
ipset -exist add unblocktroj $addr
continue
fi
dig +short $line @localhost -p 40500 | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' | awk '{system("ipset -exist add unblocktroj "$1)}'
done < /opt/etc/unblock/trojan.txt
#script0
-
В конце файла я оставил место под скрипты для доп. обходов (нашего vpn1), их нужно вставлять например вместо строки #script0, #script1 итд в зависимости от количества обходов. Актуальную часть скрипта можно отсюда, а на данный момент:
# unblockvpn - множество
# vpn1.txt - название файла со списком обхода
while read line || [ -n "$line" ]; do
[ -z "$line" ] && continue
[ "${line:0:1}" = "#" ] && continue
cidr=$(echo $line | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}/[0-9]{1,2}')
if [ ! -z "$cidr" ]; then
ipset -exist add unblockvpn $cidr
continue
fi
range=$(echo $line | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}-[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}')
if [ ! -z "$range" ]; then
ipset -exist add unblockvpn $range
continue
fi
addr=$(echo $line | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}')
if [ ! -z "$addr" ]; then
ipset -exist add unblockvpn $addr
continue
fi
dig +short $line @localhost -p 40500 | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' | awk '{system("ipset -exist add unblockvpn "$1)}'
done < /opt/etc/unblock/vpn1.txt
-
Даём права на использование:
chmod +x /opt/bin/unblock_ipset.sh
-
Создадим скрипт /opt/bin/unblock_dnsmasq.sh:
mcedit /opt/bin/unblock_dnsmasq.sh
#!/bin/sh
cat /dev/null > /opt/etc/unblock.dnsmasq
while read line || [ -n "$line" ]; do
[ -z "$line" ] && continue
[ "${line:0:1}" = "#" ] && continue
echo $line | grep -Eq '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' && continue
echo "ipset=/$line/unblocktor" >> /opt/etc/unblock.dnsmasq
echo "server=/$line/127.0.0.1#40500" >> /opt/etc/unblock.dnsmasq
done < /opt/etc/unblock/tor.txt
while read line || [ -n "$line" ]; do
[ -z "$line" ] && continue
[ "${line:0:1}" = "#" ] && continue
echo $line | grep -Eq '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' && continue
echo "ipset=/$line/unblocksh" >> /opt/etc/unblock.dnsmasq
echo "server=/$line/127.0.0.1#40500" >> /opt/etc/unblock.dnsmasq
done < /opt/etc/unblock/shadowsocks.txt
while read line || [ -n "$line" ]; do
[ -z "$line" ] && continue
[ "${line:0:1}" = "#" ] && continue
echo $line | grep -Eq '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' && continue
echo "ipset=/$line/unblockvmess" >> /opt/etc/unblock.dnsmasq
echo "server=/$line/127.0.0.1#40500" >> /opt/etc/unblock.dnsmasq
done < /opt/etc/unblock/vmess.txt
while read line || [ -n "$line" ]; do
[ -z "$line" ] && continue
[ "${line:0:1}" = "#" ] && continue
echo $line | grep -Eq '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' && continue
echo "ipset=/$line/unblocktroj" >> /opt/etc/unblock.dnsmasq
echo "server=/$line/127.0.0.1#40500" >> /opt/etc/unblock.dnsmasq
done < /opt/etc/unblock/trojan.txt
#script0
#script1
#script2
#script3
#script4
#script5
#script6
#script7
#script8
#script9
-
Здесь аналогичная картина — код разбит на 4 частиDYBVF. При необходимости увеличиваем за счёт #script0 и т.д пока так (актуальную знаете где взять):
#vpn1 и unblockvpn меняем
while read line || [ -n "$line" ]; do
[ -z "$line" ] && continue
[ "${line:0:1}" = "#" ] && continue
echo $line | grep -Eq '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' && continue
echo "ipset=/$line/unblockvpn" >> /opt/etc/unblock.dnsmasq
echo "server=/$line/127.0.0.1#40500" >> /opt/etc/unblock.dnsmasq
done < /opt/etc/unblock/vpn1.txt
Сохраняем и выходим.
-
Даём права на использование:
chmod +x /opt/bin/unblock_dnsmasq.sh
-
Запускаем скрипт и затем проверяем создался ли файл. Здесь 2 команды, вводим последовательно:
unblock_dnsmasq.sh
cat /opt/etc/unblock.dnsmasq
Картина будет примерно такая:
-
Скрипт ручного принудительного обновления системы после редактирования списка доменов (unblock_update.sh). Создаём его:
mcedit /opt/bin/unblock_update.sh
-
Записываем содержимое, сохраняем и закрываем:
#!/bin/sh
ipset flush unblocktor
ipset flush unblocksh
ipset flush unblockttroj
ipset flush unblockvmess
#ipset flush unblockvpn # добавляем столько сколько надо и раскомментируем
/opt/bin/unblock_dnsmasq.sh
/opt/etc/init.d/S56dnsmasq restart
/opt/bin/unblock_ipset.sh &
-
Даём права на использование:
chmod +x /opt/bin/unblock_update.sh
-
Скрипт автоматического заполнения множества unblock при загрузке маршрутизатора (S99unblock). Создаём его:
mcedit /opt/etc/init.d/S99unblock
-
Записываем содержимое, сохраняем и закрываем:
#!/bin/sh
[ "$1" != "start" ] && exit 0
/opt/bin/unblock_ipset.sh
cd /opt/etc
python /opt/etc/bot.py &
-
Даём права на использование:
chmod +x /opt/etc/init.d/S99unblock
-
Перенаправление пакетов с адресатами.
-
ВНИМАНИЕ! Эта часть кода сейчас не работает, если есть спецы в iptables, то милости просим! Если кроме тора, trojan, vmess и shadowsocks мы используем другие VPN, то нам нужно узнать их имена. Вводим команду:
ifconfig
-
Список будет большим (может потребоваться прокрутка), но по тем параметрам, которые видны, Вы должны догадаться какой выбрать. У меня это ppp1, поэтому в следующем файле будем использовать его.
-
Здесь будут отображаться все созданные Вами vpn (кроме shadowsocks и tor).
-
Создаём ещё один файл, который будет перенаправлять пакеты с адресатами:
mcedit /opt/etc/ndm/netfilter.d/100-redirect.sh
#!/bin/sh
[ "$type" == "ip6tables" ] && exit 0
ip4t() {
if ! iptables -C "$@" &>/dev/null; then
iptables -A "$@"
fi
}
if [ -z "$(iptables-save 2>/dev/null | grep unblocksh)" ]; then
ipset create unblocksh hash:net -exist
iptables -I PREROUTING -w -t nat -i br0 -p tcp -m set --match-set unblocksh dst -j REDIRECT --to-port 1082
iptables -I PREROUTING -w -t nat -i br0 -p udp -m set --match-set unblocksh dst -j REDIRECT --to-port 1082
iptables -I PREROUTING -w -t nat -i sstp0 -p tcp -m set --match-set unblocksh dst -j REDIRECT --to-port 1082
iptables -I PREROUTING -w -t nat -i sstp0 -p udp -m set --match-set unblocksh dst -j REDIRECT --to-port 1082
iptables -t nat -A OUTPUT -p tcp -m set --match-set unblocksh dst -j REDIRECT --to-port 1082
fi
if [ -z "$(iptables-save 2>/dev/null | grep "udp --dport 53 -j DNAT")" ]; then
iptables -w -t nat -I PREROUTING -i br0 -p udp --dport 53 -j DNAT --to 192.168.1.1
iptables -w -t nat -I PREROUTING -i sstp0 -p udp --dport 53 -j DNAT --to 192.168.1.1
fi
if [ -z "$(iptables-save 2>/dev/null | grep "tcp --dport 53 -j DNAT")" ]; then
iptables -w -t nat -I PREROUTING -i br0 -p tcp --dport 53 -j DNAT --to 192.168.1.1
iptables -w -t nat -I PREROUTING -i sstp0 -p tcp --dport 53 -j DNAT --to 192.168.1.1
fi
if [ -z "$(iptables-save 2>/dev/null | grep unblocktor)" ]; then
ipset create unblocktor hash:net -exist
iptables -I PREROUTING -w -t nat -i br0 -p tcp -m set --match-set unblocktor dst -j REDIRECT --to-port 9141
iptables -I PREROUTING -w -t nat -i br0 -p udp -m set --match-set unblocktor dst -j REDIRECT --to-port 9141
iptables -t nat -A PREROUTING -i br0 -p tcp -m set --match-set unblocktor dst -j REDIRECT --to-port 9141
iptables -t nat -A OUTPUT -p tcp -m set --match-set unblocktor dst -j REDIRECT --to-port 9141
iptables -I PREROUTING -w -t nat -i sstp0 -p tcp -m set --match-set unblocktor dst -j REDIRECT --to-port 9141
iptables -I PREROUTING -w -t nat -i sstp0 -p udp -m set --match-set unblocktor dst -j REDIRECT --to-port 9141
iptables -t nat -A PREROUTING -i sstp0 -p tcp -m set --match-set unblocktor dst -j REDIRECT --to-port 9141
fi
if [ -z "$(iptables-save 2>/dev/null | grep unblockvmess)" ]; then
ipset create unblockvmess hash:net -exist
iptables -I PREROUTING -w -t nat -i br0 -p tcp -m set --match-set unblockvmess dst -j REDIRECT --to-port 10810
iptables -I PREROUTING -w -t nat -i br0 -p udp -m set --match-set unblockvmess dst -j REDIRECT --to-port 10810
iptables -t nat -A PREROUTING -i br0 -p tcp -m set --match-set unblockvmess dst -j REDIRECT --to-port 10810
iptables -t nat -A OUTPUT -p tcp -m set --match-set unblockvmess dst -j REDIRECT --to-port 10810
iptables -I PREROUTING -w -t nat -i sstp0 -p tcp -m set --match-set unblockvmess dst -j REDIRECT --to-port 10810
iptables -I PREROUTING -w -t nat -i sstp0 -p udp -m set --match-set unblockvmess dst -j REDIRECT --to-port 10810
iptables -t nat -A PREROUTING -i sstp0 -p tcp -m set --match-set unblockvmess dst -j REDIRECT --to-port 10810
fi
if [ -z "$(iptables-save 2>/dev/null | grep unblocktroj)" ]; then
ipset create unblocktroj hash:net -exist
iptables -I PREROUTING -w -t nat -i br0 -p tcp -m set --match-set unblocktroj dst -j REDIRECT --to-port 10829
iptables -I PREROUTING -w -t nat -i br0 -p udp -m set --match-set unblocktroj dst -j REDIRECT --to-port 10829
iptables -t nat -A PREROUTING -i br0 -p tcp -m set --match-set unblocktroj dst -j REDIRECT --to-port 10829
iptables -t nat -A OUTPUT -p tcp -m set --match-set unblocktroj dst -j REDIRECT --to-port 10829
iptables -I PREROUTING -w -t nat -i sstp0 -p tcp -m set --match-set unblocktroj dst -j REDIRECT --to-port 10829
iptables -I PREROUTING -w -t nat -i sstp0 -p udp -m set --match-set unblocktroj dst -j REDIRECT --to-port 10829
iptables -t nat -A PREROUTING -i sstp0 -p tcp -m set --match-set unblocktroj dst -j REDIRECT --to-port 10829
fi
#script0
-
По аналогии внизу (вместо #script0 и т.д.) нам необходимо вставить дополнительный код (актуальный всегда тут). ВНИМАНИЕ! Эта часть кода сейчас не работает, если есть спецы в iptables, то милости просим! Тут аккуратненько) вместо ppp1 вставляем нужное нам название интерфейса (чуть повыше я писал):
if [ -z "$(iptables-save 2>/dev/null | grep unblockvpn)" ]; then
ipset create unblockvpn hash:net -exist
iptables -I PREROUTING -w -t nat -i br0 -p tcp -m set --match-set unblockvpn dst -j MASQUERADE -o ppp1
iptables -I PREROUTING -w -t nat -i br0 -p udp -m set --match-set unblockvpn dst -j MASQUERADE -o ppp1
iptables -t nat -A PREROUTING -i br0 -p tcp -m set --match-set unblockvpn dst -j MASQUERADE -o ppp1
iptables -t nat -A OUTPUT -p tcp -m set --match-set unblockvpn dst -j MASQUERADE -o ppp1
iptables -I PREROUTING -w -t nat -i sstp0 -p tcp -m set --match-set unblockvpn dst -j MASQUERADE -o ppp1
iptables -I PREROUTING -w -t nat -i sstp0 -p udp -m set --match-set unblockvpn dst -j MASQUERADE -o ppp1
iptables -t nat -A PREROUTING -i sstp0 -p tcp -m set --match-set unblockvpn dst -j MASQUERADE -o ppp1
fi
exit 0
Сохраняем и даём права на использование:
chmod +x /opt/etc/ndm/netfilter.d/100-redirect.sh
-
Настройка dnsmasq и подключение дополнительного конфигурационного файла к dnsmasq.
-
Удалим содержимое конфигурационного файла dnsmasq и создадим вновь (команды вводим последовательно):
cat /dev/null > /opt/etc/dnsmasq.conf
mcedit /opt/etc/dnsmasq.conf
-
Записываем содержимое. При необходимости меняем ip роутера. Сохраняем и закрываем.
user=nobody
bogus-priv
no-negcache
clear-on-reload
bind-dynamic
listen-address=192.168.1.1
listen-address=127.0.0.1
min-port=4096
cache-size=1536
expand-hosts
log-async
conf-file=/opt/etc/unblock.dnsmasq
no-resolv
server=127.0.0.1#40500
server=127.0.0.1#40508
server=/onion/127.0.0.1#9053
ipset=/onion/unblocktor
-
Добавление задачи в cron для периодического обновления содержимого множества unblock.
-
Откроем файл:
mcedit /opt/etc/crontab
-
В конец добавляем строку:
00 06 * * * root /opt/bin/unblock_ipset.sh
-
При желании остальные строчки можно закомментировать, поставив решётку в начале. Затем сохраняем и закрываем:
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt/bin:/opt/sbin
MAILTO=""
HOME=/
# ---------- ---------- Default is Empty ---------- ---------- #
#*/1 * * * * root /opt/bin/run-parts /opt/etc/cron.1min
#*/5 * * * * root /opt/bin/run-parts /opt/etc/cron.5mins
#01 * * * * root /opt/bin/run-parts /opt/etc/cron.hourly
#02 4 * * * root /opt/bin/run-parts /opt/etc/cron.daily
#22 4 * * 0 root /opt/bin/run-parts /opt/etc/cron.weekly
#42 4 1 * * root /opt/bin/run-parts /opt/etc/cron.monthly
00 06 * * * root /opt/bin/unblock_ipset.sh
-
После перезагрузки роутера у меня почему-то пропал доступ по 222 порту через putty по ssh. В итоге я подключаюсь по 22 порту через тот же putty, ввожу логин с паролем от роутера, пишу команду:
exec sh
а затем:
su - root
и можно использовать любые команды Entware по типу тех, которые мы вводили в данной инструкции.
Заключение
Надеюсь Вам всё понравилось) Пишите в комментариях что бы Вы хотели улучшить, Ваши замечания. «Спасибки» и прочее также приветствуются).
История версий
Версия 1.1
1) С помощью бота можно добавлять и удалять не один сайт, а несколько (каждый новый сайт с новой строки)
2) При показе списка бот выдаёт список в алфавитном порядке и в одном сообщении
3) Добавлен вывод ошибки в файл при зависании бота. Если будет ошибка — пришлите разработчику содержимое файла /opt/etc/error.log, но, возможно, ошибка исправлена
4) Исправлено создание файла /opt/etc/crontab. Раньше при повторной установки добавлялись дополнительные ненужные строки
Версия 1.2
Добавлена возможность вручную устанавливать ключи для Shadowsocks и мосты для Тора
Версия 1.3
1) Обновлена немного работа с ботом Highload’a (shadowsocks) из-за изменений их бота
2) Добавлена возможность получать ключи через бот с помощью сайта https://hi-l.im/. Для этого пункта необходимо однократно ещё ввести команду «pip install beautifulsoup4» перед запуском бота.
3) Немного доработан скрипт S99unblock
4) Доработан бот в части установочника. Теперь при установке запускается скрипт, создающий пустые множества. Иначе иногда переставал работать интернет полностью
5) В статье есть описание добавления DNS-over-HTTPS и DNS-over-TLS. Там есть небольшой апдейт от 02.10.2022. Рекомендую проделать действия из этого раздела
6) В боте есть обработка ошибок. Ошибки, связанные с работой, можно посмотреть в файле /opt/etc/error.log
Версия 2.0
1) Добавлена поддержка trojan и vmess
2) Удалён способ получение ключей Shadowsocks через телеграм. Это связано с тем, что я не успеваю следить за изменением их бота. Проще вручную получить ключ. Получение мостов Tor осталось на месте
3) Удалён способ получение ключа с помощью сайта H!Load-VPN так как на сайте больше нет это поддержки
4) Исправлен баг
Правило обновления до версии 2.0 с версий 1.*:
1) Скопировать весь код бота, который идёт после строки
# следующие настройки могут быть оставлены по умолчанию, но можно будет что-то поменять
2) Нажать запустить установку заново. ИЛИ!!!!!! с помощью Putty сделать следующие действия:
-
Установить два пакета
opkg install v2ray trojan
-
Создать 2 файла в папке unblock, например командами. Их содержимое можно оставить пустым
mcedit /opt/etc/unblock/trojan.txt
mcedit /opt/etc/unblock/vmess.txt
-
Обновить файлы unblock.dnsmasq, unblock_ipset.sh, 100-redirect.sh, 100-ipset.sh, unblock_update.sh с гита