ANDROID USB TETHERING, REBUILT FOR MAC

Your Android data,finally on your Mac.

A native menu bar app that brings Android USB tethering back to macOS — without kernel extensions and without disabling SIP.

Finder   File   Edit   View◉   Wi-Fi   9:41 AM
Redmi 9Ready to Connect Connect
MacUSBTethering ready to connect to Redmi 9 MacUSBTethering connected to a Samsung device with live traffic status
NO KEXTSIP STAYS ONAPPLE SILICON + INTELRNDIS SUPPORTNATIVE MENU BAR APP

ONE CABLE. A REAL CONNECTION.

USB tethering that
actually tethers.

MacUSBTethering turns Android's RNDIS connection into a native macOS network interface — and keeps the controls one click away.
NATIVE MENU BAR APP

Connect, watch traffic,
disconnect.

See the phone, assigned IP, connection time, live upload and download rates, plus ping status without opening a full window.

Samsung DeviceConnected
Connected MacUSBTethering menu bar interface
0

Kernel extensions

Networking runs in userspace through libusb and macOS utun. No kext installation. No SIP workaround.

~1ms

To the phone gateway

Low-latency USB packet transfer in the tested setup, with no Wi-Fi hotspot overhead.

RNDIS ↔ utun

The missing bridge.

RNDIS control, DHCP, ARP and packet forwarding are implemented directly in the app.

Mac architectures

Builds natively for Apple Silicon and Intel using the architecture of the host Mac.

Not a workaround.
A full network stack.

MacUSBTethering handles the entire path from Android's USB interface to the macOS network stack. The result behaves like a real network connection, not a browser proxy.

Device discovery

Finds the Android RNDIS interface and claims the correct USB endpoints.

RNDIS handshake

Initializes the device, reads its MAC address and configures packet filtering.

Built-in DHCP

Requests an IP lease directly from the connected Android phone.

Native utun

Creates and configures a virtual macOS interface using the assigned address.

Bidirectional traffic

Moves packets from USB to utun and from utun back to USB in real time.

ARP handling

Answers and processes layer-two requests needed for a stable connection.

Plug it in.
Stay online.

Once the initial setup is complete, the everyday flow takes three actions.

  1. 01.

    Connect your Android phone.

    Use a USB data cable — not a charge-only cable — and unlock the phone.

  2. 02.

    Enable USB tethering.

    On Android, open hotspot or connection settings and turn on USB tethering. MacUSBTethering detects the RNDIS device.

  3. 03.

    Choose Connect.

    The app negotiates RNDIS, gets an address through DHCP, creates a utun interface and applies the route.

  4. 04.

    Use your Mac normally.

    Your Mac sends internet traffic through the phone's mobile connection. Live status stays visible in the menu bar.

TESTED HARDWARE

Android

Verified on Samsung Galaxy.

MacUSBTethering targets Android phones that expose USB tethering through RNDIS. Device behavior can vary, so the current verified baseline is Samsung Galaxy.

REQUIREMENTS

What you need.

  • 01macOSApple Silicon or Intel
  • 02Android phoneUSB tethering with RNDIS
  • 03USB data cableData transfer must be supported
  • 04libusbInstalled once through Homebrew

One small install.
No system surgery.

Install libusb, build the native menu bar app, then open it. The first launch asks for your administrator password once so it can install the required permission rule.

✓ SIP remains enabled✓ No kernel extension✓ Native SwiftUI GUI
Terminal
$ brew install libusb
$ bash GUI-Swift/build.sh
$ open "GUI-Swift/build/USB Modem.app"

Built for the architecture of your Mac.

FAQ

Asked, answered.

Why doesn't Android USB tethering work natively on my Mac?

Many Android phones expose tethering over RNDIS, a protocol macOS does not support out of the box. MacUSBTethering supplies that missing userspace bridge.

Do I have to disable System Integrity Protection?

No. The app does not install a kernel extension and does not require SIP to be disabled.

Does it work on Apple Silicon and Intel Macs?

Yes. The included build script compiles for the host architecture: arm64 on Apple Silicon and x86_64 on Intel.

Will it work with every Android phone?

It is designed for phones that expose USB tethering through RNDIS. It has been verified on Samsung Galaxy hardware; other models may behave differently and should be tested.

Why is an administrator password required the first time?

The menu bar app launches the networking helper with elevated privileges. A permission rule is installed once, so the password is not requested on every connection.

Can I route all Mac traffic through the phone?

Yes. Full-tethering mode adds the default route and DNS configuration so normal Mac internet traffic uses the phone's mobile connection.

MacUSBTethering icon

ANDROID INTERNET. MAC SIMPLICITY.

Keep SIP on.
Get your Mac online.

Download