从网上导入别人弄好的规则往往都是上千条,把常用不常用的网站一个个全部列出来 按我的理解(不一定对),匹配 DOMAIN 、DOMAIN-SUFFIX 这类的规则可以 O(1)完成,但 KEYWORD 类的规则不就得 O(n)一个个匹配了么?请求数量一多不会造成很大的性能负担么,在移动设备上还会影响到续航。况且规则再多也总会遇到你访问的网站没有的情况,匹配了几千条规则最终又走到兜底规则去。 我这两天把规则全删了,只写了两条
GEOIP, CN, DIRECT
FINAL, PROXY
感觉和之前好像也没什么区别,如果有什么特殊需要,比如 Netflix 走香港节点,另外单独加就是了
1
laminux29 2021-01-24 16:17:42 +08:00
收费的,规则一般是十几条,最多二十几条。如果是免费的,规则多,目的应该是为了防范攻击与滥用,也是能够理解的,毕竟很多免费是的湾湾 fan 动 zu 织搞得,他们的经费也不多。
|
3
lcdtyph 2021-01-24 16:23:30 +08:00 3
你这两条能应付大多数情况的前提是 dns 结果没有问题。
然而实际情况下不是这样的。而且如果前面有 DOMAIN 类规则优先匹配的话还可以减少一次 dns 的时间。感受上就是响应更快了。 规则的确是适用自己的就好,我个人用别人弄的规则的唯一原因是懒。 |
4
Jaosn 2021-01-24 16:24:33 +08:00
同意楼上,反正有大佬维护,用就是了
|
5
yaoppp 2021-01-24 16:24:50 +08:00 via iPhone
因为有相当多的没有被封的境外网站啊
|
6
Winter1sComing OP @lcdtyph 有道理,DNS 不行的话确实会影响
|
7
Winter1sComing OP @laminux29 感觉我们说的好像不是一个东西……
|
8
westoy 2021-01-24 16:28:43 +08:00
这方案最大的问题是上个 paypal 然后号没了
|
9
taobibi 2021-01-24 16:29:02 +08:00
个人猜测是防止滥用或者下载流量暴增吧
|
10
KyonLi 2021-01-24 16:29:13 +08:00 via iPhone
你这样全部根据 ip 分流 dns 污染怎么解决的,一个域名同时有国内外节点怎么分流的,访问 ip.cn 拿到的是实际 ip 还是代理服务器的 ip
|
11
Winter1sComing OP @yaoppp GitHub 也没被封,但直连体验极差,我一般还是习惯境外网站直接走代理
|
12
yyysuo 2021-01-24 16:31:07 +08:00
我觉得规则多了 dns 会疯的吧,现在这些软件方案,不会不同的域名走不同的 dns 代理吧。
|
13
Winter1sComing OP |
14
kawaiidora 2021-01-24 17:19:16 +08:00
因为有细分需求啊,例如 bilibili 有时需要用到代理,有时又需要直连
|
15
chonger 2021-01-24 17:34:12 +08:00
不知道为什么 b 站只要挂上代理就必走代理流量,明明是国内媒体啊。
|
17
mxT52CRuqR6o5 2021-01-24 17:46:34 +08:00
比如玩游戏需要一些高倍率低延迟节点
而下载个苹果系统更新包则应该走低倍率节点 |
18
mxT52CRuqR6o5 2021-01-24 17:47:50 +08:00
@mxT52CRuqR6o5 如果看 奈非 还得选特定的落地可解锁的节点
|
19
dcty 2021-01-24 17:56:55 +08:00
因为 geoip 不一定准,final 也不是所有人都用 proxy
|
20
digimoon 2021-01-24 18:00:43 +08:00
流量需要钱,不翻就能上的站为啥要翻?而且有些情景是你翻了后反而不能上
|
21
love 2021-01-24 18:39:26 +08:00
keyword 类型要多少才会能有性能问题啊?起码几万起吧?你数了里面有多少 keyword 类型?
|
22
iamwho 2021-01-24 18:55:43 +08:00
因为每个人有不同需求,有隐私需求的人也会问你为什么不直接全局。
50 条规则和 50000 条规则的“性能负担”基本持平。 |
23
Jirajine 2021-01-24 19:29:03 +08:00 via Android
那些复杂规则非常不靠谱。某某网站,域名有哪些哪些,这种规则卵用没有。
分流纯按 IP 就可以了,至于 DNS,可以用一个外部软件。考虑到安全性推荐用一个大陆域名白名单,其余全走 doh 代理解析。 |
24
TypeError 2021-01-24 19:30:22 +08:00 via Android
还是 Android 的分应用代理方便
|
25
FS1P7dJz 2021-01-24 19:38:41 +08:00
性能开销完全没有你的以为的那么大,除非开发者存在严重的性能缺陷
这个某火箭还是某影子作者说过了,几万条规则也是没啥影响 楼主的需求其实我和差不多,但是你要考虑 第一,通用规则需要适合更多的人 第二,你这个规则其实会给服务器带来更多的负担,你自建自用没啥感觉,如果是公开 /半公开服务器,那么服务器的流量消耗就会成倍增加 第三,对于能直接访问的网站来说,你这个反而可能减速.对于一些网站来也,也容易导致账户出现异常(因为大量同 IP 登录) |
26
lzl2000 2021-01-24 19:41:05 +08:00 via iPhone
我用国外网站一律走代理,简单方便
|
27
bipy 2021-01-24 20:16:06 +08:00
抗 DNS 污染(比如推特的 ip 可能被解析到国内)
对访问者 ip 有要求的网站(网飞,b 站港澳台,某些私人网站等) |
28
laydown 2021-01-24 21:28:05 +08:00
的确,一般用楼主这么两条其实是没什么大的问题的。
|
29
xenme 2021-01-24 21:36:05 +08:00 via iPhone
规则匹配速度比 dns 查询速度快多了,而且还要考虑 dns 污染问题和兼容 cdn 的问题,这两条作为兜底可以,但只有这两条体验不如加点自己常用的黑白名单规则。
至于网上几万的规则肯定是没必要的 |
30
alo1719 2021-01-24 21:36:29 +08:00 6
KEYWORD 类规则的匹配并不是 O(n)的,算法可以生成字典树一次性匹配所有字符串,在几千条规则的数量级下,不会有什么性能上的损失。
|
31
ShuaiMakMak 2021-01-24 22:06:20 +08:00
主要还是各地区流媒体开太多
|
32
lostberryzz 2021-01-24 22:09:32 +08:00
一般的配置 DOMAIN-KEYWORD 只有几十条,基本上都是 DOMIAN-SUFFIX,几乎不会有什么性能损失,换来的是更好更快的响应速度(在 Rule List 里的直接代理 DNS 请求),另外还有隐私需求,不想通过国内 DNS 服务器查询部分敏感域名。而且不是境外的 IP 就一定要走代理的,有很多直连速度也很快,有很多有实时性要求不适合走代理。
|
34
chairuosen 2021-01-24 22:19:39 +08:00
@czhfrank #33 ssrr
|
35
xionger 2021-01-24 22:51:40 +08:00
|
36
systemcall 2021-01-24 22:57:35 +08:00
有一些网站只是主站和登录、验证之类的服务器连不上,CDN 是可以连上去的。你可以多试试,可以省不少流量钱
再就是有些 CDN 是全球的,你问 DNS,不同地区的 DNS 给出的结果还不一样,结果就是可能一些网站很慢或者没法用 要是不差钱的话,感觉可以默认走代理,走代理不行的时候再直连,也不用想方设法节省流量了 |
37
UnitTest 2021-01-24 23:24:15 +08:00
我说一点, 一般来说规则就几千条, 上万条的我没有尝试过性能如何。
几千条的遍历对于,遍历之后对比的字符串也比较短,对于目前的 cpu 来说问题不大。你每秒的网络请求其实没太多,有很多是长连接。 如果有必要的话,几千条转成 map 之后就不用遍历了,只需要额外消耗一点点内存。目前设备基本上都不差这点内存。 |
38
Rorysky 2021-01-25 00:06:39 +08:00
首先如果你是 macOS,那所有的操作系统更新、音乐之类流量会全部走 代理……
|
39
TypeError 2021-01-25 00:25:52 +08:00 via Android
@czhfrank ss,v2ray,clash 的 Android 客户端都自带这功能,可以选择白名单黑名单 app 走直连不代理
|
40
sasalemma 2021-01-25 01:22:48 +08:00
还不如直接挂墙内墙外的 dns,看返回速度,那个快就决定用直连或者代理不更合理?
|
41
datocp 2021-01-25 06:07:53 +08:00 via Android
都不知道各位在讨论什么,当年 2015 年 1 月 1 日,一个具备 socks5 远程 dns 查询的 ss 终端竟然异常,从那天起弃了所有的 ss 客户端。
玩了这么多年哪这么复杂 stunnel+softether+ocserv 到处走,都是 tls 加密,我可不想被中间人过滤。 |
42
zhoushengyue 2021-01-25 08:58:12 +08:00
@kawaiidora 看有些动漫就只能挂 HK 节点,不挂看不了
|
44
abersheeran 2021-01-25 10:47:21 +08:00 1
规则是为了加速。我写过一个。纯 Python 的。零名单和几万的名单,速度我没感觉有影响。
另外,规则这个我觉得没必要吐槽,也只是条数多,写 /改起来还是很简单的。但是配置一个比一个复杂才是真的需要吐槽的吧。SS/SSR 还行……配置一下加密手段就行。后面 v2ray 就开始起飞了,我到现在也没明白怎么配置。然后是 Clash,好家伙,配置文件相当于自建的编程语言了。 于是我含泪花了一个周末自己写一个 GUI 。 |