Ultimate VPN Connector
A user-friendly, cross-platform GUI application for easily connecting to OpenVPN servers. This tool simplifies the process of managing and using VPN configurations by automating the downloading, configuration, and connection process.
About The Project
This application transforms the OpenVPN-Automation-Script from a command-line tool into a full-featured, cross-platform graphical application. The goal remains the same—to make OpenVPN easy—but now with an intuitive and powerful user interface.
Instead of manually downloading configuration files, editing them with credentials, and running commands in a terminal, this app handles everything for you. It features an "Auto" mode to find the fastest server, a detailed settings panel for customization, and real-time logging to monitor the connection status.
Key Features
- Full Graphical User Interface: A clean, easy-to-use interface built with Python & Tkinter. No more command line needed for daily use!
- Cross-Platform Support: Works seamlessly on Windows, Linux, and macOS.
- Auto-Best Server Selection: Automatically pings all available servers and connects to the one with the lowest latency for the best performance.
- Real-time Logging: A built-in log window shows the live OpenVPN output for easy monitoring and troubleshooting.
- Advanced Settings Panel:
- Easily set and save your VPN username and password.
- Configure custom DNS servers.
- Manage the list of VPN configuration sources (ZIP links).
- Enable auto-reconnect on connection drops.
- Favorites System: Mark your most-used servers as favorites for quick access at the top of the server list.
- Linux Kill Switch: An optional firewall kill switch (using
ufw
) to prevent traffic leaks if the VPN disconnects. - Admin-Ready: Includes checks and instructions for running with the necessary administrator/sudo privileges.
Getting Started
Follow these instructions to get the application set up and running on your local machine.
Prerequisites
Before you begin, ensure you have the following installed on your system.
-
Python 3.7+
- Windows: Download from python.org. Crucially, check the box "Add Python to PATH" during installation.
- macOS: Install via Homebrew (
brew install python
) or download from python.org. - Linux: Usually pre-installed. If not,
sudo apt update && sudo apt install python3
.
-
OpenVPN Client
This application controls the OpenVPN client, so it must be installed.- Windows: Download the "OpenVPN Installer" from the OpenVPN Community Downloads page.
- macOS: The most popular client is Tunnelblick. Download and install it.
- Linux:
sudo apt install openvpn
.
-
Required Python Libraries
- Tkinter (GUI)
- Windows: Included with Python.
- macOS: May require
brew install python-tk
. - Linux: Must be installed separately:
sudo apt install python3-tk
.
- Requests (Downloads)
- Install via the command line:
pip install requests
(orpip3
on Linux/macOS).
- Install via the command line:
- Tkinter (GUI)
Installation
- Go to the Releases page of this repository.
- Download the
vpn_connector.py
file from the latest release assets. - Save the file to a convenient location on your computer.
How to Use the Application
Important: This application requires administrator (sudo
) privileges to manage network routes and run the OpenVPN client.
-
Run the Application
- Windows:
- Right-click on Command Prompt or PowerShell and select "Run as administrator".
- Navigate to where you saved the script (e.g.,
cd %UserProfile%\Desktop
). - Run the script:
python vpn_connector.py
.
- macOS & Linux:
- Open your Terminal.
- Navigate to where you saved the script (e.g.,
cd ~/Downloads
). - Run the script with
sudo
:sudo python3 vpn_connector.py
.
- Windows:
-
First-Time Configuration
- When the application opens, click the Settings button.
- Go to the Credentials tab and enter your VPN
username
andpassword
. - Click "Save & Apply Changes".
-
Connect to a VPN
- From the main window, select a server from the dropdown menu. "Auto (Best Performance)" is recommended.
- Click the Connect button.
- The status will update, and logs will appear in the window. A green "Connected" status indicates success.
- To end the session, click Disconnect.
Contributing
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
- 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
License
Distributed under the MIT License. See LICENSE
file for more information.
Contact
Project Link: https://github.com/Blindsinner/OpenVPN-Automation-Script