💻关于客户端

关注科学上网相关消息的朋友应该都知道,23年底发生了一件大事,就是在铁拳的施压之下,Clash的作者删库跑路了,这件事的影响可大可小,对于普通的轻度用户来说,一个软件内核的作者跑路,并不会对使用造成什么直接影响,但对于我们这些高阶玩家来说,Clash内核的删库,还是影响了很大一片开源生态的,这里就来整理一下23年底各平台主流的客户端推荐

Windows:

  • V2RayN,项目地址:https://github.com/2dust/v2rayN,Clash删库后理论上一家独大,支持几乎所有的协议(内置XRay、V2fly、Clash、Clash-Meta内核是的你没看错,新版已经内置Clash和Meta内核),功能完善,生态庞大,团队人数多维护勤,而且作者在香港,几乎不存在跑路风险

  • Clash-Verge,项目地址:https://github.com/clash-verge-rev/clash-verge-rev,基于Clash-Meta内核,也支持Meta-Alpha内核,支持协议相对较多而且界面简洁美观,相比于庞大的V2RayN要轻量小巧很多,性能强大,占用资源少,而且对于此前Clash的用户来说基本就是无缝衔接

  • Windows平台真正意义上的多协议客户端主流的就上面两个,还有一些非多协议的,一般以私有协议居多,比如WireGuard(项目地址:https://www.wireguard.com/):一个非常老牌的代理协议了,几乎已经全方位过时,但是近期由于Warp的广泛使用又火了起来;Brook(项目地址:https://github.com/txthinking/brook):一个全平台可编译的定制化协议Brook,官方提供全平台客户端;OutLine:上一节讲过就不多说了

  • 另外,目前还有一些大厂出品且在中国大陆可用的VPN产品,主要就是CloudFlare Warp和Proton VPN

iOS:

  • ShadoWrocket,俗称小火箭,AppStore地址:https://apps.apple.com/us/app/shadowrocket/id932747118,iOS平台一家独大的代理软件,需要在美区下载,付费2.99美元,功能相当强悍,支持所有主流协议,是的可以说所有,甚至支持上面说的WireGuard和Brook还有OutLine等,而且由于他的一家独大,极大的用户群体也会带来很多好处(懂的都懂)

  • Quantumult X,俗称圈叉,AppStore地址:https://apps.apple.com/us/app/quantumult-x/id1443988620,需要在美区下载,付费7.99美元,界面美观性能强悍,而且专业功能较多,比较适合开发者和高阶用户,但是支持的协议并不多,而且对于新出现的协议适配也并不勤快

  • Surge,AppStore地址:https://apps.apple.com/us/app/surge-5/id1442620678,需要在美区下载,付费49.99美元,价格非常昂贵,但它不仅仅是代理工具,他是一个完善的专业网络工具,功能非常强大,适合开发者,具体我也没用过就不多评价了,不过需要注意的是Surge的49.99美元还只是一个版本的价格,后续大版本更新你还要花钱续新版,而且一个授权最多还只能用在3设备,不能跟别人共享,属实是烧钱了

  • Loon,AppStore地址:https://apps.apple.com/us/app/loon/id1373567447,需要在美区下载,付费5.99美元,比较新出的一个小众软件,我也不知道优势在哪里,不过还有个Loon Lite:https://apps.apple.com/us/app/loon-lite/id6444029612,价格0.99美元,非常轻量化的代理工具,功能很简单易用

  • 多协议客户端就上面这些,其他的跟Windows平台类似,比如有WireGuard、Warp(手机端目前叫1.1.1.1)、Brook、OutLine等单协议软件,这些都是免费的,OutLine目前甚至还可以在国区下载,也是挺离谱的

Android:(提前说明我用安卓科学上网很少)

因为我只有个老华为手机,而且华为其实不太适合用来科学上网,这个懂得都懂,所以就不多说了,这里列几个目前主流的安卓客户端:nekobox:https://github.com/MatsuriDayo/NekoBoxForAndroid,sing-box:https://github.com/SagerNet/sing-box,V2RayNG:https://github.com/2dust/v2rayNG

一些配置细节:

1、目前没太整明白XRay核心以及Sing-Box核心等是否支持在客户端直接配置规则分流,而且貌似也没有好的规则文件,目前规则分流最好用的应该就是Clash-meta核心了,当然iOS平台的软件基本都支持规则分流,比如小火箭就可以直接导入规则文件,github上有很多优质项目:https://github.com/search?q=shadowrocket&type=repositories,大家可以自己找合适的而且规则文件自己修改也非常方便

对于Clash-Meta的分流规则,我们推荐这个项目:https://github.com/Loyalsoldier/clash-rules,每天自动化构建,而且规则文件简洁清晰,直接复制rule-provider和rule模块替换掉原配置yaml文件中的对应模块即可,不过在我们写这篇文章的时候官方文档中对于谷歌服务的分流用了DIRECT导致很多谷歌服务不可用(我们询问了官方,得到的答复是那个google列表中是国内可以直连的谷歌服务,但是现在这些服务也被墙了),这边给出示例(已修复谷歌问题):

rule-providers:
  reject:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
    path: ./ruleset/reject.yaml
    interval: 86400

  icloud:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/icloud.txt"
    path: ./ruleset/icloud.yaml
    interval: 86400

  apple:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/apple.txt"
    path: ./ruleset/apple.yaml
    interval: 86400

  proxy:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
    path: ./ruleset/proxy.yaml
    interval: 86400

  direct:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt"
    path: ./ruleset/direct.yaml
    interval: 86400

  private:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/private.txt"
    path: ./ruleset/private.yaml
    interval: 86400

  gfw:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/gfw.txt"
    path: ./ruleset/gfw.yaml
    interval: 86400

  tld-not-cn:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/tld-not-cn.txt"
    path: ./ruleset/tld-not-cn.yaml
    interval: 86400

  telegramcidr:
    type: http
    behavior: ipcidr
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/telegramcidr.txt"
    path: ./ruleset/telegramcidr.yaml
    interval: 86400

  cncidr:
    type: http
    behavior: ipcidr
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/cncidr.txt"
    path: ./ruleset/cncidr.yaml
    interval: 86400

  lancidr:
    type: http
    behavior: ipcidr
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/lancidr.txt"
    path: ./ruleset/lancidr.yaml
    interval: 86400

  applications:
    type: http
    behavior: classical
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/applications.txt"
    path: ./ruleset/applications.yaml
    interval: 86400

rules:
  - RULE-SET,applications,DIRECT
  - DOMAIN,clash.razord.top,DIRECT
  - DOMAIN,yacd.haishan.me,DIRECT
  - RULE-SET,private,DIRECT
  - RULE-SET,reject,REJECT
  - RULE-SET,icloud,DIRECT
  - RULE-SET,apple,DIRECT
  - RULE-SET,proxy,PROXY
  - RULE-SET,direct,DIRECT
  - RULE-SET,lancidr,DIRECT
  - RULE-SET,cncidr,DIRECT
  - RULE-SET,telegramcidr,PROXY
  - GEOIP,LAN,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,PROXY

2、客户端负载均衡的配置,目前应该只有clash相关核心支持,参考教程:不良林:https://bulianglin.com/archives/lb.html、meta官方:https://wiki.metacubex.one/config/proxy-groups/load-balance/,分为散列和轮询两种算法,配置很简单,这边给出我们的示例(官方轮询配置方法):

  - name: "负载均衡-轮询"
    type: load-balance
    proxies:
     - CDN_1
     - CDN_2
     - CDN_3
    url: 'https://www.gstatic.com/generate_204'
    interval: 300
    lazy: true
    strategy: round-robin

3、关于DNS,如果你是高阶玩家那你肯定知道专门配置DNS的重要性,Clash的DNS配置文件部分可以直接参考Clash-meta官方文档:https://wiki.metacubex.one/config/dns/,实际上日常使用中很多项不需要配置,这边给出我们的示例(用的都是我们自建的DNS服务器并强制使用h3,其他用户不建议直接套用,请修改后使用):

dns:
  enable: true
  prefer-h3: true
  listen: 0.0.0.0:53
  ipv6: true
  default-nameserver:
    - 23.94.221.108
  enhanced-mode: redir-host
  nameserver:
    - https://edns.stcdn.top/dns-query#h3=true
  fallback:
    - https://nextdns.stcdn.top/dns-query#h3=true

最后更新于