# genymobile/gnirehtet

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/genymobile-gnirehtet).**

7,721 stars · 717 forks · Java · Apache-2.0

## Links

- GitHub: https://github.com/Genymobile/gnirehtet
- awesome-repositories: https://awesome-repositories.com/repository/genymobile-gnirehtet.md

## Topics

`android` `java-8` `reverse-tethering` `rust` `vpn`

## Description

Gnirehtet is a reverse tethering tool that allows Android devices to share a computer's internet connection over USB. It functions as a network relay for TCP and UDP IPv4 traffic using the Android Debug Bridge protocol.

The system provides connectivity for Android devices without requiring root access by utilizing a local virtual network interface to intercept traffic. It includes a manager capable of controlling and resetting relay sessions for multiple connected devices from a single server.

The tool supports batch connection activation and the management of individual device tunnels. It employs local port forwarding to route network packets between the mobile client and the host machine.

## Tags

### Networking & Communication

- [Reverse Tethering](https://awesome-repositories.com/f/networking-communication/reverse-tethering.md) — Shares a computer's internet connection with an Android device over USB without requiring root access.
- [ADB Tunneling Protocols](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-computing/communication-protocols/embedded-browser-bridge-protocols/adb-tunneling-protocols.md) — Implements bidirectional communication channels for network traffic using the Android Debug Bridge protocol.
- [Network Relaying](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-computing/communication-protocols/embedded-browser-bridge-protocols/adb-tunneling-protocols/network-relaying.md) — Relays TCP and UDP traffic from Android devices through a host computer via ADB.
- [ADB Traffic Relays](https://awesome-repositories.com/f/networking-communication/relay-communication-protocols/adb-traffic-relays.md) — Relays TCP and UDP IPv4 traffic between an Android device and a computer using ADB.
- [Rootless Mobile Networking](https://awesome-repositories.com/f/networking-communication/rootless-mobile-networking.md) — Provides network connectivity to non-rooted Android devices via USB debugging.
- [Rootless VPN Interfaces](https://awesome-repositories.com/f/networking-communication/rootless-vpn-interfaces.md) — Provides a local virtual network interface to intercept traffic on non-rooted Android devices.
- [TCP and UDP Forwarders](https://awesome-repositories.com/f/networking-communication/traffic-routing/tcp-and-udp-forwarders.md) — Forwards raw TCP and UDP IPv4 packets between the Android client and the host machine.
- [USB Internet Sharing](https://awesome-repositories.com/f/networking-communication/usb-internet-sharing.md) — Forwards mobile network traffic through a host computer's active connection via a debug bridge.
- [Multi-Device Connection Managers](https://awesome-repositories.com/f/networking-communication/multi-device-connection-managers.md) — Maintains and manages separate network tunnels for multiple connected Android devices through a single server.
- [Local Port Mapping](https://awesome-repositories.com/f/networking-communication/network-port-forwarding/local-port-mapping.md) — Maps local ports on the Android device to the host computer to route network traffic.
- [Session Managers](https://awesome-repositories.com/f/networking-communication/reverse-tethering/session-managers.md) — Manages and resets reverse tethering sessions for multiple Android devices from a single server.
