V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
0o0O0o0O0o
V2EX  ›  宽带症候群

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

  •  
  •   0o0O0o0O0o · 2022-09-22 08:49:10 +08:00 via iPhone · 14553 次点击
    这是一个创建于 574 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    依次尝试皆无果:

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

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

    75 条回复    2023-06-01 10:23:40 +08:00
    wuxiu
        1
    wuxiu  
       2022-09-22 08:49:48 +08:00 via iPhone
    我也是
    RiverMud
        2
    RiverMud  
       2022-09-22 08:51:24 +08:00
    我微信到没问题,斗鱼有问题。
    开了小火箭后斗鱼的加载变慢,关掉后加载肉眼可见地变快。
    Sugu
        3
    Sugu  
       2022-09-22 08:56:00 +08:00
    我也遇到了
    0o0O0o0O0o
        4
    0o0O0o0O0o  
    OP
       2022-09-22 08:57:15 +08:00 via iPhone
    而且我没有开启 MITM 功能。

    尝试开了一款抓包工具 HTTP Catcher ,也没开 HTTPS 解密,就是比 shadowrocket DIRECT 快,我觉得它可能有严重性能问题。
    leefor2020
        5
    leefor2020  
       2022-09-22 08:59:50 +08:00
    我刚试了下,我的正常
    你的规则是自己写的还是用的网上的?我只把我常用的部分网站和 IP 走了 Proxy 。一共就 100 多条规则,不知道如果规则过多会不会导致匹配时间变长
    xz410236056
        6
    xz410236056  
       2022-09-22 09:02:56 +08:00
    这个问题讨论过

    可以参考 https://www.v2ex.com/t/801289
    Pactzhao
        7
    Pactzhao  
       2022-09-22 09:03:17 +08:00
    我也是,开着小火箭,微信里的图片完全加载不出来
    0o0O0o0O0o
        8
    0o0O0o0O0o  
    OP
       2022-09-22 09:03:47 +08:00 via iPhone
    @leefor2020 参见第三条,排除了自定义规则和自定义 DNS 的可能性
    0o0O0o0O0o
        9
    0o0O0o0O0o  
    OP
       2022-09-22 09:13:07 +08:00 via iPhone
    [General]
    dns-server = system
    skip-proxy = 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12, localhost, *.local
    bypass-tun = 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.18.0.0/15,198.51.100.0/24,203.0.113.0/24,224.0.0.0/4,255.255.255.255/32
    bypass-system = true
    ipv6 = false

    [Rule]
    FINAL,DIRECT
    0o0O0o0O0o
        10
    0o0O0o0O0o  
    OP
       2022-09-22 09:14:47 +08:00 via iPhone
    @0o0O0o0O0o #9 也尝试过将 bypass-system 选项切换,dns-server 改成 Wi-Fi 默认 DNS ,依旧慢
    ethanlu
        11
    ethanlu  
       2022-09-22 09:15:49 +08:00 via Android
    安卓用 v2rayNG 也是,借楼问一下有没有解决办法?
    catteroLo
        12
    catteroLo  
       2022-09-22 09:17:46 +08:00 via Android
    @ethanlu 开分应用代理
    listenerri
        13
    listenerri  
       2022-09-22 09:31:32 +08:00
    @catteroLo #12 IOS 里的 shadowrocket 有分应用代理这功能吗?
    0o0O0o0O0o
        14
    0o0O0o0O0o  
    OP
       2022-09-22 09:35:48 +08:00 via iPhone   ❤️ 1
    @listenerri 他在回答 v2rayNG
    lpd743663
        15
    lpd743663  
       2022-09-22 09:57:55 +08:00
    试一下 关闭 IPV6
    lpd743663
        16
    lpd743663  
       2022-09-22 10:00:26 +08:00
    @lpd743663 抱歉,我错了
    ethanlu
        17
    ethanlu  
       2022-09-22 10:11:36 +08:00 via Android
    @catteroLo 谢谢,貌似有用,再观察观察
    kera0a
        18
    kera0a  
       2022-09-22 10:14:32 +08:00 via iPhone
    我就是觉得小火煎发热和加载图片慢换的 qx ,要好很多。
    kim2x
        19
    kim2x  
       2022-09-22 10:18:19 +08:00
    Sure 没有遇到你提到的问题,之前用小火箭每次进入微信就先转圈,好一会才接收到消息
    zhuziyi
        20
    zhuziyi  
       2022-09-22 10:20:30 +08:00
    之前那个帖子也看过,改成 dns-server = tls://223.5.5.5 后依然不能解决问题

    刚刚改成以下配置后,暂时恢复正常:

    dns-server = https://doh.pub/dns-query,https://dns.alidns.com/dns-query,119.29.29.29,119.28.28.28
    ajyz
        21
    ajyz  
       2022-09-22 10:29:55 +08:00
    多半规则问题,规则尽量只用同一分享者的,防止重复与冲突。另外没有特别需要,仅仅服务特定外网的话,尽可能用简单的规则,更多优先国内直连。前阵子中亚海外购发现打开速度变慢,尤其图片载入,排查各主要分流都没发现异常,后来发现居然有一段海外分流里直接把 amazon 关键词代理了
    0o0O0o0O0o
        22
    0o0O0o0O0o  
    OP
       2022-09-22 10:31:52 +08:00
    @kera0a #18 掏出 qx 试了下,确实好很多,但是忘记当初因为什么难以忍受的缺陷弃用 qx 的了。
    0o0O0o0O0o
        23
    0o0O0o0O0o  
    OP
       2022-09-22 10:32:59 +08:00
    @ajyz #21 可以看完帖子,我已经尽力排除,几乎不可能是规则问题
    ouqihang
        24
    ouqihang  
       2022-09-22 10:40:25 +08:00 via Android
    有的微信公众号的图片就是加载慢,有时候聊天的也慢,最近还发现下载的图片损坏,能看但是下半部分颜色变了。
    HugoChao
        25
    HugoChao  
       2022-09-22 10:42:10 +08:00
    多嘴问一下规则是跟着软件走还是订阅链接走?我相同订阅链接在 clashx 上丝滑流畅在手机上的小火箭就是会卡
    xiangxiangxiang
        26
    xiangxiangxiang  
       2022-09-22 10:49:23 +08:00
    同遇到这个问题,不知道是不是全局代理和规则的问题。蹲一个解法
    SenLief
        27
    SenLief  
       2022-09-22 10:53:29 +08:00 via iPhone
    应该就是 dns 问题,之前的解法就是删除掉配置文件的 system ,不过有时候还是不行,所以换了 stash
    FanError
        28
    FanError  
       2022-09-22 11:23:17 +08:00
    我也碰到这个问题,都是默认配置
    kakukaiki
        29
    kakukaiki  
       2022-09-22 11:56:37 +08:00
    dns 的问题

    甚至会和广告拦截软件冲突

    规则里自定义一个上游 dns ,我用的 dnsmasq ,浏览器不要开启安全模式,会冲突
    0o0O0o0O0o
        30
    0o0O0o0O0o  
    OP
       2022-09-22 12:09:28 +08:00 via iPhone
    我不觉得是 DNS 问题,我尝试过把 dns-server 配置成 system 或者网关地址(和不开梯子逻辑一样)或者最快的国内公共 DNS 地址,都一样。

    开 dns 日志也会看到展示的耗时很正常。
    superman
        31
    superman  
       2022-09-22 12:19:28 +08:00
    安卓下用 ss, ssr 经常遇到打开微信就转圈好一会,朋友圈图片也很难刷出来。
    xpn282
        32
    xpn282  
       2022-09-22 12:25:18 +08:00 via iPhone
    我小火箭一直开着用,我不管是用流量还是 wifi ,微信都是正常的,估计小火箭设置或者规则的问题,我是给小火箭用 OpenClash 的规则
    docx
        33
    docx  
       2022-09-22 12:25:55 +08:00 via iPhone
    几年前发现过,用着用着就没网的那种。
    后来就换其他代理软件了,一直没出过问题。
    lovepocky
        34
    lovepocky  
       2022-09-22 12:26:55 +08:00 via iPhone
    一直有这个问题,所以换了用 stash
    ztc
        35
    ztc  
       2022-09-22 12:29:27 +08:00   ❤️ 1
    ```bash
    # Wechat
    DOMAIN-SUFFIX,qlogo.cn,DIRECT
    DOMAIN-SUFFIX,qpic.cn,DIRECT
    ```

    可以加下这两条规则,亲测有用
    bclerdx
        36
    bclerdx  
       2022-09-22 14:08:38 +08:00
    @ajyz amazon 海外没有国内 IP 地址资源吧?
    bclerdx
        37
    bclerdx  
       2022-09-22 14:10:19 +08:00
    @ztc 对,微信中的图片似乎用腾讯的这 2 个域名,可能还会有其它域名,估计 OP 的规则中把这 2 个域名规则走了 Proxy ,然后绕路了,所以肉眼可见的慢了,而不是 OP 认知的秒开。
    lin559671
        38
    lin559671  
       2022-09-22 15:02:34 +08:00 via iPhone
    微信部分视频图片解析到海外腾讯新加坡云。把腾讯云 ip 设置为直连可以解决
    ztc
        39
    ztc  
       2022-09-22 15:20:59 +08:00
    @bclerdx 估计是
    mhqschen
        40
    mhqschen  
       2022-09-22 15:26:50 +08:00
    @ztc #35 感谢!我就只按 GEOIP 区分了国内外。没有别的规则。刚刚测试了下 qlogo.cn 被识别为非国内,走了代理。qpic.cn 是正常的。亏我 DNS 用的还是 DNSPOD 的 https://doh.pub/dns-query 呢
    bclerdx
        41
    bclerdx  
       2022-09-22 15:45:54 +08:00
    @mhqschen 仅 GEOIP 是不够准确的。
    infun
        42
    infun  
       2022-09-22 15:46:54 +08:00
    我是关了 IPV6
    加上 qlogo.cn, qpic.cn direct
    现在很丝滑
    zhx0017
        43
    zhx0017  
       2022-09-22 16:07:22 +08:00
    @0o0O0o0O0o 我之前也碰见过这样,我是把所有微信用到的域名抓出来,然后填进规则设置里那个 Hosts 里,DNS 设成腾讯的 DNS 或者直接填 system 就可以解决了,我估计你那边应该也行,其他东西卡的话也能这么做。
    好像是虽然小火箭知道要直连,但它先请求的是海外 DNS ,拿到的也是海外友好的 IP ,国内直连就不太行了,所以我直接加了 hosts 就解决了。
    不过千万注意别填成服务器地址,是 DNS 地址,不然什么都打不开了。
    ajyz
        44
    ajyz  
       2022-09-22 17:03:41 +08:00 via iPhone
    @bclerdx 编写分流的太过草率,自己添了条 amazon.cn 直连就正常了。
    0o0O0o0O0o
        45
    0o0O0o0O0o  
    OP
       2022-09-22 17:07:23 +08:00
    [General]
    dns-server = 1.12.12.12, tls://1.12.12.12
    skip-proxy = 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12, localhost, *.local
    bypass-tun = 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.18.0.0/15,198.51.100.0/24,203.0.113.0/24,224.0.0.0/4,255.255.255.255/32
    bypass-system = true
    ipv6 = false

    [Rule]
    FINAL,DIRECT

    [Host]
    *.qpic.cn = server:tls://1.12.12.12
    qpic.cn = server:tls://1.12.12.12
    *.qlogo.cn = server:tls://1.12.12.12
    qlogo.cn = server:tls://1.12.12.12
    0o0O0o0O0o
        46
    0o0O0o0O0o  
    OP
       2022-09-22 17:11:10 +08:00
    @0o0O0o0O0o #45 简化成这样的规则,根本没有代理,1.12.12.12 和 tls://1.12.12.12 也换成别的国内 DNS server 尝试了,也是一样。


    可以说,体验上就是只要 shadowrocket 开启了 VPN ,就会肉眼可见地卡,哪怕是 DIRECT 。
    0o0O0o0O0o
        47
    0o0O0o0O0o  
    OP
       2022-09-22 17:13:50 +08:00
    @0o0O0o0O0o #46 而 HTTP Catcher 也是 VPN 工具,我从编程角度理解,不安装证书的 HTTP Catcher 和 #45 配置的 shadowrocket 的速度差不多,然而并不是,开启 HTTP Catcher 和正常网络体验一致。
    0o0O0o0O0o
        48
    0o0O0o0O0o  
    OP
       2022-09-22 17:29:44 +08:00
    新进展:
    设置 - 重置 - 重置 Tunnel 配置
    设置 - 重置 - 重置用户设置


    配置里的 default.conf 会被重置并且选中,此时我早已经通过 数据 - 删除本地节点 删除了所有节点,重新连接。

    感觉快一点了。

    晚上我添加节点并且按照这个重置后的 default.conf 来修改一下自己的配置试试。
    LeeeSe
        49
    LeeeSe  
       2022-09-22 17:37:15 +08:00
    期待一个终极答案,我家 600M 宽带,mac 开了 shadowrocket 刷 b 站竟然还会经常缓冲
    ea3ba5c0
        50
    ea3ba5c0  
       2022-09-22 17:52:04 +08:00
    我的 shadowrocket 默认规则没有任何问题,iPhone 14.
    FryFryFry
        51
    FryFryFry  
       2022-09-22 18:18:17 +08:00
    @LeeeSe 我用 qx 刷 b 站也是经常缓冲
    zhijiansha
        52
    zhijiansha  
       2022-09-22 18:21:05 +08:00 via iPhone
    我开着打开同花顺也会经常网络异常……应该是走代理了
    263
        53
    263  
       2022-09-22 18:25:32 +08:00
    DOMAIN-SUFFIX,cn,DIRECT
    FaiChou
        54
    FaiChou  
       2022-09-22 18:32:56 +08:00
    之前遇到过 TIM 开着圈 x 会有这问题 https://v2ex.com/t/817404#reply12
    ililili
        55
    ililili  
       2022-09-22 19:39:39 +08:00
    我是有的 B 站视频 404 ,关上就好了
    0o0O0o0O0o
        56
    0o0O0o0O0o  
    OP
       2022-09-22 19:55:19 +08:00
    @0o0O0o0O0o #48

    重新导入了节点,继续使用默认的 default.conf ,也还是很快
    wtser
        57
    wtser  
       2022-09-22 21:17:15 +08:00
    说明大概率代理的规则存在问题,可以先把去广告的规则删了试试
    mortal
        58
    mortal  
       2022-09-22 21:17:56 +08:00
    我之前也这样,后来把 DNS 清空只留下 system 和 114.114.114.114 就好了。
    不过最近开始更新了 iOS 16 ,似乎 VPN 有严重重连问题。
    0o0O0o0O0o
        59
    0o0O0o0O0o  
    OP
       2022-09-22 21:18:21 +08:00
    @0o0O0o0O0o #56 用原来的规则,但是把 General 除 dns-server 意外的项改成了 default.conf 里面的值

    [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 = system
    ipv6 = true
    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


    也很正常
    0o0O0o0O0o
        60
    0o0O0o0O0o  
    OP
       2022-09-22 21:19:10 +08:00
    @wtser 没有去广告,规则里只有 Proxy 和 Direct
    0o0O0o0O0o
        61
    0o0O0o0O0o  
    OP
       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
        62
    0o0O0o0O0o  
    OP
       2022-09-22 22:40:19 +08:00
    几个小时的体验不错,决定未来升级版本后都按照 #48 重置一下
    edis0n0
        63
    edis0n0  
       2022-09-23 01:00:28 +08:00
    我是物理分流 国产软件只装备用机 备用机不装访问互联网的工具 这样就不用考虑分流规则的事情了
    emma3
        64
    emma3  
       2022-09-23 15:04:06 +08:00
    @ztc 这种域名与解释到的 IP 不是默认 DIRECT 吗?
    iloveios
        65
    iloveios  
       2022-09-23 20:00:10 +08:00 via iPhone
    brook 的默认规则就好使
    qdmooo
        66
    qdmooo  
       2022-09-23 23:41:01 +08:00
    先抓包微信图片的服务器地址。然后回小火箭去测试规则,就知道怎么回事了。

    一般卡顿是被 reject 或者 proxy 了。改成 direct 就完事了。
    binbinbbb
        67
    binbinbbb  
       2022-09-24 08:25:02 +08:00 via iPhone
    使用快捷指令自动化,打开需要用外网程序自动打开 sha ,退出程序时候自动关闭 sha
    caobug
        68
    caobug  
       2022-09-27 18:12:30 +08:00   ❤️ 1
    如果只是微信出现此问题,大概是 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
        69
    Aurorataro  
       2022-09-28 21:00:55 +08:00 via Android
    是 DNS 解析全部被代理从国外绕一边回来了吗
    lstt
        70
    lstt  
       2022-09-30 10:04:25 +08:00
    我用 Surge 也有这个问题,看了前面 6 楼引用的帖子,经过试验,加了其中的一条规则后目测解决

    Filter 里面得添加一条,( Type=GEOIP ,Param=CN ,Policy=DIRECT )
    lstt
        71
    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
        72
    mzliangjianjun  
       2022-10-06 12:46:42 +08:00 via iPhone
    @mhqschen 咨询一下,如何按照 geoip 区分流量
    emma3
        73
    emma3  
       2022-10-06 20:39:46 +08:00
    @lstt 可以用,但好像分别不大。
    zpfhbyx
        74
    zpfhbyx  
       2022-10-18 15:29:46 +08:00
    我把 udp 转 tcp 关了..瞬间加速..
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1083 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 18:58 · PVG 02:58 · LAX 11:58 · JFK 14:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.