VPNActive is a powerful, cross-platform terminal utility designed to verify your digital privacy status. Whether you are a privacy enthusiast, a sysadmin, or just a casual user, knowing if your VPN is actually working is crucial.
Unlike simple "What is my IP" websites, VPNActive dives deeper. It inspects your system's network interfaces, analyzes running processes, checks your external IP against known hosting providers, and performs DNS leak testsโall presented in a beautiful, hacker-style TUI (Terminal User Interface).
VPNActive operates on three distinct layers to ensure accuracy:
-
System Layer Inspection ๐ป
- It scans your operating system (Linux, Windows, macOS, Android/Termux) for network interfaces commonly used by VPN protocols (e.g.,
tun0,wg0,ppp). - It checks for active processes associated with VPN providers (e.g.,
openvpn,wireguard,nordvpn,tor).
- It scans your operating system (Linux, Windows, macOS, Android/Termux) for network interfaces commonly used by VPN protocols (e.g.,
-
External IP Analysis ๐
- It queries external APIs to fetch your Public IP.
- It analyzes the ISP (Internet Service Provider) name. If the ISP is a known Data Center (e.g., DigitalOcean, M247), it flags the connection as "LIKELY VPN/PROXY".
-
DNS Leak Detection ๐ต๏ธโโ๏ธ
- It compares your Public IP with the IP address resolving your DNS queries. If they are different, it warns you, helping you identify potential DNS leaks where your ISP might still see your requests.
- ๐ฅ๏ธ Beautiful TUI: Built with the
richlibrary for a modern, colorful, and easy-to-read terminal interface. - ๐ง Cross-Platform: Works seamlessly on Linux, macOS, Windows, and Android (via Termux).
- ๐ Deep Scan: Detects VPNs via Interface names, Process names, and IP reputation.
- ๐ง Tor Detection: Specifically checks for active Tor services.
- โ ๏ธ Kill Switch: Built-in command to terminate running VPN processes instantly.
- ๐ History Logging: Automatically saves scan results to
scan_history.jsonfor your records. - ๐จ DNS Consistency: Verifies if your DNS requests are being tunneled correctly.
Here is how VPNActive is organized:
vpnActive/
โโโ main.py # ๐ Entry point: The script you run to start the tool
โโโ config.py # โ๏ธ Configuration: Settings, API URLs, and Colors
โโโ .scan_history.json # ๐ Logs: Stores past scan results (Auto-generated)
โโโ core/ # ๐ง Core Logic Folder
โโโ __init__.py # Package initializer
โโโ logo.py # ๐จ Generates the ASCII Art Banner
โโโ help.py # โน๏ธ Handles the Help Menu display
โโโ detector.py # ๐ต๏ธ Main Logic: Scans IPs, Interfaces & DNS
โโโ logger.py # ๐พ Handles saving data to JSON
- Python 3.8 or higher
- Pip (Python Package Manager)
git clone https://github.com/rkriad585/vpnActive.git
cd vpnActivepip install -r requirements.txt
# Or manually:
pip install psutil rich pyfiglet requestspython main.pyPerforms a full check of interfaces, processes, and external IP.
python main.pyRequires Administrator/Root privileges. Attempts to terminate known VPN processes.
# Linux/Mac
sudo python main.py --kill
# Windows (Run cmd as Admin)
python main.py --killDisplays all available commands and flags.
python main.py --helpYou can customize the tool by editing config.py.
- Add new VPNs: Add process names to
VPN_PROCESS_NAMESor interface prefixes toVPN_INTERFACE_PATTERNS. - Change Colors: Modify the
COLOR_*constants to theme the UI to your liking.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Found a bug? Open an Issue to help us fix it!
If you like this project, feel free to connect!
| Platform | Username | Link |
|---|---|---|
| GitHub | @rkriad585 | github.com/rkriad585 |
| YouTube | @rkriad585 | youtube.com/@rkriad585 |
| X (Twitter) | @rk_riad585 | x.com/rk_riad585 |
| @rkriad585 | facebook.com/rkriad585 | |
| @rkriad585 | instagram.com/rkriad585 | |
| Threads | @rkriad585 | threads.net/@rkriad585 |
| rkriad585 | mailto:rkriad585@gmail.com |
Distributed under the MIT License. See LICENSE for more information.