Сегодня был выпущен мажорный релиз v2rayN v7.0, а вместе с ним и моя серия коммитов, которые добавляют поддержку пресета "Россия".
Введение
Ни для кого не секрет, что ввиду блокировок "обычных" vpn протоколов в России, многие пользователи перешли на использование v2ray/xray/sing-box. Как известно, почти все GUI клиенты разработаны в Китае для Китая, но их специфика мало применима для России (по крайней мере пока).
Поэтому мне в голову пришла идея сделать репозиторий с российскими GeoIP/GeoSite файлами, а так же добавить их поддержку в, вероятно, самый популярный клиент для Windows - v2rayN.
Обратите внимание, что с версии 7.0.0 v2rayN поддерживает Linux!
v2rayN
Если вам не интересны подробности, то вот ссылка на релиз: v2rayN v7.0
Нужно просто скачать, v2rayN-windows-64-SelfContained-With-Core.7z
, распаковать и запустить v2rayN.exe
.
После этого добавьте свой конфиг и нажмите Настройки -> Региональные пресеты -> Россия
(Для английской локали Settings -> Regional presets setting -> Russia
).
Что было сделано
-
Добавлена поддержка сторонних источников GeoIP/GeoSite файлов для Xray и sing-box и их обновления.
-
Добавлена поддержка сторонних источников правил маршрутизации.
-
Добавлена поддержка сторонних источников DNS конфигурации для Xray и sing-box.
-
Добавлен, собственно, пресет "Россия", который просто устанавливает все вышеперечисленные параметры и обновляет Geo файлы.
В v2rayN уже добавлена поддержка российских источников, но вы можете использовать свои. Все источники, кроме DNS настраивается в Настройки -> Настройки параметров -> Настройка v2rayN
.
Скачивание из всех источников происходит через прокси, так что можно не беспокоиться о будущих блокировках.
Источники GeoIP/GeoSite
Официальные GeoIP/GeoSite и sing-box srs файлы загружаются из репозитория @runetfreedom/russia-v2ray-rules-dat
Этот репозиторий является агрегатором файлов из @runetfreedom/russia-blocked-geoip и @runetfreedom/russia-blocked-geosite. Единственная цель этой агрегации состоит в том, что код v2rayN ожидает один репозиторий для обоих типов файлов.
Подробнее о содержимом этих файлов ниже.
Источники правил маршрутизации
Официальные правила маршрутизации загружаются из репозитория @runetfreedom/russia-v2ray-custom-routing-list
Вcе правила блокируют рекламу и пропускают трафик напрямую до приватных и зарезервированных сетей, определенных в RFC6890.
На данный момент существуют 3 набора правил:
-
Вcё - как следует из названия, направляет весь трафик в прокси/VPN.
-
Вcё, кроме РФ - в прокси/VPN направляется весь трафик, кроме торрентов и всех российских IP. В этом режиме нормально работают госуслуги, ржд, банки и т.д.
-
Заблокированное - В прокси/VPN направляются только заблокированные в России домены (antifilter community и re:filter) и ip адреса. Дополнительно пришлось завернуть UDP порты 50000-65535 для работы войса дискорда.
Выбор правила зависит от задачи и желаемого уровня анонимности, но в целом, для обычного пользователя, достаточно второго набора. Из-за нового подхода с блокировками на ТСПУ у нас на самом деле нет единого реестра ресурсов, к которым они применяют рестрикции, так что третий набор может работать не идеально.
Источники DNS конфигурации
Официальная DNS конфигурация загружаются из репозитория @runetfreedom/russia-v2ray-custom-routing-list
В них нет ничего особенно интересного, они очень похожи на встроенные кроме блокировки рекламы и замены китайских DNS для локальных запросов на DNS Яндекса (77.88.8.8)
Российский источник GeoIP и GeoSite файлов
Я не нашел в интернете ни одного репозитория, который собирал бы все источники вместе, поэтому я решил сделать свои.
Источниками данных о блокировках в России являются:
Для роутеров и мобильных телефонов стоит использовать geosite-ru-only.dat
и geoip-ru-only.dat
, так как полные списки слишком велики для них.
Контент обновляется раз в 6 часов средствами GitHub Actions.
GeoIP
GeoIP файлы доступны в репозитории @runetfreedom/russia-blocked-geoip
На данный момент поддерживаются следующие выходные форматы:
-
MaxMind
mmdb
-
sing-box
srs
-
mihomo
mrs
-
Clash правила
-
SURGE правила
-
nginx allow и deny шаблоны (для reverse proxy и fallback схем)
Основные категории:
-
geoip:ru-blocked
содержитipresolve.lst
иsubnet.lst
сервиса antifilter.download -
geoip:ru-blocked-community
содержитcommunity.lst
сервиса community.antifilter.download -
geoip:re-filter
содержитipsum.lst
из re:filter
Для вашего удобства в файлы включены несколько дополнительных категорий на основе ASN:
-
geoip:cloudflare
-
geoip:cloudfront
-
geoip:facebook
-
geoip:fastly
-
geoip:google
-
geoip:netflix
-
geoip:telegram
-
geoip:twitter
-
geoip:ddos-guard
-
geoip:yandex
Содержимое файлов:
-
geoip.dat
,Country.mmdb
- содержит полный набор данных (оригинальный geoip + все категории) -
geoip-asn.dat
,Country-asn.mmdb
- содержит только дополнительные категории -
geoip-ru-only.dat
,Country-ru-only.mmdb
- содержит только списки заблокированных сетей и адресов + private (geoip:ru-blocked
,geoip:ru-blocked-community
,geoip:re-filter
иgeoip:private
) -
ru-blocked.dat
,ru-blocked-community.dat
,re-filter.dat
- отдельно соответствующие категории (только geoip.dat формат) -
private.dat
- Приватные/Зарезервированные сети (RFC6890)
Содержимое директорий
Во всех директориях содержимое разбито по принципу "1 файл = 1 категория"
-
dat
-geoip.dat
формат -
text
- Текстовые списки -
srs
- sing-box формат -
clash
- Clash формат (включая классическую и ip-cidr нотацию) -
mrs
- mihomo формат -
surge
- SURGE формат -
nginx
- allow и deny правила для nginx
GeoSite
GeoSite файлы доступны в репозитории @runetfreedom/russia-blocked-geosite
На данный момент поддерживается только формат geosite.dat
Дополнительно к спискам заблокированного используются:
-
@v2fly/domain-list-community - огромный список доменов, разбитых по множеству сервисов, компаний и категорий. Включая discord, youtube и тд.
-
AdGuard Dns Filter - список рекламных доменов
-
Peter Lowe’s list - список рекламных доменов
-
WindowsSpyBlocker - список доменов, используемых windows (в том числе для слежки и сбора аналитики)
В списки так же загружаются дополнительные домены из @runetfreedom/russia-domains-list. Для добавления заблокированных доменов по возможности вместо PR в этот репозиторий используйте, пожалуйста, бота Antifilter Community
Доступные категории
-
Все категории из @v2fly/domain-list-community. Включая: google, discord, youtube, twitter, meta, openai и так далее.
-
geosite:ru-blocked
- заблокированные в России домены (antifilter-download-community
+re:filter
) -
geosite:ru-blocked-all
- все известные заблокированные в России домены (antifilter-download
+antifilter-download-community
+re:filter
). Список содержит не менее 700 тысяч доменов, употреблять с осторожностью. -
geosite:ru-available-only-inside
- Домены, доступные только внутри России -
geosite:antifilter-download
- все домены изantifilter.download
(почти 700 тысяч, употреблять с осторожностью) -
geosite:antifilter-download-community
- все домены изcommunity.antifilter.download
-
geosite:refilter
- все домены изre:filter
-
geosite:category-ads-all
- все рекламные домены -
geosite:win-spy
- домены, используемые windows для слежки и сбора аналитики -
geosite:win-update
- домены, используемые windows для обновлений -
geosite:win-extra
- прочие домены, используемые windows
Обратите внимание, что geosite:category-ads-all
из v2fly перезаписывается, тк он слишком мал и во многом бесполезен.
Релиз так же содержит эти категории в виде текстовых файлов со списком доменов.
Заключение
Все файлы доступны для скачивания и использования в любых целях. Если у вас есть идеи или предложения, то пишите в issues соответствующих репозиториев.
У меня в планах было сделать еще и правила маршрутизации для FoxRay (клиент для iOS/macOS), но разработчики клиента недавно удалили поддержку импорта правил.
Автор: runetfreedom