📈 GH Trending Explorer 🎲 Surprise me

← all repos

Indosaram / hotspot-proxy

git clone https://github.com/Indosaram/hotspot-proxy.git

Turn your iPhone's Personal Hotspot into an HTTP/HTTPS/SOCKS5 proxy — SwiftUI app, Lock Screen widgets, and Mac auto-TUN

—
stars, 24h
+69
stars, 7 days · #724
+69
stars, 30 days · #3,571
69
★ total · +69% this week
17
forks · 0 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageSwift
License—
Created2026-10-15 (5d ago)
Last push5d ago
Watchers0
OwnerUser

GitHub topics

Links

README excerpt
Hotspot Proxy 
 An iOS app that lets devices on your iPhone's Personal Hotspot use the iPhone's own cellular connection as a proxy . 
 HTTP, HTTPS (CONNECT), and SOCKS5 (TCP + UDP ASSOCIATE) on a single port.
---
## Why
Some carriers and plans classify tethered hotspot traffic separately and throttle or cap it. Hotspot Proxy runs a proxy server inside the iPhone. When devices on the hotspot (Mac, iPad, laptop) go through it, their traffic leaves as the iPhone app's own traffic.
## Screenshots
| Main (running) | Hotspot off | Settings | Welcome |
|---|---|---|---|
| | | | |
| | | | |
### Lock Screen and Home Screen widgets
- **Lock Screen** has three widgets:
 - Circular shows the status and connection count.
 - Rectangular shows the status, `IP:port`, connections, and data transferred.
 - Inline shows a one-line status.
- **Home Screen** has a small widget with a status chip, the proxy address, stats, and when it last updated.
- Tapping a widget opens the app. The app reloads widgets only when the state changes, so they cost almost no battery.
## Features
- **Status hero.** A "signal ring" shows the current state: green while running, amber when the hotspot is off, grey when stopped, and red on error.
- **One-tap start and stop**, with haptic feedback.
- **Copy the address.** One tap copies `172.20.10.1:8080` to enter on other devices.
- **Live stats** for active connections, data transferred, and uptime. Stats update only while the screen is visible.
- **Connection guides** for iPhone/iPad, macOS, Android, and Windows.
- **Mac auto-TUN guide.** The `mac/` scripts route all system traffic through the proxy automatically.
- **Welcome flow** that covers turning on the hotspot, local network permission, and how background keep-alive works.
- **Accessibility:** Dark Mode, Dynamic Type (including accessibility sizes), VoiceOver labels, and Reduce Motion.
## Usage
1. On the iPhone, turn on **Settings › Personal Hotspot › Allow Others to Join**.
2. Open the app and tap **Start Proxy**. By default it starts automatically on launch.
3. Join the hotspot from another device and set its proxy manually:
 - Server: `172.20.10.1` (shown in the app)
 - Port: `8080`
 - HTTP, HTTPS, and SOCKS5 all use the same port.
### Mac: system-wide automatic proxy (optional)
The `mac/` directory has a launchd setup built on sing-box TUN. It sends all traffic through the iPhone proxy, but **only while the Mac is on the hotspot**.
 [code] 
`hotspot-tun.sh` runs on every network change and every 30 seconds. When the Mac is on the iPhone hotspot (`172.20.10.x`) and `172.20.10.1:8080` responds, it turns the TUN and DNS on. Otherwise it restores the normal setup.
## Background behavior and battery
iOS doesn't keep a background app's sockets alive for long. To stay running, the app loops **silent audio** (8 kHz, in 30-second segments). The audio mixes with other apps (`mixWithOthers`) at zero volume. UI timers run only while the screen is visible, and idle UDP flows are cleaned up a