https://github.com/nexoslabs/vpn-toolkit
A simple, lightweight, zero-dependency VPN management toolkit for Linux (Fedora, Ubuntu, Arch), supporting OpenVPN and WireGuard.
https://github.com/nexoslabs/vpn-toolkit
bash linux openvpn shell vpn wireguard
Last synced: 3 months ago
JSON representation
A simple, lightweight, zero-dependency VPN management toolkit for Linux (Fedora, Ubuntu, Arch), supporting OpenVPN and WireGuard.
- Host: GitHub
- URL: https://github.com/nexoslabs/vpn-toolkit
- Owner: nexoslabs
- License: mit
- Created: 2025-10-03T12:28:07.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-10-04T14:27:35.000Z (9 months ago)
- Last Synced: 2025-10-04T16:21:00.480Z (9 months ago)
- Topics: bash, linux, openvpn, shell, vpn, wireguard
- Language: Shell
- Homepage: https://nexoscreation.tech/docs
- Size: 7.81 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://www.gnu.org/software/bash/)
[](https://github.com/nexoslabs/vpn-toolkit)
[](https://github.com/nexoslabs/vpn-toolkit)
[](LICENSE)
# VPN Toolkit 🛡️
> A simple, lightweight, zero-dependency **VPN management toolkit** for Linux (Fedora, Ubuntu, Arch), supporting **OpenVPN** and **WireGuard**.
Easily manage VPN profiles, connect/disconnect, and add/remove configs — all from the command line.
---
## 🌟 Features
- 📋 List available VPN profiles (`myvpn list`)
- 📡 Show active VPN connections (`myvpn status`)
- 🔑 Connect to OpenVPN or WireGuard (`myvpn connect `)
- 🔒 Disconnect VPN (`myvpn disconnect `)
- ➕ Add new VPN configurations (`myvpn add openvpn ` / `myvpn add wireguard `)
- 🗑 Remove VPN configurations safely (`myvpn remove `)
- ❓ Zero extra dependencies (uses only Bash, OpenVPN, WireGuard, systemctl)
---
## 🚀 Installation
Run a single command to install the toolkit:
```bash
curl -s https://raw.githubusercontent.com/nexoslabs/vpn-toolkit/main/install.sh | sudo bash
```
This will:
1. Install **OpenVPN** and **WireGuard** if missing.
2. Download `myvpn.sh` into `/usr/local/bin/myvpn`.
3. Make it executable.
> No other dependencies are required.
---
## 🛠 Usage
```bash
# List available VPN profiles
myvpn list
# Show active VPN connections
myvpn status
# Connect to a VPN
myvpn connect
# Disconnect a VPN
myvpn disconnect
# Add a new OpenVPN configuration
myvpn add openvpn ~/Downloads/myvpn.ovpn
# Add a new WireGuard configuration
myvpn add wireguard ~/Downloads/home.conf
# Remove a VPN configuration
myvpn remove
```
### Example:
```bash
myvpn add openvpn ~/Downloads/work.ovpn
myvpn connect work
myvpn status
myvpn disconnect work
myvpn remove work
```
---
## 🤝 Contributing
We ❤️ contributions! Follow these steps to contribute:
1. 🍴 **Fork** the repository
2. 🌿 **Create** a new branch (`git checkout -b feature/AmazingFeature`)
3. 💾 **Commit** your changes (`git commit -m 'Add some AmazingFeature'`)
4. 🚀 **Push** to the branch (`git push origin feature/AmazingFeature`)
5. 🔃 **Open a Pull Request**
📖 _See our [Contribution Guidelines](CONTRIBUTING.md) for more details._
---
## 📄 License
This project is licensed under the **MIT License**. See the [LICENSE](LICENSE) file for details.
---
## 📬 Contact & Community
💬 Join us on **Discord**: [Click Here](https://discord.gg/H7pVc9aUK2)
🐦 **Follow on Twitter**: [@nexoslabs](https://twitter.com/nexoslabs)
📧 **Email**: [contact@nexoscreation.tech](mailto:contact@nexoscreation.tech)
Made with ❤️ by the @nexoslabs Team
## Notes
* OpenVPN configs should be placed in `/etc/openvpn/client/` and WireGuard configs in `/etc/wireguard/`.
* The toolkit relies on system-provided `wg-quick` and `openvpn-client@.service` for starting/stopping connections.
* Always run `myvpn connect ` with sudo if required by system services.
---
> Built with ❤️ for Linux users who want a **simple, fast VPN CLI manager**.