Open savely-krasovsky opened 1 year ago
@ilyaigpetrov хотелось бы послушать ваши мысли)
Чем такое решение лучше VPN АнтиЗапрета, который рекоменуется ставить на Android и iOS?
@ilyaigpetrov я в итоге своими силами сделал такое: https://github.com/L11R/antizapret-sing-box-geo
Работает отлично с в паре с sing-box и любым прокси (или даже WireGuard). На своём личном телефоне у меня получился примерно такой конфиг:
{
"log": {
"level": "warn"
},
"dns": {
"servers": [
{
"tag": "adguard-home-dns",
"address": "https://REDACTED/dns-query/singbox",
"address_resolver": "yandex-dns",
"detour": "direct-out"
},
{
"tag": "yandex-dns",
"address": "77.88.8.8",
"detour": "direct-out"
}
]
},
"inbounds": [
{
"type": "tun",
"inet4_address": "172.16.0.1/30",
"inet6_address": "fd00::1/126",
"auto_route": true,
"sniff": true
}
],
"outbounds": [
{
"type": "direct",
"tag": "direct-out"
},
{
"type": "wireguard",
"tag": "wireguard-out",
"server": "REDACTED",
"server_port": 51820,
"system_interface": true,
"local_address": [
"10.252.0.1/32",
"2600:xxxx:xxxx:cafe::1/128"
],
"private_key": "REDACTED",
"peer_public_key": "REDACTED",
"pre_shared_key": "REDACTED"
},
{
"type": "dns",
"tag": "dns-out"
}
],
"route": {
"rules": [
{
"ip_version": 6,
"outbound": "wireguard-out"
},
{
"geoip": "antizapret",
"geosite": "antizapret",
"outbound": "wireguard-out"
},
{
"protocol": "dns",
"outbound": "dns-out"
}
],
"geoip": {
"download_url": "https://github.com/L11R/antizapret-sing-geosite/releases/latest/download/geoip.db"
},
"geosite": {
"download_url": "https://github.com/L11R/antizapret-sing-geosite/releases/latest/download/geosite.db"
},
"auto_detect_interface": true
}
}
Итог: заблокированные и IPv6 сайты работают через WireGuard, незаблокированные -- напрямую.
С IPv6 это лично моя хотелка, можно легко убрать это правило и будет классический Антизапрет. Наверно позже напишу блогпост или пост на форум (ntc.party).
Расширение очень крутое и поэтому мне хотелось бы концепцию на system-wide уровень. Особенно это актуально для Android. Да, там можно настроить в системе PAC-файл, но в небраузерных приложениях это работать не будет.
Китайцы придумали мощную коробку под названием sing-box, она интегрирована в кучу приложений включая Nekoray, NekoBox, SagerNet и другие.
Там есть удобная фича с правилами маршрутизации, в частности правила geosite и geoip. Компилируют готовую базу они тут: https://github.com/SagerNet/sing-geosite
Вкладывают при этом вручную подобные списки, которые делает коммьюнити: https://github.com/v2fly/domain-list-community
Собственно идея простая:
antizapret
, при его добавлении в конфигурацию подгружать БД запрещенных доменов и IP.На мой взгляд изменения подготовить достаточно легко:
В теории можно будет даже попробовать это замержить, если поговорить с оригинальными авторами, но тут уже не знаю насколько они открыты к подобному.