dnsmasq-full_2.89-1_mipsel_24kc.ipk
182.6 KB
Мне написали, что в https://downloads.openwrt.org/snapshots/packages/mips_24kc/base/ отсутствует пакет dnsmasq-full. Видимо, у openwrt где-то сломался CI для этой архитектуры. Для остальных он присутствует. Думаю, они починят в ближайшее время. А пока как времянку прикладываю пакет, который недавно выкачивал для своего Xiaomi mi3g.
Как я запилил работу со списком доменов. Конфигурация Dnsmasq и конвертация
Есть список доменов, которые надо преобразовать в конфиг dnsmasq, чтоб когда был запрос на получение ip адреса, dnsmasq добавлял эти ip в sets.
Но давайте сначала про конфиги dnsmasq в openwrt. Как они вообще сделаны?
Есть основной конфиг /etc/config/dhcp. Как и все конфиги в
В данном контексте нас интересует, как конвертируется блок ipset.
Из
Получается
Я столкнулся с тем, что у dnsmasq (по крайней мере на openwrt) на количество доменов в директиве nftset/ipset есть ограничения, где-то в районе 70. Если сделайте большой список в
Имея в виду это и что редактировать скриптом на постоянке
Тут момент в том, что это уже не конфигурация формата UCI, а формат dnsmasq.
Осталось понять, как лучше конвертировать. Из-за существующих ограничений на количество доменов в nftset/ipset, в одну строчку все домены с antifilter не уместить. Разбивать по 50 штук - усложнение скрипта и непонятно имеет ли это вообще смысл в плане быстродействия.
Конвертацию я сделал с помощью sed, который есть в openwrt из коробки. К каждой строке в файле подставляется приставка и окончание. Выглядит так:
Для 21 версии то же самое, только с ipset:
Теперь при запуске скрипта получаем:
Ещё меня интересовала производительность. Я сделал тест при следующих условиях:
- nftsets включены для всего списка доменов из community
- Роутер настроен на отдельный DNS сервер в локальной сети, на котором переопределена A запись для тестового домена. Это нужно, чтобы не было погрешности измерений, когда роутер будет работать с внешними DNS серверами
- Кэш Dnsmasq отчищал после первого замера
Когда домен был включён в nftsets, время отдачи составляло 115-150 msec. Когда исключён из конфига - 4-8 msec.
Прирост, в сравнении, огромный, но такая прибавка только для доменов из списка. У меня в среднем обычный DNS запрос занимает 250 msec и уже на фоне этого такой результат очень даже неплохой.
Ну и самое приятное. В этот же set можно добавить домены, которых не хватает лично вам. В /etc/config/dhcp добавляем
Как и при любом редактировании dhcp, нужен рестарт dnsmasq.
Всё, теперь ip этих доменов тоже будут складываться set vpn_domains, и трафик к ним будет направляться через туннель.
Есть список доменов, которые надо преобразовать в конфиг dnsmasq, чтоб когда был запрос на получение ip адреса, dnsmasq добавлял эти ip в sets.
Но давайте сначала про конфиги dnsmasq в openwrt. Как они вообще сделаны?
Есть основной конфиг /etc/config/dhcp. Как и все конфиги в
/etc/config
это UCI like формат openwrt. Что касается именно dhcp конфига и dnsmasq, при старте службы запускается специальный конвертор, который берёт файл /etc/config/dhcp
, преобразует его в формат конфигурации dnsmasq и кладёт его в /var/etc/dnsmasq.conf.cfg$N и dnsmasq работает уже с конфигурацией из этого файла.В данном контексте нас интересует, как конвертируется блок ipset.
Из
config ipset
list name 'vpn_domains'
list domain 'graylog.org'
Получается
nftset=/graylog.org/4#inet#fw4#vpn_domains
Я столкнулся с тем, что у dnsmasq (по крайней мере на openwrt) на количество доменов в директиве nftset/ipset есть ограничения, где-то в районе 70. Если сделайте большой список в
/etc/config/dhcp
, при рестарте dnsmasq получите ошибку:Thu Mar 16 19:50:05 2023 daemon.crit dnsmasq[1]: bad option at line 43 of /var/etc/dnsmasq.conf.cfg01411c
Thu Mar 16 19:50:05 2023 daemon.crit dnsmasq[1]: FAILED to start up
Имея в виду это и что редактировать скриптом на постоянке
/etc/config/dhcp
не очень хорошая идея, лучше использовать директорию, куда можно положить отдельным файлом конфиг. В openwrt для dnsmasq такая существует - /tmp/dnsmasq.d/
.Тут момент в том, что это уже не конфигурация формата UCI, а формат dnsmasq.
Осталось понять, как лучше конвертировать. Из-за существующих ограничений на количество доменов в nftset/ipset, в одну строчку все домены с antifilter не уместить. Разбивать по 50 штук - усложнение скрипта и непонятно имеет ли это вообще смысл в плане быстродействия.
Конвертацию я сделал с помощью sed, который есть в openwrt из коробки. К каждой строке в файле подставляется приставка и окончание. Выглядит так:
sed "s/.*/nftset=\/&\/4#inet#fw4#vpn_domains/" $dir/domains.lst > /tmp/dnsmasq.d/domains
Для 21 версии то же самое, только с ipset:
sed "s/.*/ipset=\/&\/vpn_domains/" $dir/domains.lst > /tmp/dnsmasq.d/domains
Теперь при запуске скрипта получаем:
root@OpenWrt:~# cat /tmp/dnsmasq.d/domains
nftset=/graylog.org/4#inet#fw4#vpn_domains
nftset=/terraform.io/4#inet#fw4#vpn_domains
nftset=/openai.com/4#inet#fw4#vpn_domains
Ещё меня интересовала производительность. Я сделал тест при следующих условиях:
- nftsets включены для всего списка доменов из community
- Роутер настроен на отдельный DNS сервер в локальной сети, на котором переопределена A запись для тестового домена. Это нужно, чтобы не было погрешности измерений, когда роутер будет работать с внешними DNS серверами
- Кэш Dnsmasq отчищал после первого замера
Когда домен был включён в nftsets, время отдачи составляло 115-150 msec. Когда исключён из конфига - 4-8 msec.
Прирост, в сравнении, огромный, но такая прибавка только для доменов из списка. У меня в среднем обычный DNS запрос занимает 250 msec и уже на фоне этого такой результат очень даже неплохой.
Ну и самое приятное. В этот же set можно добавить домены, которых не хватает лично вам. В /etc/config/dhcp добавляем
config ipset
list name 'vpn_domains'
list domain 'graylog.org'
list domain 'terraform.io'
Как и при любом редактировании dhcp, нужен рестарт dnsmasq.
Всё, теперь ip этих доменов тоже будут складываться set vpn_domains, и трафик к ним будет направляться через туннель.
Блокировка рекламы на роутере с помощью Dnsmasq
Идея блокировки рекламы на роутере не нова. Для openwrt существуют специальные пакеты. Один более сложный в настройке, второй попроще. Оба базируются на блокировке доменов по спискам. Да-да, такой личный роскомнадзор, только в ваших интересах.
Я расскажу про ещё один способ. Он проще для понимания, установка дополнительных пакетов не требуется, т.к. используется dnsmasq.
Как это работает?
Возьмём самый простой пример. Есть баннер на веб-странице, его URL https://ads.domain/banner. Чтобы получить этот баннер, браузеру нужно зарезолвить домен и сходить по полученному IP адресу к рекламному серверу.
Мы просим dnsmasq: если наш браузер придёт к тебе с запросом адреса ads.domain, отдавай ему пустоту.
И когда мы открываем страницу с рекламным баннером: dnsmasq не отдаёт IP -> браузер не может зарезолвить домен -> баннер мы не видим.
Список oisd.nl
Существует много списков с доменами, один из самых больших и популярных это https://oisd.nl/downloads
Это огромный список, состоящий из множества разнообразных списков. На этой странице можно ознакомиться со всем составом.
Скачать этот список можно в разных форматах для разных программ, в том числе для dnsmasq.
Для dnsmasq есть два формата:
- Для версий до 2.86 - https://big.oisd.nl/dnsmasq
- Начиная с 2.86 - https://big.oisd.nl/dnsmasq2
С 2.86 внедрён параметр local, он увеличивает производительность, подробности можно изучить в changelog
Таким образом, конфиг до 2.86 выглядит так
Складывать конфиг будем в директорию /tmp/dnsmasq.d/, в неё можно складывать конфиги и dnsmasq будет их подхватывать.
Конфиг с сайта уже готовый и его можно сразу применять
Автоматизация
База c доменами обновляется раз в сутки. Всё что нужно - это обновлять список раз в день и рестартить dnsmasq.
Есть такой репозиторий https://github.com/lynxthecat/adblock-lean
Это служба с описанным выше + всякие проверки, start, stop.
Устанавливаем и запускаем
Насколько полезно
Начнём с памяти, у меня на openwrt 22.03.3 эти списки в dnsmasq занимают 10МБ оперативной памяти. Это хороший результат, если сравнивать с требованиями adblock, в доке, которого указано, что роутер должен иметь минимум 128МБ RAM.
Про эффективность блокировки. Тут надо понимать, что реклама - это огромный рынок, которым кормятся корпорации и много компаний поменьше. И они делают так, чтобы подмена DNS не заглушала их рекламу. Ну и домены для рекламы бывает обновляются и в списки попадают не сразу.
Сложно оценить результат в браузере на ноутбуке, из-за включённого на постоянке блокировщика. Но я специально включал инкогнито и дёргал рубильник на роутере, оставалась самая хитрая реклама как раз от корпораций.
Также потестил на Android и iOS. Тут заметнее, на Android у меня режется большая часть рекламы, а вот на iOS только в каких-то очень популярных приложениях и то не вся.
Решение больше для смартфонов, планшетов, телевизоров итд. Полностью блокировки всей рекламы не ждите, но результат будет заметен.
Идея блокировки рекламы на роутере не нова. Для openwrt существуют специальные пакеты. Один более сложный в настройке, второй попроще. Оба базируются на блокировке доменов по спискам. Да-да, такой личный роскомнадзор, только в ваших интересах.
Я расскажу про ещё один способ. Он проще для понимания, установка дополнительных пакетов не требуется, т.к. используется dnsmasq.
Как это работает?
Возьмём самый простой пример. Есть баннер на веб-странице, его URL https://ads.domain/banner. Чтобы получить этот баннер, браузеру нужно зарезолвить домен и сходить по полученному IP адресу к рекламному серверу.
Мы просим dnsmasq: если наш браузер придёт к тебе с запросом адреса ads.domain, отдавай ему пустоту.
И когда мы открываем страницу с рекламным баннером: dnsmasq не отдаёт IP -> браузер не может зарезолвить домен -> баннер мы не видим.
Список oisd.nl
Существует много списков с доменами, один из самых больших и популярных это https://oisd.nl/downloads
Это огромный список, состоящий из множества разнообразных списков. На этой странице можно ознакомиться со всем составом.
Скачать этот список можно в разных форматах для разных программ, в том числе для dnsmasq.
Для dnsmasq есть два формата:
- Для версий до 2.86 - https://big.oisd.nl/dnsmasq
- Начиная с 2.86 - https://big.oisd.nl/dnsmasq2
С 2.86 внедрён параметр local, он увеличивает производительность, подробности можно изучить в changelog
Таким образом, конфиг до 2.86 выглядит так
server=/ads.domain/Начиная с 2.86 так
local=/ads.domain/Включаем блокировку вручную
Складывать конфиг будем в директорию /tmp/dnsmasq.d/, в неё можно складывать конфиги и dnsmasq будет их подхватывать.
Конфиг с сайта уже готовый и его можно сразу применять
cd /tmp/dnsmasq.d/Проверим, что работает. Берём первый домен из списка
wget https://big.oisd.nl/dnsmasq2
/etc/init.d/dnsmasq restart
head -n 10 dnsmasq2копируем и пробуем зарезолвить, отправляя запрос к DNS серверу роутера
dig ad.domain @192.168.1.1Должно выдать отсутствие IP. Для сравнения можно запросить то же самое с какого-нибудь публичного DNS сервера.
Автоматизация
База c доменами обновляется раз в сутки. Всё что нужно - это обновлять список раз в день и рестартить dnsmasq.
Есть такой репозиторий https://github.com/lynxthecat/adblock-lean
Это служба с описанным выше + всякие проверки, start, stop.
Устанавливаем и запускаем
wget https://raw.githubusercontent.com/lynxthecat/adblock-lean/main/adblock-lean -O /etc/init.d/adblock-leanДобавляем в cron (в README проекта ещё добавлена команда enable, но я не вижу в этом смысла)
chmod +x /etc/init.d/adblock-lean
service adblock-lean enable
service adblock-lean start
0 5 * * * export RANDOM_DELAY="1" && /etc/init.d/adblock-lean startStop службы удаляет файл и рестартит dnsmasq, т.е. выключает блокировку рекламы.
service adblock-oisd stopЭта служба сделана для 22.03, на 21.02 версии с полпинка у меня не завелось. Нужно править скрипт или написать свой, не забудьте про разные ссылки, т.к. в 21ой версия dnsmasq 2.85.
Насколько полезно
Начнём с памяти, у меня на openwrt 22.03.3 эти списки в dnsmasq занимают 10МБ оперативной памяти. Это хороший результат, если сравнивать с требованиями adblock, в доке, которого указано, что роутер должен иметь минимум 128МБ RAM.
Про эффективность блокировки. Тут надо понимать, что реклама - это огромный рынок, которым кормятся корпорации и много компаний поменьше. И они делают так, чтобы подмена DNS не заглушала их рекламу. Ну и домены для рекламы бывает обновляются и в списки попадают не сразу.
Сложно оценить результат в браузере на ноутбуке, из-за включённого на постоянке блокировщика. Но я специально включал инкогнито и дёргал рубильник на роутере, оставалась самая хитрая реклама как раз от корпораций.
Также потестил на Android и iOS. Тут заметнее, на Android у меня режется большая часть рекламы, а вот на iOS только в каких-то очень популярных приложениях и то не вся.
Решение больше для смартфонов, планшетов, телевизоров итд. Полностью блокировки всей рекламы не ждите, но результат будет заметен.
Хотелось воплотить то, о чём я здесь пишу, но было непонятно какой роутер для OpenWrt купить? Написал обзор, чтоб вам было легче выбирать:
https://habr.com/ru/post/725386/
https://itdog.info/kakoj-router-s-podderzhkoj-openwrt-kupit-v-2023-godu/
https://habr.com/ru/post/725386/
https://itdog.info/kakoj-router-s-podderzhkoj-openwrt-kupit-v-2023-godu/
Хабр
Какой роутер с поддержкой OpenWrt купить в 2023 году
Сколько помню домашние роутеры, всегда была возможность установить на них какую-нибудь неофициальную прошивку, и роутер начинал работать стабильнее (не всегда). Потом появилась возможность добавлять...
Навигация
VPS: #vps
Основная статья по роутингу на Openwrt. Видео на youtube устаревшее, много поменялось, но суть передаёт
Github репозиторий с playbook для ansible. Если пользуетесь ansible или хотите начать. Используется вместо ручной настройки
Статья по поиску ошибок. Если что-то не заработало, вам сюда
Какой роутер с поддержкой OpenWrt купить в 2023 году
Как сделать роутинг по домену для 21.02. Сейчас это включено в основную статью
Как сделать роутинг по домену для 22.03
Использование OpenVPN заместо Wireguard на OpenWrt
Использование Shadowsocks заместо Wireguard на OpenWrt
Как организован резолвинг доменов с community.antifilter.download
Блокировка рекламы на роутере с помощью Dnsmasq
Чат для обсуждений
VPS: #vps
Основная статья по роутингу на Openwrt. Видео на youtube устаревшее, много поменялось, но суть передаёт
Github репозиторий с playbook для ansible. Если пользуетесь ansible или хотите начать. Используется вместо ручной настройки
Статья по поиску ошибок. Если что-то не заработало, вам сюда
Какой роутер с поддержкой OpenWrt купить в 2023 году
Как сделать роутинг по домену для 21.02. Сейчас это включено в основную статью
Как сделать роутинг по домену для 22.03
Использование OpenVPN заместо Wireguard на OpenWrt
Использование Shadowsocks заместо Wireguard на OpenWrt
Как организован резолвинг доменов с community.antifilter.download
Блокировка рекламы на роутере с помощью Dnsmasq
Чат для обсуждений
Хабр
Точечная маршрутизация на роутере с OpenWrt. WireGuard и DNSCrypt
Данный материал не является призывом к действию и публикуется исключительно в образовательных целях. UPD 14.10.2023 Эта статья немного устарела. Здесь можно узнать, как использовать готовые списки...
Обновления 02.04.2023
- Hotsezus добавил в скрипт start, reload, restart. Признаюсь, я пользуюсь LuCi редко, в основном для того, чтобы узнать как та или иная запись выглядит в конфигах. Из-за отсутствия этих аргументов (start, reload) возникала ошибка по таймауту в интерфейсе LuCi в system/startup. Каждый раз заходя на эту страницу, скрипт исполнялся полностью и если включены большие списки, это занимало много времени и LuCi выкидывало ошибку по таймауту
- По резолвингу доменов были расхождения в названиях в инструкции из поста и обновлённой статьи. Здесь я писал
- В статью по поиску ошибок добавил команду форсинга синхронизации времени
- В заметке про OpenVPN добавил, что если есть директива
- Пока тестировал скрипт с загрузкой всех списков, чтоб словить таймаут, наткнулся на ошибку от nftables
Пока я решил это принудительной отчисткой списков, перед загрузкой новых:
- И я наконец-то ответил на комментарии под первым роликом в YouTube! Считаю, что лучше поздно, чем никогда. Вообще, коммуникацию с вами буду улучшать. Есть очевидное решение, но вопрос организационный. Планирую его скоро решить
- Hotsezus добавил в скрипт start, reload, restart. Признаюсь, я пользуюсь LuCi редко, в основном для того, чтобы узнать как та или иная запись выглядит в конфигах. Из-за отсутствия этих аргументов (start, reload) возникала ошибка по таймауту в интерфейсе LuCi в system/startup. Каждый раз заходя на эту страницу, скрипт исполнялся полностью и если включены большие списки, это занимало много времени и LuCi выкидывало ошибку по таймауту
- По резолвингу доменов были расхождения в названиях в инструкции из поста и обновлённой статьи. Здесь я писал
vpn_custom
, в статье сделал vpn_domains
. Поменял всё на vpn_domains
- В статью по поиску ошибок добавил команду форсинга синхронизации времени
ntpd -d -p pool.ntp.org
. Я этим пользуюсь, когда виртуалка с openwrt была выключенной пару месяцев, надо быстро проверить что-то, а время на openwrt сильно отстаёт- В заметке про OpenVPN добавил, что если есть директива
redirect-gateway
в клиентском конфиге, то её нужно выпилить- Пока тестировал скрипт с загрузкой всех списков, чтоб словить таймаут, наткнулся на ошибку от nftables
No buffer space available
. Мне про неё уже писали, она плавающая. Как понимаю, это происходит, потому что nftables перед загрузкой новых списков не удаляет старые, а ждёт, когда они прогрузятся и после этого уже переключает на новые. Это атомарность nftables, которая не даёт простоя, зато бывает, что сжирает всю память на роутере при использовании больших списков.Пока я решил это принудительной отчисткой списков, перед загрузкой новых:
nft flush ruleset
. Добавил команду в скрипт, но только если грузятся списки ip и\или community. Если сталкиваетесь с этой ошибкой, добавляйте команду перед загрузкой списков. В статье добавлено, можете взять оттуда, если возникает вопрос куда впихнуть- И я наконец-то ответил на комментарии под первым роликом в YouTube! Считаю, что лучше поздно, чем никогда. Вообще, коммуникацию с вами буду улучшать. Есть очевидное решение, но вопрос организационный. Планирую его скоро решить
Про коммуникацию. Я отвечал на вопросы по теме в комментариях своего блога и в ЛС Хабра. Но в блоге у меня не были настроены уведомления, и я тупо забывал про комментарии там на месяцы и годы. На днях, кстати, сделал уведомления. А на хабре далеко не все зареганы. Мне так и писали: "зарегался, чтоб вам написать".
Когда думал о других способах коммуникации, я понимал, что чат не потяну по времени. Потом до меня дошло: среди читающих меня людей, помимо людей прошивших openwrt на роутер первый раз, есть люди с опытом и они готовы подсказать. И даже если в какие-то моменты у меня совсем не будет времени, то я хотя бы предоставлю площадку.
Чат: https://t.me/itdogchat
Вступайте, задавайте вопросы, отвечайте на вопросы других, поправляйте, советуйте. Если разбираетесь хотя бы немного в теме и готовы помочь другим, вступайте тем более!
Также отдельно сделал обсуждения к постам. Они должны появиться начиная с этого поста
Когда думал о других способах коммуникации, я понимал, что чат не потяну по времени. Потом до меня дошло: среди читающих меня людей, помимо людей прошивших openwrt на роутер первый раз, есть люди с опытом и они готовы подсказать. И даже если в какие-то моменты у меня совсем не будет времени, то я хотя бы предоставлю площадку.
Чат: https://t.me/itdogchat
Вступайте, задавайте вопросы, отвечайте на вопросы других, поправляйте, советуйте. Если разбираетесь хотя бы немного в теме и готовы помочь другим, вступайте тем более!
Также отдельно сделал обсуждения к постам. Они должны появиться начиная с этого поста
На Хабре вышла статья про технологии, которые используют в Китае для обхода блокировок. Описаны основные моменты в работе каждой технологии. Интересно про совместимость, с ней там всё не очень просто.
Если смотреть на тот же WG, то можно сделать один сервер и поставить его клиент на почти любое устройство.
А вот с этими проколами и туннелями уже совсем другая история, там даже разные версии одной задумки между собой не всегда совместимы. И если потребуется, то это уже будет не настройка какого-то известного туннеля, которым пользуется весь мир, а специфичной технологии.
Можно читать и радоваться, что у нас пока без проблем работают WireGuard и OpenVPN.
Если смотреть на тот же WG, то можно сделать один сервер и поставить его клиент на почти любое устройство.
А вот с этими проколами и туннелями уже совсем другая история, там даже разные версии одной задумки между собой не всегда совместимы. И если потребуется, то это уже будет не настройка какого-то известного туннеля, которым пользуется весь мир, а специфичной технологии.
Можно читать и радоваться, что у нас пока без проблем работают WireGuard и OpenVPN.
Хабр
Современные технологии обхода блокировок: V2Ray, XRay, XTLS, Hysteria, Cloak и все-все-все
Статья опубликована под лицензией Creative Commons BY-NC-SA . Три месяца назад здесь на Хабре я опубликовал статью “ Интернет-цензура и обход блокировок: не время расслабляться ”, в которой простыми...
Месяц я искал и тестировал провайдеров VPS, у которых можно заплатить российской карточкой и получить сервер в Европе.
Я перебрал 12 компаний:
- Регался через VPN, т.к. "с вашего IP запрещена регистрация"
- Отваливался на моменте покупки сервера, потому что не мог заплатить картой МИР или через СБП
- Специально для этих тестов купил отдельную VM и поднял на ней Zabbix. Чтоб была чёткая картина доступности серверов
- Списывался с саппортами, в попытке решить проблемы c их ВМ
- Задавался вопросом: на что живут компании с низким качеством услуг
- Офигевал от того, когда при оплате у меня попросили НОМЕР ПАСПОРТА
- Ну и, конечно, поднимал WG на каждой ВМ и подрубал к своему роутеру, чтоб посмотреть на практике всё ли ок
Итог мне понравился, я честно ожидал худшего. Читайте и разворачиваете свои серверы:
На Хабре
https://habr.com/ru/articles/729750/
В моём блоге
https://itdog.info/kakogo-provajdera-vps-vybrat-dlya-sobstvennogo-vpn-v-2023-godu-platim-za-vsyo-rossijskoj-kartoj/
Я перебрал 12 компаний:
- Регался через VPN, т.к. "с вашего IP запрещена регистрация"
- Отваливался на моменте покупки сервера, потому что не мог заплатить картой МИР или через СБП
- Специально для этих тестов купил отдельную VM и поднял на ней Zabbix. Чтоб была чёткая картина доступности серверов
- Списывался с саппортами, в попытке решить проблемы c их ВМ
- Задавался вопросом: на что живут компании с низким качеством услуг
- Офигевал от того, когда при оплате у меня попросили НОМЕР ПАСПОРТА
- Ну и, конечно, поднимал WG на каждой ВМ и подрубал к своему роутеру, чтоб посмотреть на практике всё ли ок
Итог мне понравился, я честно ожидал худшего. Читайте и разворачиваете свои серверы:
На Хабре
https://habr.com/ru/articles/729750/
В моём блоге
https://itdog.info/kakogo-provajdera-vps-vybrat-dlya-sobstvennogo-vpn-v-2023-godu-platim-za-vsyo-rossijskoj-kartoj/
Хабр
Какого провайдера VPS выбрать для собственного сервера в 2023 году. Платим за всё российской картой
Иметь свой VPS для многих сервисов довольно выгодно. Нет ограничений по количеству клиентов, можно обеспечить определенной услугой всех своих родных, друзей и знакомых. При этом можно за это платить...
После последней статьи на Хабре канал вырос в три раза. Спасибо, что подписываетесь!
В основном я пишу про роутинг на OpenWrt. Тема объёмная, всегда есть что добавить и улучшить.
Если вкратце: роутер перенаправляет опредленный трафик, в туннель за пределы вашей страны. А весь остальной трафик идёт как шёл. И не нужно включать-выключать VPN на устройствах, подключенных к такому роутеру.
Статью я постоянно обновляю, благодаря вам в том числе, поэтому можете прям сейчас брать роутер, шить на OpenWrt и настраивать точечный роутинг по инструкции.
Но не у всех заводится с первого раза, поэтому я написал большую инструкцию по поиску и исправлению ошибок.
Ручной поиск проблем занимает много времени. Я думал, как это улучшить. Пришёл к тому, что нужен скрипт, который сам ищет в чём проблема и этим экономит ваше время.
Скрипт ещё вчера выложил на GitHub
Запускается прямо на роутере.
Всё, что не прошло проверку, помечается
Также, если вы используете, например, только списки доменов, то остальные списки будут отмечаться как ненастроенные, это окей. На гифке запуск на моём роутере, у меня как раз включены только
Больше подробностей по запуску скрипта в README
Буду благодарен, если поделитесь результатами проверок в чате. Нужно протестить более массово и вероятно надо добавить ещё какие-то проверки и рекомендации.
В основном я пишу про роутинг на OpenWrt. Тема объёмная, всегда есть что добавить и улучшить.
Если вкратце: роутер перенаправляет опредленный трафик, в туннель за пределы вашей страны. А весь остальной трафик идёт как шёл. И не нужно включать-выключать VPN на устройствах, подключенных к такому роутеру.
Статью я постоянно обновляю, благодаря вам в том числе, поэтому можете прям сейчас брать роутер, шить на OpenWrt и настраивать точечный роутинг по инструкции.
Но не у всех заводится с первого раза, поэтому я написал большую инструкцию по поиску и исправлению ошибок.
Ручной поиск проблем занимает много времени. Я думал, как это улучшить. Пришёл к тому, что нужен скрипт, который сам ищет в чём проблема и этим экономит ваше время.
Скрипт ещё вчера выложил на GitHub
Запускается прямо на роутере.
Всё, что не прошло проверку, помечается
[x]
. Могут быть ложные срабатывания, поэтому рассматривайте это скорее как рекомендацию, что необходимо проверить. По каждой проблеме он выдаёт ссылку на нужный кусок статьи.Также, если вы используете, например, только списки доменов, то остальные списки будут отмечаться как ненастроенные, это окей. На гифке запуск на моём роутере, у меня как раз включены только
vpn_domains
.Больше подробностей по запуску скрипта в README
Буду благодарен, если поделитесь результатами проверок в чате. Нужно протестить более массово и вероятно надо добавить ещё какие-то проверки и рекомендации.
ITDog
Месяц я искал и тестировал провайдеров VPS, у которых можно заплатить российской карточкой и получить сервер в Европе. Я перебрал 12 компаний: - Регался через VPN, т.к. "с вашего IP запрещена регистрация" - Отваливался на моменте покупки сервера, потому что…
Нужен ваш фидбэк по VPS провайдерам из обзора. Интересует всё:
- Общая стабильность
- Если вы заводили тикеты, были ли ответы на них
- Фичи, которые были обещаны, но их не оказалось
- Что угодно другое, важное на ваш взгляд
Если у вас всё отлично и всё устраивает - тоже отпишитесь пожалуйста.
Формат приблизительный такой:
Weasel: подняли тариф до 250р/мес, 21-22 апреля были сетевые проблемы у них, обещали IPv6, но на деле его нет
Timeweb: Дали российский IP для сервера в Польше, жду, пока у AS поменяется локация. В остальном ок
Skystark: IPv6 работает и всё остальное ок
По Skystark отзывы почти отсутствуют и мне тоже почти нечего про него добавить, поэтому по нему интересно в первую очередь.
Весь ваш фидбэк скомпоную + добавлю комменты из того поста и Хабра. И обновлю обзор
- Общая стабильность
- Если вы заводили тикеты, были ли ответы на них
- Фичи, которые были обещаны, но их не оказалось
- Что угодно другое, важное на ваш взгляд
Если у вас всё отлично и всё устраивает - тоже отпишитесь пожалуйста.
Формат приблизительный такой:
Weasel: подняли тариф до 250р/мес, 21-22 апреля были сетевые проблемы у них, обещали IPv6, но на деле его нет
Timeweb: Дали российский IP для сервера в Польше, жду, пока у AS поменяется локация. В остальном ок
Skystark: IPv6 работает и всё остальное ок
По Skystark отзывы почти отсутствуют и мне тоже почти нечего про него добавить, поэтому по нему интересно в первую очередь.
Весь ваш фидбэк скомпоную + добавлю комменты из того поста и Хабра. И обновлю обзор
ITDog
Нужен ваш фидбэк по VPS провайдерам из обзора. Интересует всё: - Общая стабильность - Если вы заводили тикеты, были ли ответы на них - Фичи, которые были обещаны, но их не оказалось - Что угодно другое, важное на ваш взгляд Если у вас всё отлично и всё устраивает…
Собрал ваш фидбэк спустя неделю после публикации обзора и проверил IPv6, получилось следующее:
Timeweb
- Могут выдать IP из российской подсети. Могут поменять сервер по запросу
- Есть блокировки на подсети у некоторых зарубежных сервисов. Есть пример, что elastic.co выдавал 403
- Есть поддержка IPv6 и работает
Weasel
- Подняли цену на все VPS. Таков хабраэффект. Как понимаю, многие рассматривали именно этот вариант из-за цены и скорости. Скорость сейчас замерил, немного подрезали, но 600 Mbits/sec есть и это до сих пор в разы больше обещанной
- Есть поддержка IPv6. Но просто так её не получить
- Не отвечают на тикеты. Видимо, я единственный, кому отвечали
- 21-22.04.2023 были сетевые потери вплоть до 85% на маршрутизаторе в ДЦ. Это бывает у всех, не считаю это серьёзным камнем в их огород. Конечно, если это не будет постоянно повторяться
- Диск с ограничением скорости. Для VPN это не особо важно, медленней будут устанавливаться пакеты для VPN, разве что, но это один раз поставил, и всё. Я смотрел на самой дешёвой VPS, не знаю, как обстоят дела на других. Но если также, то для какой-нибудь БД брать точно не стоит
- Тоже могут выдать IP из российской подсети, с совокупностью игнора в тикетах не стоит рассматривать, если вам нужно для ChatGPT и подобных
Skystark
- При создании VPS я снял галочку с IPv6. Сейчас зашёл, поставил, ребутнул сервер и IPv6 сам настроился и заработал
- Один человек написал про проблемы с доступом к ресурсам. У себя этого не наблюдал
Насчёт зарубежных сервисов, банящих по локации
- Как писал выше, может достаться российский IP. Где-то можно просто написать в саппорт, и проблему, скорее всего, решат, где-то придётся ждать и надеется, что в GeoIP локация подсети изменится на европейскую. Скорее всего, это происходит из-за переноса их российских подсетей в европейские ДЦ
- Сервисы сами "вручную" могут блокировать даже европейские подсети и IP, зная, что их используют для VPN
Добавил эту информацию в обзор. Спасибо всем, кто дал фидбэк и пишет о своём опыте
Timeweb
- Могут выдать IP из российской подсети. Могут поменять сервер по запросу
- Есть блокировки на подсети у некоторых зарубежных сервисов. Есть пример, что elastic.co выдавал 403
- Есть поддержка IPv6 и работает
Weasel
- Подняли цену на все VPS. Таков хабраэффект. Как понимаю, многие рассматривали именно этот вариант из-за цены и скорости. Скорость сейчас замерил, немного подрезали, но 600 Mbits/sec есть и это до сих пор в разы больше обещанной
- Есть поддержка IPv6. Но просто так её не получить
- Не отвечают на тикеты. Видимо, я единственный, кому отвечали
- 21-22.04.2023 были сетевые потери вплоть до 85% на маршрутизаторе в ДЦ. Это бывает у всех, не считаю это серьёзным камнем в их огород. Конечно, если это не будет постоянно повторяться
- Диск с ограничением скорости. Для VPN это не особо важно, медленней будут устанавливаться пакеты для VPN, разве что, но это один раз поставил, и всё. Я смотрел на самой дешёвой VPS, не знаю, как обстоят дела на других. Но если также, то для какой-нибудь БД брать точно не стоит
- Тоже могут выдать IP из российской подсети, с совокупностью игнора в тикетах не стоит рассматривать, если вам нужно для ChatGPT и подобных
Skystark
- При создании VPS я снял галочку с IPv6. Сейчас зашёл, поставил, ребутнул сервер и IPv6 сам настроился и заработал
- Один человек написал про проблемы с доступом к ресурсам. У себя этого не наблюдал
Насчёт зарубежных сервисов, банящих по локации
- Как писал выше, может достаться российский IP. Где-то можно просто написать в саппорт, и проблему, скорее всего, решат, где-то придётся ждать и надеется, что в GeoIP локация подсети изменится на европейскую. Скорее всего, это происходит из-за переноса их российских подсетей в европейские ДЦ
- Сервисы сами "вручную" могут блокировать даже европейские подсети и IP, зная, что их используют для VPN
Добавил эту информацию в обзор. Спасибо всем, кто дал фидбэк и пишет о своём опыте
Мне кинули страйк на Youtube и удалили видео
Прилетел он на первое и самое популярное видео, где я в 2019 году показываю как на роутере сделать умную маршрутизацию. Причиной было нарушение авторских прав, а кинул его азапи. Если вкратце, то эта контора, которая рыскает по интернету и блочит всё пиратское через юридические процедуры. Она представляет интересы книжных издательств.
Я долго не мог понять, к чему именно они прикопались. Ведь я делал то видео на коленке без какой-то даже музыки.
Узнал о страйках две вещи:
- Нельзя посмотреть, какой именно отрезок видео нарушил чьи-то АП
- Можно подать ответное "уведомление". Для этого нужно заполнить своё ФИО, телефон и ещё какие-то данные. Это всё отправляется той стороне. И после этого, сторона, кинувшая страйк, должна в течение 10 дней подать в суд. Если она это не сделает - страйк будет отозван.
Изучив информацию, я узнал, что они ещё жалуются на видео, на которых показано как обойти блокировку пиратских ресурсов. В конце того видео я показываю, как открываю сайт флибусты. За эти две секунды мне и удалили видео.
Самое забавное, что видео никому не мешало 4 года. Мне интересно, у них какая-то автоматизация, которая компьютерным зрением смотрит и анализирует наличие ключевиков. Или человек, работа которого просматривать внимательно в ручном режиме все видео и радоваться, когда нашёл к чему прикопаться. Работа так себе, но зато теперь этот человек - целая библиотека полезных знаний!
Можно было бы вырезать кусок и перезалить, но вы мне снова будете писать "хватит стучать по клавишам!" (шутка). Оно нормально так устарело за 4 года, и я всё равно планировал выпустить в недалёком будущем обновлённую статью с новым видео.
Прилетел он на первое и самое популярное видео, где я в 2019 году показываю как на роутере сделать умную маршрутизацию. Причиной было нарушение авторских прав, а кинул его азапи. Если вкратце, то эта контора, которая рыскает по интернету и блочит всё пиратское через юридические процедуры. Она представляет интересы книжных издательств.
Я долго не мог понять, к чему именно они прикопались. Ведь я делал то видео на коленке без какой-то даже музыки.
Узнал о страйках две вещи:
- Нельзя посмотреть, какой именно отрезок видео нарушил чьи-то АП
- Можно подать ответное "уведомление". Для этого нужно заполнить своё ФИО, телефон и ещё какие-то данные. Это всё отправляется той стороне. И после этого, сторона, кинувшая страйк, должна в течение 10 дней подать в суд. Если она это не сделает - страйк будет отозван.
Изучив информацию, я узнал, что они ещё жалуются на видео, на которых показано как обойти блокировку пиратских ресурсов. В конце того видео я показываю, как открываю сайт флибусты. За эти две секунды мне и удалили видео.
Самое забавное, что видео никому не мешало 4 года. Мне интересно, у них какая-то автоматизация, которая компьютерным зрением смотрит и анализирует наличие ключевиков. Или человек, работа которого просматривать внимательно в ручном режиме все видео и радоваться, когда нашёл к чему прикопаться. Работа так себе, но зато теперь этот человек - целая библиотека полезных знаний!
Можно было бы вырезать кусок и перезалить, но вы мне снова будете писать "хватит стучать по клавишам!" (шутка). Оно нормально так устарело за 4 года, и я всё равно планировал выпустить в недалёком будущем обновлённую статью с новым видео.
Думаю, у многих возникает вопрос: "А как вообще VPN на сервере развернуть?".
Написал обзор решений для WireGuard. Хотел сделать краткий обзор решений, которые считаю удобными, но их так много и они такие разные. В общем, получился лонгрид.
Ну а раз уже лонгрид, то добавил туда про проблему с DNS у Linux клиентов, и про защиту сервера тоже решил немного расписать.
Эта статья должна вам дать представление о том, какие есть скрипты и веб-интерфейсы для управления WG. Половина из них разворачиваются легко и после установки готовы к использованию.
Как и с VPS провайдерами, я включил в статью далеко не все решения, которые попробовал. Был запрос, что неподходящие под мои критерии тоже нужно добавить. С программами в этом плане проще, поэтому я включил часть популярных, но не очень удобных решений. О них написал вкратце: в основном про их недостатки, которые мешают им быть удобными.
Ещё в последнее время стали больше говорить про возможность блокировок популярных протоколов. Про WG в частности. Своё мнение по этому поводу высказал там же.
Статья на Хабре:
https://habr.com/ru/articles/738890/
Статья в моём блоге:
https://itdog.info/7-reshenij-dlya-ustanovki-i-upravleniya-wireguard-na-svoyom-servere/
Написал обзор решений для WireGuard. Хотел сделать краткий обзор решений, которые считаю удобными, но их так много и они такие разные. В общем, получился лонгрид.
Ну а раз уже лонгрид, то добавил туда про проблему с DNS у Linux клиентов, и про защиту сервера тоже решил немного расписать.
Эта статья должна вам дать представление о том, какие есть скрипты и веб-интерфейсы для управления WG. Половина из них разворачиваются легко и после установки готовы к использованию.
Как и с VPS провайдерами, я включил в статью далеко не все решения, которые попробовал. Был запрос, что неподходящие под мои критерии тоже нужно добавить. С программами в этом плане проще, поэтому я включил часть популярных, но не очень удобных решений. О них написал вкратце: в основном про их недостатки, которые мешают им быть удобными.
Ещё в последнее время стали больше говорить про возможность блокировок популярных протоколов. Про WG в частности. Своё мнение по этому поводу высказал там же.
Статья на Хабре:
https://habr.com/ru/articles/738890/
Статья в моём блоге:
https://itdog.info/7-reshenij-dlya-ustanovki-i-upravleniya-wireguard-na-svoyom-servere/
Хабр
7 решений для установки и управления WireGuard на своём сервере
WireGuard можно использовать для объединения офисов, серверов, доступа в инфраструктуру и т.д. Предполагается, что для настройки WireGuard сервера, нужно вручную сгенерировать ключи, выбрать подсеть и...
Решил вынести настройку туннелей в отдельные статьи у себя на сайте. Не все детали и способы настройки влезали в посты телеграма. Тот же WG можно настроить на OpenWrt:
- в конфиге /etc/config/network
- через UCI
- через LuCi
Консоль любят не все. Поэтому, где это возможно, буду писать также про настройку через LuCi. Начал с этих базовых туториалов.
А ещё это подготовка к завтрашней публикации. Будет ещё один способ роутинга на роутере с OpenWrt.
WG: https://itdog.info/nastrojka-klienta-wireguard-na-openwrt/
OpenVPN: https://itdog.info/nastrojka-klienta-openvpn-na-openwrt/
- в конфиге /etc/config/network
- через UCI
- через LuCi
Консоль любят не все. Поэтому, где это возможно, буду писать также про настройку через LuCi. Начал с этих базовых туториалов.
А ещё это подготовка к завтрашней публикации. Будет ещё один способ роутинга на роутере с OpenWrt.
WG: https://itdog.info/nastrojka-klienta-wireguard-na-openwrt/
OpenVPN: https://itdog.info/nastrojka-klienta-openvpn-na-openwrt/
ITDog.info
Настройка клиента WireGuard на OpenWrt
Здесь рассматривается, как настроить на OpenWrt клиент WireGuard.
Всё проделывается на OpenWrt 22.03.5. На других версиях настройка не отличается Предполагается, что уже есть работающий клиентский конфиг Туннель можно настроить через консоль и через LuCi…
Всё проделывается на OpenWrt 22.03.5. На других версиях настройка не отличается Предполагается, что уже есть работающий клиентский конфиг Туннель можно настроить через консоль и через LuCi…
Точечный роутинг на роутере OpenWrt c помощью BGP
5 лет назад, прежде чем написать статью, я пытался подружить OpenWrt с BGP и сервисом antifilter.download. Как вы догадываетесь, тогда у меня это не вышло. Были мысли ещё разок сесть и попробовать, но уже тогда я сделал себе роутинг по доменам, и мне это очень понравилось. Разбираться с BGP я не видел смысла. Потому что в этом случае роутер получает уже настроенный список IP адресов и подсетей, который ты не можешь подкрутить под себя.
В апреле мне написал Kenit. Сказал, что у него завёлся BGP на OpenWrt и скинул конфиг. Я сначала отнёсся скептически, но из любопытства поставил bird2 на уже подготовленную виртуалку с OpenWrt, закинул конфиг, поправил IP шлюза, рестартанул bird и оно сразу заработало. Ушло на это буквально 5 минут, и меня это впечатлило.
Предложил ему самому написать статью про этот способ, но он отказался.
Способ крут тем, что он быстро и просто настраивается. Но это BGP, если вы с ним не знакомы, и вдруг не заработает, то его инвестигейтинг будет сложнее ipset/nftables set способа.
Если у вас на Хабре карма больше 5, поставьте, пожалуйста, плюс статье. Чем больше плюсов, тем больше людей её увидят и смогут настроить свой роутер.
Статья на Хабре:
https://habr.com/ru/articles/743572/
Статья в моём блоге (идентичная):
https://itdog.info/tochechnaya-marshrutizaciya-na-mikrotik-bgp-i-address-lists-mangle-realizaciya-cherez-domeny/
5 лет назад, прежде чем написать статью, я пытался подружить OpenWrt с BGP и сервисом antifilter.download. Как вы догадываетесь, тогда у меня это не вышло. Были мысли ещё разок сесть и попробовать, но уже тогда я сделал себе роутинг по доменам, и мне это очень понравилось. Разбираться с BGP я не видел смысла. Потому что в этом случае роутер получает уже настроенный список IP адресов и подсетей, который ты не можешь подкрутить под себя.
В апреле мне написал Kenit. Сказал, что у него завёлся BGP на OpenWrt и скинул конфиг. Я сначала отнёсся скептически, но из любопытства поставил bird2 на уже подготовленную виртуалку с OpenWrt, закинул конфиг, поправил IP шлюза, рестартанул bird и оно сразу заработало. Ушло на это буквально 5 минут, и меня это впечатлило.
Предложил ему самому написать статью про этот способ, но он отказался.
Способ крут тем, что он быстро и просто настраивается. Но это BGP, если вы с ним не знакомы, и вдруг не заработает, то его инвестигейтинг будет сложнее ipset/nftables set способа.
Если у вас на Хабре карма больше 5, поставьте, пожалуйста, плюс статье. Чем больше плюсов, тем больше людей её увидят и смогут настроить свой роутер.
Статья на Хабре:
https://habr.com/ru/articles/743572/
Статья в моём блоге (идентичная):
https://itdog.info/tochechnaya-marshrutizaciya-na-mikrotik-bgp-i-address-lists-mangle-realizaciya-cherez-domeny/
Сделал свою реализацию списков доменов
Всё это время я брал списки ip-адресов и доменов у antifilter.download. Это хороший сервис, который я всё так же советую.
Но уже долгое время я использую только домены для роутинга по доменам. И вот со списком доменов у antifilter не всё гладко: туда добавляются в основном домены, которые нужны большинству, поэтому много сервисов остаётся за бортом.
В моём способе роутинга по доменам это решается добавлением нужных доменов в конфиг
Каждый это делает по отдельности, и я считаю, что это непродуктивно для сообщества.
Что я сделал?
Я исхожу из того, что нужно мне и людям, которые меня читают. Собрал аналитику с моего блога, этого канала и вопросы, которые задают в комментариях. Исходя из этого получились следующие списки:
1. Список доменов сервисов, которые блокируются в России, и сервисы, которые сами блокируют российские подсети.
Он состоит из списка domains с antifilter.download и списка, который составил я. В нём находятся домены, которые:
- Я использую сам
- Спрашивали в нашем чате
- Были отклонены сообществом antifilter. Тупо прошёлся по чату antifilter с фильтром "голоса "против" победили". Там достаточно доменов, которые отклоняли по делу, добавил не все.
Объясню мою логику:
Например, есть сайт nba.com. Его блокируют для российских подсетей. Комьюнити отклонило предложение по его добавлению.
Интересен ли мне этот сайт или баскетбол в принципе? Нет.
Но я считаю, раз кто-то хочет туда попасть, и это не какой-то личный или совсем отбитый сайт, значит, он должен содержаться в списках доменов. Думаю, именно этот домен нужен далеко не одному человеку.
Я понимаю ограничение по спискам IP-адресов: оборудование не тянет эти сотни тысяч айпишников. Но несколько сотен доменов в конфиге Dnsmasq не дают задержек и нагрузки.
В общем, добавляйте нужные вам домены. Есть несколько способов, они описаны в README. Я буду проверять только отбитость ресурса, и что он точно заблокирован.
2. Список доменов российских сервисов, которые доступны только для российских подсетей. Для тех, кому нужен доступ к российским сервисам из других стран.
Такого списка я не видел нигде, но запрос видел неоднократно.
Внёс пару сервисов, которые знаю. Буду пополнять дальше с вашей помощью.
3. Список сервисов и сайтов, которые блокируются в Украине.
Тут я просто взял список с https://uablacklist.net/ и преобразовал его в формат Dnsmasq.
Кстати, о форматах
Для всех списков есть три формата:
- RAW. Просто списки с доменами и субдоменами
- Dnsmasq nftables sets. Готовые конфиги для Dnsmasq. В OpenWrt их нужно закинуть в /tmp/dnsmasq.d/, рестартовать dnsmasq и всё. Не нужно больше никакое преобразование на роутере. Плюс там подчищаются все субдомены. Они не нужны для Dnsmasq, он работает по wildcard
- Dnsmasq ipset. Идентично, но для ipset
Скрипт для выкачки списков, если использовать только домены, теперь может выглядеть так:
Вкратце, как всё устроено
В одном репозитории содержится всё:
- Списки, из которых формируются конечные списки (Директория src)
- Сами конечные списки (Директории Russia и Ukraine)
- Скрипт, который формирует списки
- Workflow для GitHub Action. При каждом коммите в src, запускает скрипт и проверяет валидность конфигов для Dnsmasq. Так же запускает скрипт каждые 8 часов, чтобы собирать домены с других сервисов. Если всё ок - обновляет списки.
Всё на 100% прозрачно и открыто.
Все подробности в README:
https://github.com/itdoginfo/allow-domains
Пользуйтесь 🙌
Всё это время я брал списки ip-адресов и доменов у antifilter.download. Это хороший сервис, который я всё так же советую.
Но уже долгое время я использую только домены для роутинга по доменам. И вот со списком доменов у antifilter не всё гладко: туда добавляются в основном домены, которые нужны большинству, поэтому много сервисов остаётся за бортом.
В моём способе роутинга по доменам это решается добавлением нужных доменов в конфиг
/etc/config/dhcp
. Но не все ресурсы будут работать, если просто внести их основной домен. У многих ресурсов есть CDN, которые находятся по другим адресам. И что-бы сайт нормально грузился, надо парсить все домены ресурса и потом их заносить вручную.Каждый это делает по отдельности, и я считаю, что это непродуктивно для сообщества.
Что я сделал?
Я исхожу из того, что нужно мне и людям, которые меня читают. Собрал аналитику с моего блога, этого канала и вопросы, которые задают в комментариях. Исходя из этого получились следующие списки:
1. Список доменов сервисов, которые блокируются в России, и сервисы, которые сами блокируют российские подсети.
Он состоит из списка domains с antifilter.download и списка, который составил я. В нём находятся домены, которые:
- Я использую сам
- Спрашивали в нашем чате
- Были отклонены сообществом antifilter. Тупо прошёлся по чату antifilter с фильтром "голоса "против" победили". Там достаточно доменов, которые отклоняли по делу, добавил не все.
Объясню мою логику:
Например, есть сайт nba.com. Его блокируют для российских подсетей. Комьюнити отклонило предложение по его добавлению.
Интересен ли мне этот сайт или баскетбол в принципе? Нет.
Но я считаю, раз кто-то хочет туда попасть, и это не какой-то личный или совсем отбитый сайт, значит, он должен содержаться в списках доменов. Думаю, именно этот домен нужен далеко не одному человеку.
Я понимаю ограничение по спискам IP-адресов: оборудование не тянет эти сотни тысяч айпишников. Но несколько сотен доменов в конфиге Dnsmasq не дают задержек и нагрузки.
В общем, добавляйте нужные вам домены. Есть несколько способов, они описаны в README. Я буду проверять только отбитость ресурса, и что он точно заблокирован.
2. Список доменов российских сервисов, которые доступны только для российских подсетей. Для тех, кому нужен доступ к российским сервисам из других стран.
Такого списка я не видел нигде, но запрос видел неоднократно.
Внёс пару сервисов, которые знаю. Буду пополнять дальше с вашей помощью.
3. Список сервисов и сайтов, которые блокируются в Украине.
Тут я просто взял список с https://uablacklist.net/ и преобразовал его в формат Dnsmasq.
Кстати, о форматах
Для всех списков есть три формата:
- RAW. Просто списки с доменами и субдоменами
- Dnsmasq nftables sets. Готовые конфиги для Dnsmasq. В OpenWrt их нужно закинуть в /tmp/dnsmasq.d/, рестартовать dnsmasq и всё. Не нужно больше никакое преобразование на роутере. Плюс там подчищаются все субдомены. Они не нужны для Dnsmasq, он работает по wildcard
- Dnsmasq ipset. Идентично, но для ipset
Скрипт для выкачки списков, если использовать только домены, теперь может выглядеть так:
#!/bin/sh /etc/rc.common
START=99
script () {
DOMAINS=https://raw.githubusercontent.com/itdoginfo/allow-domains/main/Russia/inside-dnsmasq-nfset.lst
curl -f $DOMAINS --output /tmp/dnsmasq.d/domains.lst
/etc/init.d/dnsmasq restart
}
start () {
script
}
restart () {
script
}
reload () {
script
}
Вкратце, как всё устроено
В одном репозитории содержится всё:
- Списки, из которых формируются конечные списки (Директория src)
- Сами конечные списки (Директории Russia и Ukraine)
- Скрипт, который формирует списки
- Workflow для GitHub Action. При каждом коммите в src, запускает скрипт и проверяет валидность конфигов для Dnsmasq. Так же запускает скрипт каждые 8 часов, чтобы собирать домены с других сервисов. Если всё ок - обновляет списки.
Всё на 100% прозрачно и открыто.
Все подробности в README:
https://github.com/itdoginfo/allow-domains
Пользуйтесь 🙌