Effortless reverse USB tethering for Linux.
Share your laptop's Wi-Fi internet connection to your Android phone over a USB cable — no root required.
Most laptop Wi-Fi cards (particularly Intel iwlwifi and similar single-radio chips) cannot run in Access Point (AP / hotspot) mode while remaining connected to a Wi-Fi network. In practice, attempting to activate an nmcli or GUI hotspot drops the laptop's existing wireless connection. The reliable wireless-radio-free solution is reverse USB tethering: your laptop stays connected to Wi-Fi, and shares that connection with your Android device over a standard USB cable using a VPN-style bridge. Linksy PhoneNet wraps adb and gnirehtet into a friendly, single-command CLI experience that handles dependency installation, binary resolution, phone detection, and daemon management with zero manual file hunting.
npx linksy-phonenet setupnpm install -g linksy-phonenet
linksy-phonenet setuplinksy-phonenet setup will:
- Detect your Linux distribution.
- Check for
adb(Android Debug Bridge) and offer to install it automatically via your package manager (dnf,apt,pacman, orzypper) if missing. - Inspect your Wi-Fi interface capabilities (
iw list) and let you know if your hardware supports concurrent hotspot mode. - Dynamically resolve and download the latest Gnirehtet release from GitHub directly into
~/.linksy/gnirehtet/. - Set permissions and prepare everything for one-word commands.
You can use either the direct shortcut commands or the subcommand style:
| Command | Description |
|---|---|
phonenet-on |
Start reverse tethering immediately in background |
phonenet-off |
Stop reverse tethering and disconnect tunnel |
phonenet-status |
Check tethering state and phone connection |
phonenet-doctor |
Run diagnostic troubleshooting checks |
| Command | Description |
|---|---|
phonenet on / linksy-phonenet on |
Start reverse tethering (pass -f for foreground) |
phonenet off / linksy-phonenet off |
Stop reverse tethering |
phonenet status |
Display Gnirehtet install, connected phone, and tethering state |
phonenet doctor |
Run 4-step diagnostic checks with actionable fix suggestions |
phonenet uninstall |
Clean up ~/.linksy/ binaries and temporary files |
# 1. Plug in your Android phone via USB
# 2. Turn on tethering
phonenet-on
# 3. Unlock phone and accept the VPN prompt on screen
# Enjoy shared high-speed internet!
# 4. Check connection status
phonenet-status
# 5. Turn off when finished
phonenet-offLinksy v1 supports Linux with automatic package manager detection for:
- Fedora / RHEL / CentOS Stream (
dnf) - Ubuntu / Debian / Linux Mint (
apt) - Arch Linux / Manjaro (
pacman) - openSUSE (
zypper)
Manual fallback instructions are provided if your package manager is unrecognized.
If your phone is not connecting, run:
linksy doctorLinksy doctor checks:
- Is
adbinstalled and on your systemPATH? - Is the
gnirehtetbinary present and executable in~/.linksy/? - Is a physical Android phone detected via USB?
- Is USB debugging authorized (i.e. RSA key accepted on the phone screen)?
For any failed step, doctor provides an immediate, copy-pasteable fix.
For verifying Linksy on real hardware:
- Prerequisites: USB cable with data support (not charge-only), Android phone (Android 5.0+).
- USB Debugging: On your phone, go to Settings → About phone → tap Build number 7 times. Go to Developer options → toggle USB debugging ON.
- Plug In: Connect phone to laptop via USB.
- Verify Device: Run
adb devices. You should see<serial> deviceor<serial> unauthorized. - Run Doctor: Run
linksy doctorto confirm all 4 checks pass. - Start Tethering: Run
linksy on. - Authorize on Phone: Tap OK on the "Connection request" (Gnirehtet VPN prompt) on your phone.
- Test Connectivity: Turn off Cellular Data and Wi-Fi on your phone. Open a browser on the phone and verify internet access works!
- Stop: Run
linksy offand confirm the VPN closes.
The following features are planned for future versions:
- macOS & Windows platform support
- Fallback to Bluetooth reverse tethering
- System tray / desktop GUI app
- iOS reverse tethering support
Linksy is a UX wrapper and workflow orchestrator. It builds upon these open-source tools:
- Gnirehtet by Genymobile — the reverse tethering engine and Android VPN client.
- Android Debug Bridge (adb) by the Android Open Source Project (AOSP).
MIT License © 2026 Linksy Contributors