Version 1.0.0 is out

Gnirehtet GUI Your computer's internet, on your Android phone.

A free reverse tethering app. Plug the phone in with a USB cable and click Connect. It works without root, and there's nothing to set up on the phone.

For Windows, macOS and Linux

Gnirehtet
  1. Plug in the phone With USB debugging on
  2. Allow USB debugging A one-time prompt on the phone
  3. Click Connect In the app
  4. Accept the VPN request And the phone is online

This is the real app, running on a scripted phone. Click anything to take over.

How it works

tethering is tethering, the other way round.

Tethering usually shares a phone's mobile data with a computer. Gnirehtet goes the other way: the phone uses the computer's connection, through the USB cable. Here is what the app does when you click Connect.

InternetUSBrelay :31416VPN

When it's useful

  • Wired desk, no Wi-Fi

    Your computer is on Ethernet and there's no wireless network for the phone.

  • No signal, no SIM

    The phone has no data plan, or no coverage where you're sitting.

  • Testing on a real device

    The phone joins your computer's network, VPN included, while you test your app on it.

  • Saving mobile data

    It's plugged in to charge anyway. Let it use the computer's connection meanwhile.

The details

The terminal parts, handled.

gnirehtet is a command-line tool. This app runs it for you, watches the phone, and tidies up afterwards.

  • Explains what the phone needs

    Unauthorized, offline, or blocked by Linux udev permissions: the app says what's wrong and what to do.

  • Shows each state as it happens

    Starting, waiting for the VPN prompt, connected, interrupted.

  • Recovers from a pulled cable

    Plug it back in and the USB tunnel is restored without a click.

  • Leaves nothing running

    Disconnecting or quitting stops the VPN on the phone and the relay on the computer.

  • Preferences when you need them

    Custom DNS servers, routes and relay port. Light, dark, or follow your system.

  • A log for troubleshooting

    Every relay and adb step, with errors flagged.

Download

Version 1.0.0

Free and open source. The relay and the Android client are built in, so this is the only thing to download.

Phone
Android 5.0 or newer, no root
Computer
adb, from Android platform-tools

Installation guide All files and checksums

  • Windows Windows 10 and 11 gnirehtet-gui-1.0.0-windows-x64-setup.exe
    Download
  • macOS Apple Silicon, M1 and later gnirehtet-gui-1.0.0-macos-apple-silicon.dmg
    Download
  • macOS Intel gnirehtet-gui-1.0.0-macos-intel.dmg
    Download
  • Debian, Ubuntu, Mint .deb package gnirehtet-gui-1.0.0-linux-x64.deb
    Download
  • Fedora, openSUSE .rpm package gnirehtet-gui-1.0.0-linux-x64.rpm
    Download
  • Other Linux AppImage gnirehtet-gui-1.0.0-linux-x64.AppImage
    Download

Questions

Reverse tethering, answered.

How do I share my computer's internet with my Android phone over USB?
Turn on USB debugging on the phone, plug it in, open Gnirehtet GUI and click Connect. Accept the VPN request on the phone and it's online through your computer's connection, whether that's Ethernet, Wi-Fi or a VPN.
Is this the same as USB tethering?
No, it's the opposite direction. Android's built-in USB tethering shares the phone's mobile data with the computer. Reverse tethering shares the computer's connection with the phone.
Does the phone need root?
No. The Android client uses the standard VPN API, which is why the phone asks you to accept a connection request. Android 5.0 or newer is enough.
Do I need to install anything on the phone?
Only USB debugging has to be enabled. The app installs the small gnirehtet client on the phone the first time you connect.
Does it work without the command line?
Yes, that's the point of this app. You still need adb (Android platform-tools) installed on the computer, but you never have to run it yourself.
Is it free?
Yes. Gnirehtet GUI is free and open source under the Apache License 2.0, for Windows, macOS and Linux.
What doesn't it do?
These limits come from gnirehtet itself: IPv4 only, TCP and UDP only (so ping doesn't work on the phone), and one phone at a time.

Built on gnirehtet by Genymobile. The app ships the unmodified 2.5.1 relay and Android client, and adds the desktop interface and process management around them.