loveava
V2EX  ›  macOS

用 Opus5 实现了 macOS 用户态 RNDIS 驱动

  •  
  •   loveava · 4h 59m ago · 523 views

    众所周知之前的 macOS 需要用 RNDIS 驱动就得用 jwise/HoRNDIS 需要关闭 SIP ,还是很麻烦的。 但是实际上在用户态可以直接用 libusb 在用户态实现。

    把实现目标说清楚直接交给 Opus5,一共用了两小时全部完成了。

    用了一个 vivo 手机(USB 共享网络)测试和一个开发板( USB gadget )测试都是成功的

    方案 能否纯用户态 门槛 语义层级 结论
    kext / NKE Apple 授予的 kext 签名 entitlement 或关 SIP L2 Apple Silicon 上实质不可行
    NEPacketTunnelProvider 付费开发者账号 + entitlement + App bundle L3 要自己实现 ARP/ND/DHCP
    utun root L3 同上,且要自己拆装以太头
    feth + BPF root L2 ✅ 本项目选择

    项目地址: https://github.com/XiaoMiku01/TetherKit

    2 replies    2026-07-26 17:49:54 +08:00
    SimonOne
        1
    SimonOne  
       3h 18m ago
    和 surge (开着增强模式和系统代理)冲突对吧,因为增强模式也是模拟网卡。
    我试了下不开 surge ,关掉 wifi ,手机 usb 共享时,可以打开百度,开了 surge 就不行了,且`ipconfig getifaddr feth0` ip 也没了
    slowman
        2
    slowman  
       2h 32m ago
    架构 ascii diagram 是用什么字体在本地预览的
    我试了几个字体都不能对齐
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2834 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: c2a72e2c · 161ms · UTC 12:22 · PVG 20:22 · LAX 05:22 · JFK 08:22
    ♥ Do have faith in what you're doing.