Tetherspot
Android USB reverse tethering with WiFi hotspot
Install / Use
/learn @cuamckuu/TetherspotREADME
Tetherspot
Script to simlify reverse USB tethering with WiFi hotspot on non-rooted Android
Schematic:

Demo:

Why
To share unlimited wired network from PC to laptop and iPad instead of sharing 4G with limited monthly traffic.
Idea
- Use Gnirehtet on PC to start reverse USB tethering
- Use Every Proxy on Android to run proxy server
- Enable WiFi hotspot on Android
- Connect to created WiFi and specify proxy address
Tetherspot could automate this process by
- ~~Downloading and installing
adbif needed~~ (Not yet) - ~~Downloading and installing propper Gnirehtet version~~ (Not yet)
- ~~Downloading and installing EveryProxy apk~~ (Not yet)
- Starting/stopping Gnirehtet, Every Proxy and WiFi hotspot in one command
Usage
- Work In Progress!
- Current version has only win64 Gnirehter binaries, so on linux/macOS you should add propper Gnirehtet version to PATH yourself
- Current version don't yet install Every Proxy, so install it manually from Google Play
git clone https://github.com/cuamckuu/tetherspot.git
cd ./tetherspot
# Unlock your phone and connect it via USB with allowed USB debugging
python main.py
TODO
- [X] Run
adbcommands from Python - [X] Enable wifi hotspot from
adb - [X] Disable wifi hotspot from
adb``adb - [X] Enable proxy server from
adb - [X] Disable proxy server from
adb - [X] Run Gnirehtet from Python
- [X] Cleanup Gnirehtet on android side
- [X] Working Windows prototype
- [X] Check that device unlocked
- [X] Lock screen after start of Gnirehtet
- [X] Unlock screen before cleanup
- [X] Disable mobile network to ensure reverse tethering works
- [ ] Determine OS version to get propper Gnirehtet
- [ ] Install EveryProxy if needed
- [ ] Install ADB if needed
- [ ] Write own Android proxy server (TCP, UDP, IPv6, netty, ktor)
- [ ] Get relative path to
__file__location - [ ] Use logging instead of prints
- [ ] Add run flags for diffirent behaviour. Ex:
--lock,--install,--hotspot_row, etc - [ ] Maybe auto screen unlock?
Notes:
- is mobile data on: https://stackoverflow.com/questions/28537468/getting-cellular-network-status-via-adb-shell
- is package installed: https://stackoverflow.com/questions/20911231/android-how-to-know-if-any-application-is-already-installed-in-android-device-u
Related Skills
node-connect
340.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
340.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.1kCommit, push, and open a PR
