Сегодня был выпущен мажорный релиз 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
mmdbsing-box
srsmihomo
mrsClash правила
SURGE правила
nginx allow и deny шаблоны (для reverse proxy и fallback схем)
Основные категории:
geoip:ru-blockedсодержитipresolve.lstиsubnet.lstсервиса antifilter.downloadgeoip:ru-blocked-communityсодержитcommunity.lstсервиса community.antifilter.downloadgeoip:re-filterсодержитipsum.lstиз re:filter
Для вашего удобства в файлы включены несколько дополнительных категорий на основе ASN:
geoip:cloudflaregeoip:cloudfrontgeoip:facebookgeoip:fastlygeoip:googlegeoip:netflixgeoip:telegramgeoip:twittergeoip:ddos-guardgeoip: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.downloadgeosite:refilter- все домены изre:filtergeosite:category-ads-all- все рекламные доменыgeosite:win-spy- домены, используемые windows для слежки и сбора аналитикиgeosite:win-update- домены, используемые windows для обновленийgeosite:win-extra- прочие домены, используемые windows
Обратите внимание, что geosite:category-ads-all из v2fly перезаписывается, тк он слишком мал и во многом бесполезен.
Релиз так же содержит эти категории в виде текстовых файлов со списком доменов.
Заключение
Все файлы доступны для скачивания и использования в любых целях. Если у вас есть идеи или предложения, то пишите в issues соответствующих репозиториев.
У меня в планах было сделать еще и правила маршрутизации для FoxRay (клиент для iOS/macOS), но разработчики клиента недавно удалили поддержку импорта правил.
