不懂就问,科学上网软件的分流规则搞那么复杂干什么 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Winter1sComing
V2EX    问与答

不懂就问,科学上网软件的分流规则搞那么复杂干什么

  •  
  •   Winter1sComing 2021 年 1 月 24 日 7380 次点击
    这是一个创建于 1821 天前的主题,其中的信息可能已经有所发展或是发生改变。

    从网上导入别人弄好的规则往往都是上千条,把常用不常用的网站一个个全部列出来 按我的理解(不一定对),匹配 DOMAIN 、DOMAIN-SUFFIX 这类的规则可以 O(1)完成,但 KEYWORD 类的规则不就得 O(n)一个个匹配了么?请求数量一多不会造成很大的性能负担么,在移动设备上还会影响到续航。况且规则再多也总会遇到你访问的网站没有的情况,匹配了几千条规则最终又走到兜底规则去。 我这两天把规则全删了,只写了两条

    GEOIP, CN, DIRECT FINAL, PROXY 

    感觉和之前好像也没什么区别,如果有什么特殊需要,比如 Netflix 走香港节点,另外单独加就是了

    44 条回复    2021-01-25 10:47:21 +08:00
    laminux29
        1
    laminux29  
       2021 年 1 月 24 日
    收费的,规则一般是十几条,最多二十几条。如果是免费的,规则多,目的应该是为了防范攻击与滥用,也是能够理解的,毕竟很多免费是的湾湾 fan 动 zu 织搞得,他们的经费也不多。
    cielpy
        2
    cielpy  
       2021 年 1 月 24 日   11
    @laminux29 ????
    lcdtyph
        3
    lcdtyph  
       2021 年 1 月 24 日   3
    你这两条能应付大多数情况的前提是 dns 结果没有问题。

    然而实际情况下不是这样的。而且如果前面有 DOMAIN 类规则优先匹配的话还可以减少一次 dns 的时间。感受上就是响应更快了。

    规则的确是适用自己的就好,我个人用别人弄的规则的唯一原因是懒。
    Jaosn
        4
    Jaosn  
       2021 年 1 月 24 日
    同意楼上,反正有大佬维护,用就是了
    yaoppp
        5
    yaoppp  
       2021 年 1 月 24 日 via iPhone
    因为有相当多的没有被封的境外网站啊
    Winter1sComing
        6
    Winter1sComing  
    OP
       2021 年 1 月 24 日 via iPhone
    @lcdtyph 有道理,DNS 不行的话确实会影响
    Winter1sComing
        7
    Winter1sComing  
    OP
       2021 年 1 月 24 日 via iPhone
    @laminux29 感觉我们说的好像不是一个东西……
    westoy
        8
    westoy  
       2021 年 1 月 24 日
    这方案最大的问题是上个 paypal 然后号没了
    taobibi
        9
    taobibi  
       2021 年 1 月 24 日
    个人猜测是防止滥用或者下载流量暴增吧
    KyonLi
        10
    KyonLi  
       2021 年 1 月 24 日 via iPhone
    你这样全部根据 ip 分流 dns 污染怎么解决的,一个域名同时有国内外节点怎么分流的,访问 ip.cn 拿到的是实际 ip 还是代理服务器的 ip
    Winter1sComing
        11
    Winter1sComing  
    OP
       2021 年 1 月 24 日 via iPhone
    @yaoppp GitHub 也没被封,但直连体验极差,我一般还是习惯境外网站直接走代理
    yyysuo
        12
    yyysuo  
       2021 年 1 月 24 日
    我觉得规则多了 dns 会疯的吧,现在这些软件方案,不会不同的域名走不同的 dns 代理吧。
    Winter1sComing
        13
    Winter1sComing  
    OP
       2021 年 1 月 24 日 via iPhone
    @KyonLi 我试了下 ip.cn 显示的是代理 ip,我看 dns 查询记录不同域名用的服务器还不一样,可能是软件同时向多个 dns 服务器发查询,用最先返回的结果吧,也...没啥问题
    kawaiidora
        14
    kawaiidora  
       2021 年 1 月 24 日
    因为有细分需求啊,例如 bilibili 有时需要用到代理,有时又需要直连
    chonger
        15
    chonger  
       2021 年 1 月 24 日
    不知道为什么 b 站只要挂上代理就必走代理流量,明明是国内媒体啊。
    cjq8z
        16
    cjq8z  
       2021 年 1 月 24 日 via Android
    @chonger DNS 查询问题,B 站也有海外的节点
    mxT52CRuqR6o5
        17
    mxT52CRuqR6o5  
       2021 年 1 月 24 日
    比如玩游戏需要一些高倍率低延迟节点
    而下载个苹果系统更新包则应该走低倍率节点
    mxT52CRuqR6o5
        18
    mxT52CRuqR6o5  
       2021 年 1 月 24 日
    @mxT52CRuqR6o5 如果看 奈非 还得选特定的落地可解锁的节点
    dcty
        19
    dcty  
       2021 年 1 月 24 日
    因为 geoip 不一定准,final 也不是所有人都用 proxy
    digimoon
        20
    digimoon  
       2021 年 1 月 24 日
    流量需要钱,不翻就能上的站为啥要翻?而且有些情景是你翻了后反而不能上
    love
        21
    love  
       2021 年 1 月 24 日
    keyword 类型要多少才会能有性能问题啊?起码几万起吧?你数了里面有多少 keyword 类型?
    iamwho
        22
    iamwho  
       2021 年 1 月 24 日
    因为每个人有不同需求,有隐私需求的人也会问你为什么不直接全局。

    50 条规则和 50000 条规则的“性能负担”基本持平。
    Jirajine
        23
    Jirajine  
       2021 年 1 月 24 日 via Android
    那些复杂规则非常不靠谱。某某网站,域名有哪些哪些,这种规则卵用没有。
    分流纯按 IP 就可以了,至于 DNS,可以用一个外部软件。考虑到安全性推荐用一个大陆域名白名单,其余全走 doh 代理解析。
    TypeError
        24
    TypeError  
       2021 年 1 月 24 日 via Android
    还是 Android 的分应用代理方便
    FS1P7dJz
        25
    FS1P7dJz  
       2021 年 1 月 24 日
    性能开销完全没有你的以为的那么大,除非开发者存在严重的性能缺陷
    这个某火箭还是某影子作者说过了,几万条规则也是没啥影响

    楼主的需求其实我和差不多,但是你要考虑
    第一,通用规则需要适合更多的人
    第二,你这个规则其实会给服务器带来更多的负担,你自建自用没啥感觉,如果是公开 /半公开服务器,那么服务器的流量消耗就会成倍增加
    第三,对于能直接访问的网站来说,你这个反而可能减速.对于一些网站来也,也容易导致账户出现异常(因为大量同 IP 登录)
    lzl2000
        26
    lzl2000  
       2021 年 1 月 24 日 via iPhone
    我用国外网站一律走代理,简单方便
    bipy
        27
    bipy  
       2021 年 1 月 24 日
    抗 DNS 污染(比如推特的 ip 可能被解析到国内)
    对访问者 ip 有要求的网站(网飞,b 站港澳台,某些私人网站等)
    laydown
        28
    laydown  
       2021 年 1 月 24 日
    的确,一般用楼主这么两条其实是没什么大的问题的。
    xenme
        29
    xenme  
       2021 年 1 月 24 日 via iPhone
    规则匹配速度比 dns 查询速度快多了,而且还要考虑 dns 污染问题和兼容 cdn 的问题,这两条作为兜底可以,但只有这两条体验不如加点自己常用的黑白名单规则。

    至于网上几万的规则肯定是没必要的
    alo1719
        30
    alo1719  
       2021 年 1 月 24 日   6
    KEYWORD 类规则的匹配并不是 O(n)的,算法可以生成字典树一次性匹配所有字符串,在几千条规则的数量级下,不会有什么性能上的损失。
    ShuaiMakMak
        31
    ShuaiMakMak  
       2021 年 1 月 24 日
    主要还是各地区流媒体开太多
    lostberryzz
        32
    lostberryzz  
       2021 年 1 月 24 日
    一般的配置 DOMAIN-KEYWORD 只有几十条,基本上都是 DOMIAN-SUFFIX,几乎不会有什么性能损失,换来的是更好更快的响应速度(在 Rule List 里的直接代理 DNS 请求),另外还有隐私需求,不想通过国内 DNS 服务器查询部分敏感域名。而且不是境外的 IP 就一定要走代理的,有很多直连速度也很快,有很多有实时性要求不适合走代理。
    czhfrank
        33
    czhfrank  
       2021 年 1 月 24 日 via iPhone
    @TypeError 请教安卓怎么按应用代理的?
    chairuosen
        34
    chairuosen  
       2021 年 1 月 24 日
    @czhfrank #33 ssrr
    xionger
        35
    xionger  
       2021 年 1 月 24 日
    你看 brook 的就简单到极致了
    IP 列表和域名列表 比如 a.com 就包含了 xx.a.com, xx.xx.a.com 等等
    systemcall
        36
    systemcall  
       2021 年 1 月 24 日
    有一些网站只是主站和登录、验证之类的服务器连不上,CDN 是可以连上去的。你可以多试试,可以省不少流量钱
    再就是有些 CDN 是全球的,你问 DNS,不同地区的 DNS 给出的结果还不一样,结果就是可能一些网站很慢或者没法用
    要是不差钱的话,感觉可以默认走代理,走代理不行的时候再直连,也不用想方设法节省流量了
    UnitTest
        37
    UnitTest  
       2021 年 1 月 24 日
    我说一点, 一般来说规则就几千条, 上万条的我没有尝试过性能如何。
    几千条的遍历对于,遍历之后对比的字符串也比较短,对于目前的 cpu 来说问题不大。你每秒的网络请求其实没太多,有很多是长连接。
    如果有必要的话,几千条转成 map 之后就不用遍历了,只需要额外消耗一点点内存。目前设备基本上都不差这点内存。
    Rorysky
        38
    Rorysky  
       2021 年 1 月 25 日
    首先如果你是 macOS,那所有的操作系统更新、音乐之类流量会全部走 代理……
    TypeError
        39
    TypeError  
       2021 年 1 月 25 日 via Android
    @czhfrank ss,v2ray,clash 的 Android 客户端都自带这功能,可以选择白名单黑名单 app 走直连不代理
    sasalemma
        40
    sasalemma  
       2021 年 1 月 25 日
    还不如直接挂墙内墙外的 dns,看返回速度,那个快就决定用直连或者代理不更合理?
    datocp
        41
    datocp  
       2021 年 1 月 25 日 via Android
    都不知道各位在讨论什么,当年 2015 年 1 月 1 日,一个具备 socks5 远程 dns 查询的 ss 终端竟然异常,从那天起弃了所有的 ss 客户端。
    玩了这么多年哪这么复杂 stunnel+softether+ocserv 到处走,都是 tls 加密,我可不想被中间人过滤。
    zhoushengyue
        42
    zhoushengyue  
       2021 年 1 月 25 日
    @kawaiidora 看有些动漫就只能挂 HK 节点,不挂看不了
    Pogbag
        43
    Pogbag  
       2021 年 1 月 25 日
    @laminux29 我怎么觉得你说的是节点阿
    abersheeran
        44
    abersheeran  
       2021 年 1 月 25 日   1
    规则是为了加速。我写过一个。纯 Python 的。零名单和几万的名单,速度我没感觉有影响。

    另外,规则这个我觉得没必要吐槽,也只是条数多,写 /改起来还是很简单的。但是配置一个比一个复杂才是真的需要吐槽的吧。SS/SSR 还行……配置一下加密手段就行。后面 v2ray 就开始起飞了,我到现在也没明白怎么配置。然后是 Clash,好家伙,配置文件相当于自建的编程语言了。

    于是我含泪花了一个周末自己写一个 GUI 。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1094 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 23:04 PVG 07:04 LAX 15:04 JFK 18:04
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86