如果想在 V2EX 获得更好的推广效果,欢迎了解 PRO 会员机制:
https://www.v2ex.com/pro/about

如果你经常使用铜币置顶主题,持有 V2EX Solana Token 会在每日签到时获得额外铜币:
https://www.v2ex.com/solana
guchengyehai1
V2EX  ›  推广

手机流量用不完,但开个人热点又慢、又发热、又被运营商当 tethering 限速

  •  
  •   guchengyehai1 · 6h 52m ago · 456 views

    起因

    我经常碰到这种拧巴的情况:手机套餐流量挺多(甚至无限),但笔记本要上网时,开个人热点( Personal Hotspot )特别难受——

    • 运营商能识别出「这是电脑在蹭手机流量」( tethering ),于是单独限速 / 单独计费 / 限额,明明套餐还剩一堆流量
    • 热点那个 Wi-Fi 又费电又发热,还时不时掉
    • 咖啡馆 / 酒店 / 高铁的公共 Wi-Fi 又慢又不放心

    我想要的其实很简单:让 Mac 的流量从 iPhone 的蜂窝出去,但让它看起来就是手机自己在上网,而不是被当成热点共享。

    折腾了一段时间,做出来了,叫 FastNet 。

    它是什么

    两个部分:

    • Mac 上一个菜单栏 app
    • iPhone 上一个 app (目前在 TestFlight )

    连上之后,Mac 的全局流量会通过 iPhone 的蜂窝网络出去,出口 IP 就是 iPhone 的蜂窝 IP 。

    怎么实现的

    • Mac 侧:一个 root LaunchDaemon 开 utun ,用 split-default 路由(0.0.0.0/1 + 128.0.0.0/1)把全局流量抓进来,转成本地 SOCKS5
    • 传输层两条路
      • USB:走 usbmux (跟 iproxy 一个原理),最稳,插线即用
      • Wi-Fi Direct ( AWDL ):苹果设备之间那条点对点链路,不需要两边连同一个 Wi-Fi,无线但直连,自己跑了个 mux 多路复用上去(绕开 AWDL 单 peer ~256 条 NWConnection 的上限)
    • iPhone 侧:跑一个本地 SOCKS5 + 多路复用 server ,把收到的流量用 requiredInterfaceType = .cellular 强制从蜂窝发出去
    • 关键点:它不是系统 VPN,没用 NEVPNManager / NEPacketTunnelProvider,不接管 iPhone 自己的流量。iPhone 只是当出口,所以发出去的就是手机原生蜂窝流量,不像热点那样被单独识别成 tethering
    • DNS 走 DoH ; Wi-Fi 全关也能用(纯 USB + 往 SCDynamicStore 注入 DNS )

    几个会被问到的「这不就是 XX 吗」

    • 和 USB 网络共享 / 系统热点的区别:那些会被运营商识别成 tethering 然后限速 / 限额; FastNet 的出口是手机原生蜂窝,规避的就是这个
    • 和 VPN 的区别:VPN 把你流量绕到第三方服务器; FastNet 点对点,不经过我的任何服务器,我也拿不到你的数据
    • 隐私:离线 Ed25519 license 验证,不收集数据,运行期不连我的后端(只有买的时候过一下 Stripe )

    现状 & 想要的反馈

    • macOS app 签名 + 公证好了,.pkg 双击装,一次管理员密码搞定(没有系统设置里那堆批准)
    • iPhone app 在 TestFlight
    • 价格 $29 一次性买断,不是订阅
    • 我一个人做的,每天挤一两个小时

    来 V2EX 主要是想找几个愿意试的,尤其是:

    • 用美国运营商( T-Mobile / Verizon / AT&T )、热点经常被限速的
    • 经常带着 Mac 出门、但手机流量却用不完的
    • 对 AWDL / Network.framework 这套实现感兴趣、想来吐槽实现的

    落地页 + 下载: https://fastnet-site.vercel.app/?utm_source=v2ex&utm_medium=post&utm_campaign=launch

    嫌贵、质疑、觉得哪里有坑,都欢迎直接喷

    12 replies    2026-06-26 09:48:53 +08:00
    gap
        1
    gap  
       6h 24m ago via iPhone   ❤️ 1
    看起来很不错👍请问有啥方法能验证安全性吗?
    guchengyehai1
        2
    guchengyehai1  
    OP
       6h 9m ago
    @gap 理论上没有什么安全问题,因为最终的网络请求直接走 iphone 这边的客户端,至于运营商那边,我觉得只要你不是大规模的搞事情比如疯狂下载,也不会有啥问题
    guchengyehai1
        3
    guchengyehai1  
    OP
       6h 4m ago
    @gap 谢谢 🙏 给你几个能自己验的,不用信我:

    1. 抓包看连了谁:开 Little Snitch 或免费的 LuLu ,跑起来你会看到流量只去 iPhone ( USB/AWDL 本地点对点),没有一个连到我服务器的,运行期我这边没后端。
    2. 验出口:连上后 curl https://1.1.1.1/cdn-cgi/trace ,ip= 是你手机运营商的蜂窝 IP ,不是机房——证明没走第三方中转。
    3. 验包没被改:spctl -a -vvv -t install FastNet.pkg ,Apple 公证 + 固定 Developer ID 签名,动过就校验失败。
    4. 它不是系统 VPN ,iPhone 里不会装任何 VPN 描述文件,只用 Local Network 权限。

    坦白讲代码暂时没开源,但上面都是运行时可观测的,偷没偷数据自己就能看出来。
    guchengyehai1
        4
    guchengyehai1  
    OP
       6h 3m ago
    @gap 唯一的弱点是,IOS 这端必须 app 在前台,这个是系统限制
    gap
        5
    gap  
       5h 45m ago via iPhone
    谢谢详细回复!期待 iOS 上架!
    guchengyehai1
        6
    guchengyehai1  
    OP
       5h 43m ago
    @gap 已经在 TestFlight 啦,之前在中国没有这个运营商限制,老美这边的运营商就比较恶心了,热点被限制后打开个网页都费劲
    villivateur
        7
    villivateur  
       5h 40m ago
    所以为什么 tethering 会被运营商识别出来?按理说只是手机做了一层 NAT 吧?
    jacketma
        8
    jacketma  
       4h 54m ago
    这个估计是和卡套餐相关,有的套餐超过一定流量就限速。
    要说运营商能识别手机流量还是热点流量,这个说法不靠谱,我用的套餐开热点从来没发现限速过
    TomDragon
        9
    TomDragon  
       4h 45m ago
    所以是不是搞个备用 iPhone 最好?
    guchengyehai1
        10
    guchengyehai1  
    OP
       4h 41m ago
    @villivateur 热点流量不是运营商费劲去识别的,而是手机自己标出来的:iOS 的运营商配置里,个人热点的流量会走单独的计量上下文 / APN ,相当于手机主动告诉运营商这部分是热点。所以你插 USB 线代替 Wi-Fi 也没用——区别不在用没用线,而在这条流量被打了「热点」的标。
    我们工具绕开的就是这个:它不是把电脑的包转发出去,而是让 iPhone 自己用普通蜂窝连接去发起请求,走的是正常数据通道、不带热点那个标。在运营商看来就是手机自己在上网。
    guchengyehai1
        11
    guchengyehai1  
    OP
       4h 38m ago
    @jacketma 国内的话确实没有这个限制,但是美国这边的话有限制的,再贵的套餐都有热点流量的限制,比如最多 200G,但是超过后速度基本降到 5Mbs
    guchengyehai1
        12
    guchengyehai1  
    OP
       4h 37m ago
    @TomDragon 这个我个人觉得没有必要,如果不是深度使用的话,用 Mac 做事情的时候也就不用手机了,假如需要看手机,最多再打开一次 app 就够了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5751 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 53ms · UTC 06:26 · PVG 14:26 · LAX 23:26 · JFK 02:26
    ♥ Do have faith in what you're doing.