使用小火箭很久了,很多朋友都说,小火箭 Shadowrocket 不稳定,老自己掉后台,这次我就来说说我是怎么使用它的。
以前 iOS 不支持这类 VPN 应用,每次在 iOS 上翻墙,都是一件让人煞费苦心的事情。后来 Surge 出现了……我第一时间就买了,当然,再后来中区下架 Surge,我也彻底换了美区的 Apple ID,就没有再买另外一份 Surge,转而买了相对便宜的 Shadowrocket (俗称小火箭,其实中区我也买了的,不过也下架了不是?)。
总之,要想让小火箭用的好,是需要一番配置的,它是专门用来翻墙的,所以在功能上更偏向这边,相对与 Surge,Shadowrocket 也能支持更多协议。
修改测速模式
在 Shadowrocket 的 Setting 里,你可以设置它的 Ping Method,可选 ICMP 和 TCP,我们选择后者,这样测速出来的结果更贴近实际效果而不仅仅是检测服务器是否在线可达。(当然代价是测速需要的时间更长了一点点,如果你添加的服务器比较多,那可能就需要多等一小会才能全部出结果。)
添加自动测速
Surge 有个很不错的功能就是能够给多个线路定期自动测速并切换到最快的线路上,这样可以避免在服务器挂了后我们还得手动跑去测速并切换另一条线路。其实 Shadowrocket 也是有的,在 Home 页面,Global Routing 功能里即可发现。
- 首先在 Speed Test 中添加一个测速组,在组里增加几条平时测速比较快的线路,然后开启测速服务;
- 接下来创建一个 Scene,由于这里我们只是要进行自动测速,所以 Scene 选择 Default,Routing 选择 Config,Type 自然是选择 Group,然后在下方的 Config 选择你正在使用的配置即可,最后给 Scene 一个名字,保存并选中之;
- 最后,在 Global Routing 中,选择 Scene。
这样,你的 Shadowrocket 就能每隔 600 秒(默认配置)进行一次测速并选择最快的线路了。
崩溃自动重启
比起 Surge,Shadowrocket 支持一个让人意外的功能—— On Demand。这其实是 VPN 的一个有意思的功能,它可以让 iOS 系统级监听你正在请求的域名,当遇到特定的域名时,就先启动 VPN,再请求这个域名。
我们到 Shadowrocket 的 On Demand 功能中,启动这个功能,并关闭 Disconnect on Sleep,Network 选 Any。
Shadowrocket 已经帮你内置了一些常用的域名通配,比如谷歌、Twitter之类的,如果有必要,你也可以自己添加一些。这样,当你在上网时,如果 Shadowrocket 后台挂了,在你点击下一个链接时,它就能再次被系统后台启动。
这样,你就再也不会遇到刷推正刷的开心,突然所有图片消失,检查了大半天,从路由器到服务器,最后发现其实是 Shadowrocket 服务自己停了的尴尬场景了。
随时更新的代理策略
我曾在一篇文章中写过关于白名单的事情《是时候使用 PAC 白名单了》,但奈何这个列表实在太大,根本无法被 iOS 所容纳——实际上,在新的 Surge 中即使是我的黑名单,也会被提示列表过大。
为此,我专门制作了一个根据 IP 地址判断的白名单列表……总之,这个规则在这里 geoip_whitelist.conf ,在 Shadowrocket 的 Config 页面,最底部添加 Remote Files,遗憾的是只能添加一个(感谢网友 僊 提醒,见评论,点击页面右上角加号即可添加更多远程配置了),总之,我们把这个地址添加进去,它就会自动下载了。
这个配置文件是兼容 Surge 和 Shadowrocket 的,不过 Shadowrocket 在添加后会提示你是否也要导入服务器信息,这里点取消,配置中内置的服务器信息只是一个提示内容。
这也是我比较喜欢 Shadowrocket 的地方,它把服务器数据和代理策略单独存放,可以很方便地修改配置和策略。
这时你会发现这个地址被保留在了页面底部,今后你可以每隔一星期点击一次,选择 Use Config,Shadowrocket 就会自动下载并更新本地配置了。(我的配置每周自动更新一次,对于本文中的 geoip 策略来说,仅仅更新了去广告规则)
本文由 落格博客 原创撰写:落格博客 » 小火箭 Shadowrocket 的四个高级配置
转载请保留出处和原文链接:https://www.logcg.com/archives/3109.html
刚买了小火箭,还不会用,是不是按照买的vps的地址和端口密码直接添加节点就行了?怎么网上教程写买了vps还要设置什么ssr什么什么的?
博主,iPhone的QQ邮箱APP,打开小火箭就打不开邮件了,能不能在配置文件里面,把QQ邮箱APP添加为不使用代理
可能并不是这个原因,你问问你的服务商,他们是不是屏蔽了邮件端口?
现在好多机场都是屏蔽邮件端口的呢😂
配置文件中本地文件前的黄点和本地文件后的勾分别是什么意思? 黄点位于whitelist 前, ✓位于另一个本地文件sr_cnip_ad后, 不太明白意味着什么? 点击whitelist使用配置也只能暂时在whitelist后打勾, 过一会儿就会消失, sr_cnip_ad后的✓一直存在
2. 请问移动端ios shadowrocket的pac在哪里配置? 一直没有找到这个选项
如何把负一屏的小组件记录的流量清零呢?
hahah 我还真不知道诶
请问下博主,如何修改配置文件才能实现:
只让设置的域名走代理,其他的域名、IP都直连呢?
参考这个项目 https://github.com/R0uter/ss.conf-for-surge
看了下但是有个疑问,就是shadowrocket自带的default规则能够实现自动识别代理需要的网站吗?
自带规则好像就是个精简的,它只包含了常用网站,列表里没有的是不能识别出来的,好处是体积小速度快,缺点就是你上的网站如果不是常用或者是个cdn,它不一定会走代理。
好像这个没有免费的吧,要什么端口之类的设置
大神折腾了好几天,感觉里面的按需求连接失效了。我添加域名后没多久域名就会自动消失。而且在打开按需连接的状态下,不会进行国内外区分,就算是我打开浏览器它就会自动连接了。
我也有同样的问题,不知道哪里还需要设置,只要开启了按需求连接的功能,手机解锁小火箭就自动连接了
为什么geoip里面全都是reject啊,这样的话这些列表网址都打不开对吗
你好,請問如何修改配置,令能夠使用LINE?
你好,这个白名单我发现有时在我校园网下打不开网页(疑似无法解析)但尝试过后发现即使更换dns也不行,但是用小火箭自己的默认配置不管改不改dns都正常使用,在4G下你的配置也可以正常使用,想请问下该怎么解决
我打算再观察一下,因为我们校园网有各种问题先例
尝试打开小火箭的代理日志功能,然后当遇到打不开的页面时,进去看是哪个链接,这个域名到底被判断成了直连还是代理,从而进一步分析
试了一下,在校园网Wi-Fi下本来应该geoip在cn的走到了final,测试规则加载很慢,4G下正常
那可能是你的校园网劫持了dns,然后解析到了奇怪的ip上,你得单独针对个别域名添加例外
还有个问题想问一下,这个配置文件里data.bilibili.com是reject,想知道这个地址的作用是什么为什么要拒绝访问
如果是reject,应该是去广告列表里的,这个并不是我自己编辑的,是从其他地方摘过来的,具体见代码中有url
这个配置google.cn也无法使用,所以safari的默认搜索引擎用谷歌是不能使用的
好像是我的设置问题,我再试试
请调整下语言和地区设置,中文的话默认是 google.cn,这个地址是无论如何不可用的,请设置地区为香港,默认是 google.hk,或者美国,.com
试了下用文中配置会出现请跳转hk的界面,shadowrocket默认配置直接出现搜索结果
默认配置会将google.cn自动替换成google.com,用了url rewrite
我确实在先前的更新中去掉了这个rewrite,好像是为了兼容小火箭?忘了当时具体原因了……因为我自己不用cn,所以还真不知道这个影响。
这个防火墙配置会挡掉微博,导致微博用不了
请问知道哪里能购买账号吗
大佬能帮忙写个基于海外IP访问名单么。我可以提供IP段列表。这样应该更准确一些。这样国内可以全部直连
你到文中提到的git页面查看,实际上是有一个基于geoip的白名单的,它会自动根据geoip判断地址归属,如果是中国ip就直连,不是就代理。
为什么每次使用加好友都会出现操作被阻止的情况呢?一个礼拜就一天没问题其他时候都是操作被阻止。
感谢
添加了白名单列表是否会自动下载节点呢?还有里面的节点不能用!
名单里的节点,都是模板,并不是真正能用的节点,你需要自行添加自己的服务器信息,一般来说,在小火箭提示你是否要导入服务器信息时,点否就行了。
请问这个配置list还在更新么
依旧在更新,每周自动更新的。
关于最后的一句“对于本文中的 geoip 策略来说,仅仅更新了去广告规则”理解有点不到位,请问geoip白名单和白名单有什么区别吗~
对于手机用户来说,可能最大的区别在于【体积】。和geoip白名单对应的是域名白名单,域名白名单会列举所有能直连的域名,大概五万多个(目前),这个列表太大了,导致移动端不可能加载完成。所以移动端如果想用白名单,只能用geoip。
从功能上来说,geoip实际上是根据app自带geoip数据库进行匹配的,由于域名更替的更频繁远比ip段变化频繁,如果你不经常更新域名白名单,那么它就会很快开始陆续失效,所以使用,使用 geoip 进行匹配则一定程度上规避这个问题,相对有效性更加持久。
但如果你用geoip,那么访问一个网站,客户端必然要先解析这个域名,然后用拿到的ip去做比对,如果这个域名被污染,得到了一个“不存在”的ip,这还好说,毕竟是白名单,那么其实是不受影响的,但如果它重定向到了另一个国内的真实ip,那你就会被污染。反观域名规则,因为你访问的域名不在列表,就直接走代理了。再往深了说就是DNS泄露问题,使用域名规则直接判断避免解析,一定程度上也能避免DNS泄露,但一般来说在本文中不太考虑这个问题就是了。
哦哦那个白名单list太好用了感谢!
请问有没有用小火箭反向这个白名单list的方法呢?
你的意思是“回国代理”?其实很简单,用任意文本编辑器打开这个配置,然后批量查找替换一下关键字即可。
哦哦有道理,谢谢!
我使用了您的配置,但是访问百度时依旧是通过代理服务器而不是直连,请问是什么地方出了问题吗。。
请问一下测速部分是不是说反了?ICMP 和 TCP 文中是说 TCP 更好用,我实测 ICMP 速度更慢,TCP 秒测。是不是 ICMP 才是实际连接?
实际上这个tcp是tcp传输到页面还是tcpping,我还真搞不清楚,按照那个操作逻辑以及我这段时间使用感受来说应该是 tcp ping,但总的来说tcp ping会更真实一些,有些服务器会禁止回复 icmp 包,俗称“禁ping”,总之,还是用 tcp 模式更接近真实效果,毕竟实际传输也是tcp包。
谢谢!没有收到邮件提示
第一个自动选择最快线路的不管用呀
打开软件还是下滑的挂件都不是最快速的那个。。。。
这个自动切换有一定的阈值,并不是每次测试都会切换,具体可在设置中设定相关阈值,也就是两者相差多大延迟才会切换。(默认 200ms,如果你的线路都很快,那么你可以设置到比如10ms之类的,太小的话会导致线路每次测速都切换。)
阈值改小了,之前默认的 速度测速 中的 URL测试设置 中的测速网站上不去,改成百度了,但还是不能自动调整。。。。
谢谢大佬的分享
新年快乐!
受教了,挺好的文章
我在中国大陆直接用这个配置就可以吗?
可以的,但服务器要你自己拥有才行。
scene1: cellular config geoip_whitelist.conf 实现使用国内运营商网络时的代理+去广告
scene2: wlan_spec direct geoip_whitelist.conf wlan_spec已翻, 希望实现直连去广告
问题: 去广告不生效, 把direct改成config就直接再翻一次墙浪费wlan_spec优势. 是否有单纯去广告.conf
感谢
使用 geoip 的那个配置,把末尾的
GEOIP,CN,DIRECT
FINAL,Proxy
改成
FINAL,DIRECT
即可。
Remote Files 可以添加不只一个,在配置介面点右上角的「+」可以添加更多。
哈哈,我还真没发现呢,谢谢!已经更新了文章。