explaingit

mygod/vpnhotspot

5,787KotlinAudience · developerComplexity · 4/5Setup · hard

TLDR

Android app that shares your phone's active VPN connection with other devices over a Wi-Fi hotspot. Requires root access. Routes all hotspot traffic through the VPN so connected gadgets like Chromecasts get the same protection and access as your phone.

Mindmap

mindmap
  root((VPN Hotspot))
    Setup
      Root required
      Magisk install
      System app mode
    VPN Sharing
      Auto detect interface
      Manual interface
      IPv6 leak block
    Downstream Modes
      Address translation
      Android network service
      Client monitoring
    Use Cases
      Chromecast via VPN
      New device Google setup
      Bypass tether restrictions
    Compatibility
      Android 10 to 16
      Wi-Fi hotspot
      Repeater mode
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Share your phone VPN with a Chromecast or smart TV that has no built-in VPN support.

USE CASE 2

Set up Google apps on a new Android device that cannot reach Google servers directly.

USE CASE 3

Bypass carrier tethering restrictions by tunneling hotspot traffic through a VPN.

USE CASE 4

Monitor and block specific devices connected to your hotspot.

Tech stack

KotlinAndroidMagiskIPv6NAT

Getting it running

Difficulty · hard Time to first run · 1h+

Requires a rooted Android device running Android 10, 16. Basic features work after install, advanced features need Magisk system-app installation.

License not mentioned in the explanation.

In plain English

VPN Hotspot is an Android app that lets your phone share its VPN connection with other devices over a Wi-Fi hotspot or repeater. Normally, when you turn on your phone hotspot, devices that connect to it use your carrier connection directly without going through any VPN you have running on the phone. This app routes all traffic from connected devices through the same VPN the phone is using. Root access is required. The app will not work on a standard unrooted Android device. The main use cases listed in the README are: connecting devices that have no VPN support of their own, such as Chromecasts, through a corporate firewall, setting up Google apps on a new device that cannot reach Google's servers directly, and bypassing carrier restrictions on tethering by using the app alongside a VPN service. The app also lets you monitor which devices are connected and block specific clients. The app supports several modes for handling how traffic is forwarded. On the upstream side, it can auto-detect which network interface belongs to the active VPN, or you can set it manually. On the downstream side, you can choose how it remaps the addresses of connected devices, with options ranging from a simple address translation to letting Android's own network service handle it. There is also an IPv6 blocking mode to prevent data from leaking outside the VPN tunnel. Some features require the app to be installed as a system-level app, which is a more involved process typically done with tools like Magisk. These include reading and writing the phone's Wi-Fi hotspot configuration and certain privileged network permissions. The app supports Android versions 10 through 16.1 at the time of the README. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
My phone has VPN Hotspot installed. How do I set it up so my Chromecast uses my phone's VPN connection?
Prompt 2
What is the difference between the address translation mode and the Android network service mode in VPN Hotspot?
Prompt 3
How do I install VPN Hotspot as a system app using Magisk, and why would I need to do that?
Prompt 4
VPN Hotspot is not detecting my VPN interface automatically. How do I find and set the correct interface manually?
Prompt 5
Does VPN Hotspot block IPv6 to prevent leaks, and how do I enable that option?
Open on GitHub → Explain another repo

← mygod on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.