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

loveava 2026-07-26 15:23 1

众所周知之前的 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)
  • SimonOne 07-26 17:03
    1
    和 surge (开着增强模式和系统代理)冲突对吧,因为增强模式也是模拟网卡。
    我试了下不开 surge ,关掉 wifi ,手机 usb 共享时,可以打开百度,开了 surge 就不行了,且`ipconfig getifaddr feth0` ip 也没了
  • slowman 07-26 17:49
    2
    架构 ascii diagram 是用什么字体在本地预览的
    我试了几个字体都不能对齐
* 帖子来源V2EX
返回