一、前言
在机缘巧合以及爆米的情况下,成功用上macos作为家庭网络中的旁路由,并使用surge for mac作为特殊需求的网络核心,作为一个懒鬼和菜鸡,那些技巧性和专业性极强的操作自然不是我的强项,但考虑到surge for mac的售价,不折腾实在是太亏了,所以就有了一段长时间、多角度折腾的、缝合的配置方法。
二、拦截规则
1、无论surge提供了如何丰富、如何简单的规则表达,考虑到互联网信息的容量以及规则维护的复杂性,我选择站在大佬们的github旁边,直接把他们维护好的规则链接复制进配置文件里。
但需要注意的是,因为规则的匹配是自上而下的,大量的规则(集)意味着更长的查询(响应)时间以及更高的误杀可能,因此在使用这些规则时,尽可能采取“求精不求多”、“求准不求全”的核心思想。
此时就会有一个理所应当的疑问,即:你都使用了别人的规则集了,单个规则集就已经包含了巨量的规则,如何求精,如何求准?我的回答是,根据自身网络环境,主动启用/删除规则。
因为选用了大佬制作的规则集,那么我需求的,自然是在一定周期内,该规则集会有人进行或自动进行维护的可能,直接引用规则链接是最方便省事的,缺点是,大量的采用第三方规则,不考虑自己实际需求,可能会导致你在用的某些应用或网页无法使用。
另一个方案是我可以把整个文件down下来,作为本地规则使用,缺点是不在享受低廉的维护成本,倘若发现广告卷土重来,又要重新自己维护。
叠加如今复杂的网络环境,有部分广告和内容相互嵌套,如果把拦截目标杀死,可能连正文也被禁止了。
我就曾遇到过某岛的某动画软件,它的放映前广告
小众的APP姑且不论,主流APP/网页一直是广告的重灾区,在PC边缘化,APP成为主流的现在,APP可以说是广告泛滥的网络洼地。尽管有众多大佬无私奉献着精心编写的规则,但主流APP们自然也会高强度地对抗我们的拦截,网络缓存、广告投放服务器、来自大数据上的劣化等,实在不是我们随便编写或拼凑一些规则就可以精准拦截的,尽管我们可以通过“多而全”的思路,即加载大量的规则集,尽管可能以量取胜,但这也意味着“宁错杀不错过”,很大概率会导致网络体验受损。如果弄得狠了,这些APP/网页直接不给你用的情况也是时有发生的。
综上所述,在添加规则集时,至少先罗列出我们常用的APP/网页,通过加载规则,来测试常用的APP/网页是否可以正常使用,我就曾因加载了一条对阿B的广告拦截规则集,就网页而言确实去除了广告,却直接干死了一些第三方阿B客户端获取数据的端口和脚本。
因此对于某些情形,在新的手段出来之前,以不影响体验为前提,不要执着于规则,可以采取正常使用或者迂回使用其他人开发的第三方APP、脚本等来实现。
2、结合上述,可以延伸出我对规则集的选择倾向:
第零优先级:自己编写的规则;
第一优先级:具有自动维护、自动采集、自动更新的规则集;
第二优先级:小众的、有特别需求的的规则。
第三优先级:“大而全”的,如adguardlist等;
3、尽管在标题里说了偷懒,在前言里提了缝合,但对于特别个人的需求,仍旧避不开自己去写一小部分规则,索性这块工作量并不大,有时还能找到对应需求的“模块”,实在不行,还能打开surge的网络分析,自己抓包,将对应的域名或ip写入规则即可,但需要注意的是,有些自己抓包出来的域名可能并不准确,胡乱添加可能会导致整个程序访问错误。
3.1上面既然提到了模块,那就粗浅的提一句,可能理解存在出入,不需要以我为准。
surge的模块,是一个用于实现某个特定功能的合集,当中存在着大量的脚本、规则以及配置,它的优先级应该是“覆盖”级的,在提供便利的同时,也要根据自己实际需求、网络的情况进行启用/关闭,避免因为开启某个功能而导致网络使用劣化的情况。
题外话,规则的作用不仅仅是拦截,还有着其他白名单、分流等诸多作用,这个就按需取用即可。
三、DNS
1、这块我觉得重点主要集中在几个方面。
1.1 hijack-dns
用于解决部分原生谷歌设备强制使用8.8和4.4的问题,强制它使用我们配置的dns,毕竟谷歌的dns解析方式,大概率会让你在地球跑上一圈。
1.2自定义dns
surge提供了多种dns配置方式,考虑到本地的dns环境尚可,抢答的情况并不严重,使用运营商的dns毫无疑问是最佳的选择。不过由于我已经花了钱买了一年的alidns服务,那不用白不用,干脆舍近求远,全面配置DoH作为旁路由的解析,采用了alidns(付费)、企鹅的DoH、1111的DoH。
2、胡乱配置下的使用体验
尽管上面写的很简单,但其实中间经历了许多由于乱配置导致的网络劣化,比如在主路由配置了DoH,或者配置了大量的公共dns和运营商dns混合,导致整个网络访问都异常的缓慢;在surge上添加了几个公共dns,智能家居的响应出现了高延迟;全部改成本地运营商的DNS,特殊用途又有响应不稳定的情形。
最终导致整个网络解析变得更加复杂和反复,反而劣化了整个网络体验。
从目前配置来看,主路由配置运营商DNS,surge配置1.2所说的DoH,无论是内还是外,又或者特别吃响应的智能家居,均得到了一个满意的体验。
四、ipv6
在surge上,全面关闭ipv6的功能,会使网络体验大幅度提升。
但要提的是,我主路由上的ipv6是开启的。
五、mitm
整不明白,暂时也不想明白,所以直接用别人配置好的。
六、其他
建议直接看sukka大佬的blog:https://blog.skk.moe/post/i-have-my-unique-surge-setup/
Comments NOTHING