• 请不要在回答技术问题时复制粘贴 AI 生成的内容
oriver
V2EX  ›  程序员

geoip=cn 无法识别所有中国网站吗

  •  
  •   oriver · 20h 51m ago · 3149 views

    为什么那些代理软件需要设置那么多规则,甚至还要随时更新?

    35 replies  •  2026-09-26 21:13:29 +08:00
    docx
        1
    docx  
       20h 45m ago via iPhone
    由于存在 CDN 和分区解析,同一个域名分别用直连 DNS 和远程 DNS 去解析,得到的 IP 有可能完全不同。搭配 geosite 使用就比较全面了。更精细的则是存在多条线路需要分流使用。
    jamesliu96
        2
    jamesliu96  
       20h 29m ago
    webcape233
        3
    webcape233  
       19h 58m ago via iPhone
    那当然啊,名单中总有过时的情况,我采用兜底 direct ,对 gfw 和 proxy 的代理,部分手动添加,一般也够了,很少改
    takeshima
        4
    takeshima  
       19h 37m ago via iPhone
    如果你所有网站 dns 全都用运营商的 dns 或者国内公共 DNS ,那 geoip=cn 确实够了,但你觉得你想把所有 dns 请求都交给国内的服务商吗?
    oriver
        5
    oriver  
    OP
       19h 24m ago
    我担心我没有说清楚,意思是 geoip=cn 的,全部 direct ,其它 ip 都是 proxy ,我自己 surge 是大概这么用的,没碰到啥问题, 但像 steam 要下载,就 direct ,下载速度快
    nagisavpn
        6
    nagisavpn  
       19h 23m ago
    可以啊,没啥要求的这样就行。就和老早前的白名单黑名单一样
    lianyue
        7
    lianyue  
       18h 36m ago   ❤️ 1
    @oriver ??? 给你来个 dns 污染就知道了
    coolcoffee
        8
    coolcoffee  
       18h 25m ago
    因为不是所有的网站都需要, 像联通访问 huggingface 直连速度几乎都能打满带宽,你要是用梯子订阅试试。
    exiaohao
        9
    exiaohao  
       18h 18m ago
    首先问一个基础问题:能准确列出「 geoip=cn 」吗
    Admstor
        10
    Admstor  
       18h 10m ago
    我觉得是时候出 top500 china site 了,这个列表里走国内 DNS 国内线路,其余的一律国外 DNS 国外线路

    也许都不用 top500 ,可能 top100 就够了
    oriver
        11
    oriver  
    OP
       17h 46m ago
    @Admstor 感觉 50 都够了
    oriver
        12
    oriver  
    OP
       17h 45m ago
    @exiaohao 用 surge 统计的流量,感觉没啥问题,不过国内常用的网站也就那么几个
    BUCKS
        13
    BUCKS  
       17h 18m ago
    两个手机,一中一台,完美解决这个问题
    xzpjerry731
        14
    xzpjerry731  
       17h 11m ago
    用 ip 判断意味着要解析域名,您准备把被墙域名交给哪个 DNS 解析
    q534
        15
    q534  
       16h 27m ago   ❤️ 2
    @oriver #5 你这么做,一定要向国内的某个 dns 服务商先发一个查询,然后再分流,相当于你通知他们天天上油管,这好吗,这不好.jpg
    andyyuen
        16
    andyyuen  
       16h 26m ago
    问题不在于 geoip ,问题是你 ip 哪里来,还是要 dns 解析


    没用过 surge ,目前 mihomo 的情况是

    如果单用 ip 规则,就需要解析 dns ,每次请求,需要先本地 dns 解析判断是不是国内 ip ,如果不是国内 ip ,再进行一次国外 dns 解析,防止 dns 污染

    geosite 规则 + fakeip 如果是国外规则域名,它不会本地处理 dns ,直接把域名发送到代理去处理,比 ip 规则快
    andyyuen
        17
    andyyuen  
       16h 25m ago
    @andyyuen 域名规则+fakeip ,如果配置得当,会比纯 ip 快 30%
    ndxxx
        18
    ndxxx  
       16h 13m ago via Android
    目标 ip 是哪来的这个问题你想过吗?

    再一看原来是 surge 用户啊😂
    andyyuen
        19
    andyyuen  
       16h 10m ago
    但实际情况确实复杂,看了一下自用的配置,确实需要解决一些不同的问题,才需要配置额外规则

    比如我的配置,感觉不能再精简了

    rules:
    - PROCESS-NAME,tailscaled.exe,DIRECT //内网穿透必须直连
    - RULE-SET,adblockfilters,Reject //去广告
    - GEOSITE,googlefcm,FCM //安卓手机 fcm 直连更稳定
    - GEOSITE,category-ai-!cn,AI //a 畜需要固定节点
    - GEOSITE,netflix,Netflix //地区解锁
    - GEOSITE,private,DIRECT //路由器后台域名访问需要
    - GEOSITE,cn,DIRECT //加速 dns
    - GEOSITE,category-companies@cn,DIRECT //解决两栖域名问题
    - GEOSITE,category-entertainment@cn,DIRECT //解决两栖域名问题
    - GEOSITE,geolocation-!cn,Proxy //加速 dns
    - GEOIP,private,DIRECT //内网 ip 直连
    - GEOIP,CN,DIRECT
    - MATCH,Final
    mangmaimu
        20
    mangmaimu  
       15h 56m ago via iPhone
    把用户按 surge 用户分类的,一看就是 xray 用户
    Lentin
        21
    Lentin  
       15h 35m ago
    /t/1237658 嘿,试试我这个,再 geoip=cn 上面加一条 ASN,UNKNOWN,PROXY 基本能解决一大部分分流问题
    Lentin
        22
    Lentin  
       15h 30m ago
    ASN,UNKNOWN,PROXY 这个规则是用来解决 GFW 的 DNS 污染解析结果为 CN 归属地 IP 但实际未广播的情况,污染库这么多年了也不更新一下
    比如这个 https://ipinfo.io/118.193.240.41
    IP 前身为广播至香港的 IP ,但是似乎回收了又回到了 CN ,但实际未广播
    Lentin
        23
    Lentin  
       15h 27m ago
    这样的话 Surge 三行就可以解决国内外分流问题,ipinfo 的数据库还是很准的,目前没有发现被遗漏的
    IP-ASN,UNKNOWN,PROXY
    GEOIP,CN,DIRECT
    FINAL,PROXY,dns-failed
    qbqbqbqb
        24
    qbqbqbqb  
       15h 25m ago
    因为 DNS 。

    如果只用 geoip ,所有域名全部解析成 IP 再根据 geoip 判断的话:
    1. 国内 DNS 解析会被污染,结果不可靠,而且会把你翻墙访问的域名泄漏给运营商
    2. 远程 DNS 解析,不仅速度慢,而且会把某些国内大厂的网站解析到国外 CDN 的 IP ,本来不用走代理的网站走了代理

    所以说合理的代理软件规则配置只用 IP 规则(geoip)是效果肯定不好的,一定要搭配域名规则(geosite)来用,至少搭配一个 geosite=cn:
    1. 国内网站匹配到域名直接绕过,不用等解析完 DNS 再决策
    2. 可以实现 DNS 分流,国内域名查询国内 DNS ,海外域名过代理远程查询海外 DNS ,既可以保障 DNS 查询结果准确又可以提高性能
    oceaniver
        25
    oceaniver  
       15h 8m ago
    这样的话,把常用的那些背墙域名写入规则直接走代理,那不就解决了
    shuijingwanwqyy
        26
    shuijingwanwqyy  
       14h 41m ago
    https://github.com/shuijingwan/clash-config 。这是我自己摸索出来的一个配置模板了。适用于 Clash Verge Rev 的极简分流与防污染配置模板,代理层基于 WireGuard (可配合 Wstunnel 等隧道)。可以参考一下,如果发现一些网站解析的时候,国内与国外分辨不清楚了。或者说没有准确地判断应该走直连还是代理,我发现基本上更新一下 GeoData 就能够解决了的。
    oriver
        27
    oriver  
    OP
       14h 2m ago
    那如果直接更改系统 dns 服务器呢?
    feunterban
        28
    feunterban  
       13h 51m ago
    把所有备案网站的一级域名和 cn 的 ip 设置为 direct 不就行了,备案网站可以在 github 上找更新
    qbqbqbqb
        29
    qbqbqbqb  
       13h 39m ago
    @oriver 改系统 dns 服务器,解决不了单用国内 DNS 有污染,单用远程 DNS 响应慢且会把国内大厂网站解析到国外 CDN IP 的问题。要完美解决代理 DNS 问题必须靠 DNS 分流,也就必须使用 geosite 规则,不可能仅靠 geoip 规则。
    oceaniver
        30
    oceaniver  
       13h 36m ago
    @feunterban 好主意
    zictos
        31
    zictos  
       13h 31m ago
    再搭配一下 geosite ,而且 geoip 和 geosite 尽量每隔一段时间就更新一下。

    反正电脑上使用代理的软件主要是浏览器,如果国内网站误走代理的话就直接通过浏览器扩展将该网站的规则设为直连。一个网站有太多域名(某些资源可能请求不同的域名)的话可以想办法找到该网站的所有域名,并且将所有域名的规则都设为直连。电脑上尽量不要全局代理,只有需要代理的软件才代理。手机上我也是只有少数的指定应用会进行代理。
    leefor2020
        32
    leefor2020  
       13h 29m ago via iPhone
    像字节系的软件开一个能同时上百个链接十几个域名,时不时还有新的域名加进来,这种感觉 goesite 可能会漏啊
    everfly
        33
    everfly  
       12h 22m ago via iPhone
    这是代理软件的缺陷,提供了 geosite=cn 这种代理模式但是却采用了有缺陷的实现方案。采用 PAC 分流才是正解,根据请求域名进行分流,然后 IP 规则做兜底。
    oriver
        34
    oriver  
    OP
       10h 3m ago
    最终决定的方案,gfw 的域名列表用代理,其他的都直连:FINAL,DIRECT
    oriver
        35
    oriver  
    OP
       10h 1m ago
    @webcape233 就是这位盆友的方法了,gfw 名单几千个,对 surge 来说很少
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1031 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 63ms · UTC 23:14 · PVG 07:14 · LAX 16:14 · JFK 19:14
    ♥ Do have faith in what you're doing.