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

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

  •  
  •   0o0O0o0O0o · 187 天前 via iPhone · 9233 次点击
    这是一个创建于 187 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    依次尝试皆无果:

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

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

    74 条回复    2022-10-18 15:29:46 +08:00
    wuxiu
        1
    wuxiu  
       187 天前 via iPhone
    我也是
    RiverMud
        2
    RiverMud  
       187 天前
    我微信到没问题,斗鱼有问题。
    开了小火箭后斗鱼的加载变慢,关掉后加载肉眼可见地变快。
    Sugu
        3
    Sugu  
       187 天前
    我也遇到了
    0o0O0o0O0o
        4
    0o0O0o0O0o  
    OP
       187 天前 via iPhone
    而且我没有开启 MITM 功能。

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

    可以参考 https://www.v2ex.com/t/801289
    Pactzhao
        7
    Pactzhao  
       187 天前
    我也是,开着小火箭,微信里的图片完全加载不出来
    0o0O0o0O0o
        8
    0o0O0o0O0o  
    OP
       187 天前 via iPhone
    @leefor2020 参见第三条,排除了自定义规则和自定义 DNS 的可能性
    0o0O0o0O0o
        9
    0o0O0o0O0o  
    OP
       187 天前 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
       187 天前 via iPhone
    @0o0O0o0O0o #9 也尝试过将 bypass-system 选项切换,dns-server 改成 Wi-Fi 默认 DNS ,依旧慢
    ethanlu
        11
    ethanlu  
       187 天前 via Android
    安卓用 v2rayNG 也是,借楼问一下有没有解决办法?
    catteroLo
        12
    catteroLo  
       187 天前 via Android
    @ethanlu 开分应用代理
    listenerri
        13
    listenerri  
       187 天前
    @catteroLo #12 IOS 里的 shadowrocket 有分应用代理这功能吗?
    0o0O0o0O0o
        14
    0o0O0o0O0o  
    OP
       187 天前 via iPhone   ❤️ 1
    @listenerri 他在回答 v2rayNG
    lpd743663
        15
    lpd743663  
       187 天前
    试一下 关闭 IPV6
    lpd743663
        16
    lpd743663  
       187 天前
    @lpd743663 抱歉,我错了
    ethanlu
        17
    ethanlu  
       187 天前 via Android
    @catteroLo 谢谢,貌似有用,再观察观察
    kera0a
        18
    kera0a  
       187 天前 via iPhone
    我就是觉得小火煎发热和加载图片慢换的 qx ,要好很多。
    kim2x
        19
    kim2x  
       187 天前
    Sure 没有遇到你提到的问题,之前用小火箭每次进入微信就先转圈,好一会才接收到消息
    zhuziyi
        20
    zhuziyi  
       187 天前
    之前那个帖子也看过,改成 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  
       187 天前
    多半规则问题,规则尽量只用同一分享者的,防止重复与冲突。另外没有特别需要,仅仅服务特定外网的话,尽可能用简单的规则,更多优先国内直连。前阵子中亚海外购发现打开速度变慢,尤其图片载入,排查各主要分流都没发现异常,后来发现居然有一段海外分流里直接把 amazon 关键词代理了
    0o0O0o0O0o
        22
    0o0O0o0O0o  
    OP
       187 天前
    @kera0a #18 掏出 qx 试了下,确实好很多,但是忘记当初因为什么难以忍受的缺陷弃用 qx 的了。
    0o0O0o0O0o
        23
    0o0O0o0O0o  
    OP
       187 天前
    @ajyz #21 可以看完帖子,我已经尽力排除,几乎不可能是规则问题
    ouqihang
        24
    ouqihang  
       187 天前 via Android
    有的微信公众号的图片就是加载慢,有时候聊天的也慢,最近还发现下载的图片损坏,能看但是下半部分颜色变了。
    HugoChao
        25
    HugoChao  
       187 天前
    多嘴问一下规则是跟着软件走还是订阅链接走?我相同订阅链接在 clashx 上丝滑流畅在手机上的小火箭就是会卡
    xiangxiangxiang
        26
    xiangxiangxiang  
       187 天前
    同遇到这个问题,不知道是不是全局代理和规则的问题。蹲一个解法
    SenLief
        27
    SenLief  
       187 天前 via iPhone
    应该就是 dns 问题,之前的解法就是删除掉配置文件的 system ,不过有时候还是不行,所以换了 stash
    FanError
        28
    FanError  
       187 天前
    我也碰到这个问题,都是默认配置
    kakukaiki
        29
    kakukaiki  
       187 天前
    dns 的问题

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

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

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

    可以加下这两条规则,亲测有用
    bclerdx
        36
    bclerdx  
       187 天前
    @ajyz amazon 海外没有国内 IP 地址资源吧?
    bclerdx
        37
    bclerdx  
       187 天前
    @ztc 对,微信中的图片似乎用腾讯的这 2 个域名,可能还会有其它域名,估计 OP 的规则中把这 2 个域名规则走了 Proxy ,然后绕路了,所以肉眼可见的慢了,而不是 OP 认知的秒开。
    lin559671
        38
    lin559671  
       187 天前 via iPhone
    微信部分视频图片解析到海外腾讯新加坡云。把腾讯云 ip 设置为直连可以解决
    ztc
        39
    ztc  
       187 天前
    @bclerdx 估计是
    mhqschen
        40
    mhqschen  
       187 天前
    @ztc #35 感谢!我就只按 GEOIP 区分了国内外。没有别的规则。刚刚测试了下 qlogo.cn 被识别为非国内,走了代理。qpic.cn 是正常的。亏我 DNS 用的还是 DNSPOD 的 https://doh.pub/dns-query 呢
    bclerdx
        41
    bclerdx  
       187 天前
    @mhqschen 仅 GEOIP 是不够准确的。
    infun
        42
    infun  
       187 天前
    我是关了 IPV6
    加上 qlogo.cn, qpic.cn direct
    现在很丝滑
    zhx0017
        43
    zhx0017  
       187 天前
    @0o0O0o0O0o 我之前也碰见过这样,我是把所有微信用到的域名抓出来,然后填进规则设置里那个 Hosts 里,DNS 设成腾讯的 DNS 或者直接填 system 就可以解决了,我估计你那边应该也行,其他东西卡的话也能这么做。
    好像是虽然小火箭知道要直连,但它先请求的是海外 DNS ,拿到的也是海外友好的 IP ,国内直连就不太行了,所以我直接加了 hosts 就解决了。
    不过千万注意别填成服务器地址,是 DNS 地址,不然什么都打不开了。
    ajyz
        44
    ajyz  
       186 天前 via iPhone
    @bclerdx 编写分流的太过草率,自己添了条 amazon.cn 直连就正常了。
    0o0O0o0O0o
        45
    0o0O0o0O0o  
    OP
       186 天前
    [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
       186 天前
    @0o0O0o0O0o #45 简化成这样的规则,根本没有代理,1.12.12.12 和 tls://1.12.12.12 也换成别的国内 DNS server 尝试了,也是一样。


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


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

    感觉快一点了。

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

    重新导入了节点,继续使用默认的 default.conf ,也还是很快
    wtser
        57
    wtser  
       186 天前
    说明大概率代理的规则存在问题,可以先把去广告的规则删了试试
    mortal
        58
    mortal  
       186 天前
    我之前也这样,后来把 DNS 清空只留下 system 和 114.114.114.114 就好了。
    不过最近开始更新了 iOS 16 ,似乎 VPN 有严重重连问题。
    0o0O0o0O0o
        59
    0o0O0o0O0o  
    OP
       186 天前
    @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
       186 天前
    @wtser 没有去广告,规则里只有 Proxy 和 Direct
    0o0O0o0O0o
        61
    0o0O0o0O0o  
    OP
       186 天前
    首先抄下重置后的 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
       186 天前
    几个小时的体验不错,决定未来升级版本后都按照 #48 重置一下
    edis0n0
        63
    edis0n0  
       186 天前
    我是物理分流 国产软件只装备用机 备用机不装访问互联网的工具 这样就不用考虑分流规则的事情了
    emma3
        64
    emma3  
       186 天前
    @ztc 这种域名与解释到的 IP 不是默认 DIRECT 吗?
    iloveios
        65
    iloveios  
       185 天前 via iPhone
    brook 的默认规则就好使
    qdmooo
        66
    qdmooo  
       185 天前
    先抓包微信图片的服务器地址。然后回小火箭去测试规则,就知道怎么回事了。

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

    Filter 里面得添加一条,( Type=GEOIP ,Param=CN ,Policy=DIRECT )
    lstt
        71
    lstt  
       179 天前
    另外不知道小火箭能不能用 ASN ,用 ASN 的规则会更好用一些。https://github.com/VirgilClyne/GetSomeFries/blob/main/ruleset/ASN.China.list?raw=true
    mzliangjianjun
        72
    mzliangjianjun  
       173 天前 via iPhone
    @mhqschen 咨询一下,如何按照 geoip 区分流量
    emma3
        73
    emma3  
       172 天前
    @lstt 可以用,但好像分别不大。
    zpfhbyx
        74
    zpfhbyx  
       161 天前
    我把 udp 转 tcp 关了..瞬间加速..
    关于   ·   帮助文档   ·   博客   ·   nftychat   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   4627 人在线   最高记录 5556   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 08:43 · PVG 16:43 · LAX 01:43 · JFK 04:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.