Developed by SPYDIRBYTE
Free personal WireGuard access. One click, no accounts.
Open the app, hit "Generate my config," get a private WireGuard config registered on Cloudflare's free WARP network. Watch it happen, an animated tunnel visual walks through generating the keypair, registering with Cloudflare, and building the file, then save it, copy it, or scan the QR code straight into the WireGuard app on your phone. No terminal, no command line, no accounts.
A few things worth knowing about:
- QR code: every generated config shows up as a scannable QR code, open the WireGuard app on your phone and scan it directly instead of transferring a file
- History: past configs are kept locally (under
~/.spydirvpn/) so you can come back and re-download or re-copy one without generating a fresh identity every time - Better defaults in the config itself: dual DNS resolvers (1.1.1.1 and 1.0.0.1), an MTU tuned to avoid fragmentation issues over WARP, and a keepalive interval so the tunnel holds up better behind NAT and on mobile networks
Grab the app for your OS from the latest release, no Python needed, it's a single file:
- Windows:
spydirvpn-windows.exe, just double-click it - macOS:
spydirvpn-macos, may needchmod +x spydirvpn-macosfirst - Linux:
spydirvpn-linux, same,chmod +x spydirvpn-linux
Needs Python 3.10 or newer.
git clone https://github.com/spydirbyte/spydirvpn.git
cd spydirvpn/spydirvpn
pip install -r requirements.txt
python app.pyNot gonna dress this up. SpydirVPN doesn't run its own VPN backend, it
automates the same registration flow that the open source wgcf
project and Cloudflare's own 1.1.1.1 app use under the hood. Generate a
keypair, register the public half with Cloudflare, hand you back a
working config, all locally on your machine.
Your traffic ends up encrypted to Cloudflare's edge, same as if you'd installed their app yourself.
One thing to know: that registration endpoint isn't something Cloudflare officially documents or supports for this kind of use. It's worked reliably so far, but they could change it or start rejecting requests without warning. If generation fails, the app shows you and lets you try again.
Once you've got your .conf file, grab the official WireGuard app for
your platform (Windows, macOS, Linux, iOS, Android all have one),
import the file, connect.
cd spydirvpn
pip install -r requirements.txt pyinstaller
pyinstaller spydirvpn.specThe built app lands in spydirvpn/dist/.
Push a tag starting with v and .github/workflows/release.yml builds
Windows, macOS, and Linux executables and attaches them to a GitHub
Release automatically.
git tag v1.0.0
git push origin v1.0.0.
├── spydirvpn/
│ ├── app.py # the GUI itself, CustomTkinter
│ ├── crypto_utils.py # X25519 keypair generation
│ ├── warp_client.py # Cloudflare WARP registration + config building
│ ├── tunnel_canvas.py # the animated tunnel visual
│ ├── history.py # local history of generated configs
│ ├── spydirvpn.spec # PyInstaller build config
│ ├── requirements.txt
│ └── assets/ # app icon
├── .github/workflows/release.yml
└── assets/banner.png
Past configs, including their private keys, are stored unencrypted in
~/.spydirvpn/history.json so you can come back to them later. Treat
that folder the way you'd treat a password manager's file, don't share
it, don't sync it to somewhere public. Delete entries from the History
screen in the app if you don't want them kept around.
- This gets you Cloudflare's free WARP tier, not WARP+, not custom routing, not paid throughput
- Cloudflare's terms of service still apply to the WARP network itself, this project doesn't change that
- Treat your generated config like a password. Anyone who has it can use your tunnel
MIT
