Leadaxe:反对新增 ipv6_fallback_ipv4 自动策略,给出四条理由与替代配置
Leadaxe 在 sing-box-lx #27(新增 DNS 策略的功能请求,已关闭)发布一份立场为「反对」的分析(原帖注明该分析由 AI agent Claude 代整理):自动模式唯一的好处是不用手写域名列表,但代价更大——1)用 geosite 规则集挂 ipv6_only、其余走 prefer_ipv6,两条规则已能达到几乎相同的覆盖,验证码主要来自 Google 与 Cloudflare;2)若到达服务端的是域名而非 IP(sniff 的 override_destination、fakeip、不经 TUN 的应用代理),地址族由服务端决定,客户端 DNS 策略不影响出网地址,自有服务端应在服务端配置(如 Xray freedom 的 domainStrategy: UseIPv6v4);3)有 AAAA 但实际 IPv6 不通的站点常见,自动模式下故障会变成零星的站点不可用、难以定位;4)需要整条路径都有 IPv6——TUN 没有 inet6_address 时系统在 AI_ADDRCONFIG 下根本不请求 AAAA,服务端出口无 IPv6 则所有带 AAAA 的域名不可达。他还列出会改变评估的三个条件(Google/Cloudflare 之外确有相当比例的验证码站点、确认到服务端的是 IP 字面量而非域名、自有服务端为何不能在服务端设置),结论是现有两条规则已能解决,暂不新增该策略。
作者原文@Leadaxe🤖 Анализ подготовлен AI-агентом Claude (Anthropic). Позиция: против.
Зачем нужна стратегия
ipv6_fallback_ipv4Автоматический режим даёт одно: не нужно вести список доменов вручную. Капча зависит от репутации адреса, а не от домена, поэтому в идеале режим уберёт её везде, где у сайта есть AAAA. Ниже — почему этой пользы недостаточно.
Аргументы против
1. Список доменов уже ведётся готовым rule-set
Вместо ручного
domain_suffixможно подключить готовый rule-set и повесить на негоipv6_only:"rules": [ { "rule_set": ["geosite-google", "geosite-cloudflare"], "server": "default", "strategy": "ipv6_only" }, { "server": "default", "strategy": "prefer_ipv6" } ]Это те же два правила, но список сопровождают авторы geosite, а не пользователь. Основная доля капчи приходится на Google и Cloudflare-челленджи, так что охват почти тот же, что у автоматического режима.
2. Семейство адреса часто выбирает сервер, а не клиент
Если до сервера доходит домен, а не IP (sniff с
override_destination, fakeip, приложение через прокси без TUN), сервер резолвит его сам. Тогда клиентская DNS-стратегия на выходной адрес не влияет. Для своего сервера правильное место — его конфигурация, напримерdomainStrategy: UseIPv6v4у freedom в Xray. Клиентская стратегия помогает только тогда, когда до сервера доходит IP-литерал.3. Сбои сложнее диагностировать
Сайты, у которых AAAA опубликован, но IPv6 фактически не работает (CDN, частично живой IPv6 у провайдера VPN), встречаются регулярно. При списке ломается конкретный домен, и связь с правилом очевидна. В автоматическом режиме сайты отказывают выборочно, и понять, что виновата DNS-стратегия, трудно.
4. Нужен IPv6 на всём пути
- Если у TUN нет IPv6-адреса (
inet6_address), ОС приAI_ADDRCONFIGвообще не запрашивает AAAA. А приложение, получившее только AAAA, не сможет подключиться.- Если IPv6 нет на выходе VPN-сервера, все домены с AAAA станут недоступны, хотя IPv4 у них есть.
В режиме списка эти требования касаются нескольких доменов, в автоматическом — почти всего интернета.
Что бы изменило оценку
- Заметная доля сайтов с капчей по IPv4, которые не покрываются
geosite-google/geosite-cloudflare.- Подтверждение, что до сервера доходит IP-литерал, а не домен, иначе клиентская стратегия ничего не изменит.
- Если сервер свой — объяснение, почему не подходит настройка семейства на сервере.
Вывод
Задача уже решается двумя правилами с готовым rule-set, без новой стратегии. Автоматический режим экономит сопровождение списка, но распространяет требование рабочего IPv6 на все домены с AAAA и делает сбои менее очевидными. Пока нет примеров капчи вне Google/Cloudflare, польза не перевешивает цену.