开 shadowrocket 微信加载图片视频就变慢

2022-09-22 08:49:10 +08:00
 0o0O0o0O0o

iOS ,加载图片视频时就要转圈,同网络环境关掉 shadowrocket 立刻变快,肉眼可见。

依次尝试皆无果:

  1. 禁用所有 IPv6
  2. 开启“代理”和“DNS”的日志,没有被错误分流的记录
  3. 清空所有代理、规则和自定义的 DNS ,默认 DIRECT

这个问题很久了,不是一个两个版本的问题,有人知道是为什么该怎么排查和解决吗?

21877 次点击
所在节点    宽带症候群
76 条回复
0o0O0o0O0o
2022-09-22 22:27:56 +08:00
首先抄下重置后的 defaults.conf (对比旧版本多了一些选项)的 [General] ,自定义 dns-server ,我还禁用了 ipv6

```
[General]
bypass-system = true
skip-proxy = 192 点 168 点 0 点 0/16, 10 点 0 点 0 点 0/8, 172 点 16 点 0 点 0/12, localhost, *点 local, captive 点 apple 点 com
tun-excluded-routes = 10 点 0 点 0 点 0/8, 100 点 64 点 0 点 0/10, 127 点 0 点 0 点 0/8, 169 点 254 点 0 点 0/16, 172 点 16 点 0 点 0/12, 192 点 0 点 0 点 0/24, 192 点 0 点 2 点 0/24, 192 点 88 点 99 点 0/24, 192 点 168 点 0 点 0/16, 198 点 51 点 100 点 0/24, 203 点 0 点 113 点 0/24, 224 点 0 点 0 点 0/4, 255 点 255 点 255 点 255/32, 239 点 255 点 255 点 250/32
dns-server = tls://120 点 53 点 53 点 53, tls://223 点 5 点 5 点 5
ipv6 = false
prefer-ipv6 = false
dns-fallback-system = false
dns-direct-system = false
icmp-auto-reply = true
always-reject-url-rewrite = false
private-ip-answer = true
# direct domain fail to resolve use proxy rule
dns-direct-fallback-proxy = true
```

正常自定义 [Rule] 规则
```
[Rule]
DOMAIN-SUFFIX,qpic 点 cn,DIRECT
DOMAIN-SUFFIX,t 点 me,PROXY


GEOIP,CN,DIRECT
FINAL,PROXY
```

然后根据 [Rule] 生成一下 [Host]

```
[Host]
qpic 点 cn = server:tls://223 点 5 点 5 点 5
*点 qpic 点 cn = server:tls://223 点 5 点 5 点 5

t 点 me = server:tls://94 点 140 点 15 点 15
*点 t 点 me = server:tls://94 点 140 点 15 点 15

```
0o0O0o0O0o
2022-09-22 22:40:19 +08:00
几个小时的体验不错,决定未来升级版本后都按照 #48 重置一下
edis0n0
2022-09-23 01:00:28 +08:00
我是物理分流 国产软件只装备用机 备用机不装访问互联网的工具 这样就不用考虑分流规则的事情了
emma3
2022-09-23 15:04:06 +08:00
@ztc 这种域名与解释到的 IP 不是默认 DIRECT 吗?
iloveios
2022-09-23 20:00:10 +08:00
brook 的默认规则就好使
qdmooo
2022-09-23 23:41:01 +08:00
先抓包微信图片的服务器地址。然后回小火箭去测试规则,就知道怎么回事了。

一般卡顿是被 reject 或者 proxy 了。改成 direct 就完事了。
binbinbbb
2022-09-24 08:25:02 +08:00
使用快捷指令自动化,打开需要用外网程序自动打开 sha ,退出程序时候自动关闭 sha
caobug
2022-09-27 18:12:30 +08:00
如果只是微信出现此问题,大概是 IPv6 后退问题。

微信偶尔会先发起 http://[::ffff:1.2.3.4] 这样的请求,如果 IPv6 连接失败会后退到 IPv4 ,这一过程很快根本感知不到。如果 IPV6 一直处于连接中则只能等到请求超时后,微信再发起 IPv4 连接请求了。

第一次:
GET http://[::ffff:1.2.3.4]/example HTTP/1.1
Host: qpic.cn

第二次(如果第一次失败):
GET http://1.2.3.4/example HTTP/1.1
Host: qpic.cn

代理工具应该优先从 HOST 字段中取得域名,DNS 解析到 IPV4 地址并发起请求:

GET http://1.2.3.4/example HTTP/1.1
Host: qpic.cn

如果代理工具优先从请求行取得[::ffff:1.2.3.4]并建立连接,很可能会因设备不支持 IPv6 或 IPV6 拉胯导致超时重发请求。
Aurorataro
2022-09-28 21:00:55 +08:00
是 DNS 解析全部被代理从国外绕一边回来了吗
lstt
2022-09-30 10:04:25 +08:00
我用 Surge 也有这个问题,看了前面 6 楼引用的帖子,经过试验,加了其中的一条规则后目测解决

Filter 里面得添加一条,( Type=GEOIP ,Param=CN ,Policy=DIRECT )
lstt
2022-09-30 10:38:13 +08:00
另外不知道小火箭能不能用 ASN ,用 ASN 的规则会更好用一些。https://github.com/VirgilClyne/GetSomeFries/blob/main/ruleset/ASN.China.list?raw=true
mzliangjianjun
2022-10-06 12:46:42 +08:00
@mhqschen 咨询一下,如何按照 geoip 区分流量
emma3
2022-10-06 20:39:46 +08:00
@lstt 可以用,但好像分别不大。
justseemore
2022-10-18 15:29:46 +08:00
我把 udp 转 tcp 关了..瞬间加速..
alteremliu
2023-06-01 10:23:40 +08:00
starto
314 天前
还有一招,实测管用:微信里,设置 - 帮助与反馈 - 右上角的🔧图标 - 故障修复 -(最后一个)数据缓存记录

我就是使用了 tls://223.5.5.5 大法依然无效果后,用了这招一下子正常了!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/882023

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX