Tunnelier is a WireGuard VPN connection manager that imports .conf
files into MongoDB and connects to random VPNs using wg-quick
. It's built for distributed VPN orchestration and automation in modern cloud-native environments.
- 📥 Import WireGuard
.conf
files into MongoDB - 🎯 Connect to a random working VPN via
wg-quick
- 🔁 Retry failed configs until success (with
--retries
) - 🐳 Docker-ready & production-tested
- ⚡ Built with Go and MongoDB
make build
docker build -t tunnelier .
./bin/tunnelier up --mongo-url=mongodb://admin:adminpassword@localhost:27017
docker run --rm -it --network=host --privileged tunnelier up --mongo-url=mongodb://admin:adminpassword@localhost:27017
Flag | Description | Default |
---|---|---|
--mongo-url |
MongoDB connection string | required |
--mongo-db |
MongoDB database name | tunnelier |
--mongo-collection |
MongoDB collection name | configs |
--folder |
Folder path with .conf files |
. (import cmd) |
--retries |
Number of configs to try randomly | 3 |
Command | Description |
---|---|
tunnelier import |
Import WireGuard .conf files |
tunnelier up |
Connect to a random working VPN |
tunnelier down |
Bring down the current VPN |
Start MongoDB locally:
docker compose up -d
Then run tests:
go test ./cmd/tunnelier
To create a versioned release:
git tag v1.0.0
git push origin v1.0.0
The binary will appear under Releases.
This project is licensed under the MIT License.