V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Scalalala
V2EX  ›  问与答

macos/ios 上的闭源代理软件(surge/qx 等)普遍支持的修改 HTTP/HTTPS 请求和响应的功能,为什么开源的跨平台软件(mihomo/singbox 等)普遍不支持?

  •  
  •   Scalalala · 13 天前 · 1381 次点击
    是技术难度的问题?还是实现该功能的必要性问题?还是其他原因?
    18 条回复    2024-12-17 17:18:24 +08:00
    mooyo
        1
    mooyo  
       13 天前
    安卓不能 MITM
    neochen13
        2
    neochen13  
       13 天前
    MacOS 上的 QX 好难用的
    zuotun
        3
    zuotun  
       13 天前
    @mooyo #1 不是不能,只是门槛高了很多吧?印象里安卓是有 HTTPS 抓包软件的,这已经完成一半了。
    w88975
        4
    w88975  
       13 天前
    技术上没有任何难题, 作为一个代理软件, MITM 是最基本的, 无非就是不想做, 毕竟 MITM 是风险比较大的
    chanChristin
        5
    chanChristin  
       13 天前 via iPhone
    @neochen13 #2 换 surge
    mooyo
        6
    mooyo  
       13 天前
    @zuotun 安卓软件可以不信任第三方证书
    jim9606
        7
    jim9606  
       13 天前 via Android
    因为过隧道这事并不需要修改请求头。
    surge 好歹是挂着网络开发名义的。
    现在主流的协议都不会请求头内封装网络层信息,也就是设计与隧道和代理兼容的,所以不像 FTP 那样需要修改才能过隧道。
    ztmzzz
        8
    ztmzzz  
       13 天前 via iPhone
    安卓 mitm 麻烦+闭源的收费
    hazy
        9
    hazy  
       13 天前 via iPhone
    iOS 上几款软件都买了,但一直没开过 MITM ,去广告的需求远小于安全性要求。
    Donaldo
        10
    Donaldo  
       13 天前
    @mooyo #6 iOS 也可以。。。ssl pinning 跟系统没关系
    mooyo
        11
    mooyo  
       13 天前
    @Donaldo

    自定义可信 CA
    您可能希望应用信任自定义 CA 集,而不是平台默认的 CA 。出现此情况的最常见原因包括:

    连接到具有自定义 CA (如自签名或在公司内部签发的 CA )的主机。
    仅限您信任的 CA (而不是每个预装 CA )。
    信任未包含在系统中的其他 CA 。
    默认情况下,来自所有应用的安全连接(使用 TLS 和 HTTPS 之类的协议)均信任预装的系统 CA ,而以 Android 6.0 ( API 级别 23 )及更低版本为目标平台的应用默认情况下还会信任用户添加的 CA 存储区。您可以使用 base-config (应用范围的自定义)或 domain-config (针对每个网域的自定义)自定义应用的连接。
    mooyo
        12
    mooyo  
       13 天前
    @Donaldo 确定我们说的是同一个事情?
    mooyo
        14
    mooyo  
       13 天前
    @mooyo #13 虽然我不是安卓开发,但按这篇文档的说法,一个应用在**默认**情况下,在安卓 7 及以上,是不会信任用户添加的证书,我的理解有问题么?
    finab
        15
    finab  
       13 天前
    @mooyo 他意思也是 iOS APP 可以选择不信任用户的证书,这种行为和系统无关。
    只不过安卓是强制不信任,iOS 是交给开发者决定
    finab
        16
    finab  
       13 天前
    不过 iOS 信不信任证书和人家的对话没关系, 人家说的是安卓默认不信任证书导致不能 MITM😄
    Donaldo
        17
    Donaldo  
       13 天前
    @mooyo #14 咱俩说的确实不是一回事,简单来说,不管 iOS 还是安卓,应用可以直接硬编码证书进去,而不是去通过“信任”系统或者用户证书来决定这个连接是否安全。
    SenLief
        18
    SenLief  
       13 天前
    没任何难题,主要还是隐私问题吧,信任证书是有危险的,我在 ios 上 mitm 我也不开。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2018 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 16:14 · PVG 00:14 · LAX 08:14 · JFK 11:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.