Built on top of sing-box — the same battle-tested core used by major VPN clients. The kernel does the heavy lifting; we make it pleasant to use.
|
|
Download KitsuneSetup.exe from Releases, run, follow the wizard.
Installs per-user into %LocalAppData%\Programs\Kitsune — no admin rights required.
The installer detects your Windows language and offers RU/EN mode.
Download Kitsune-portable.zip, unpack anywhere, run Kitsune.exe. That's it.
No registry writes outside of the Windows Run key (only if you enable autostart yourself).
TUN mode requires admin — the app requests UAC elevation when you first connect in TUN mode. Proxy mode works fine without admin.
- Open the app, switch to Servers.
- Paste a
vless:///vmess:///trojan:///ss://link with Paste from clipboard, or open + Subscription and add your subscription URL. - Pick a server, hit the big connect ring on the Dashboard. Done.
Most Windows VPN clients are either ugly (v2rayN), heavy (Electron-based ~150 MB+),
or locked to a single configuration that's hard to bend. Kitsune trades nothing:
- Native PySide6 + QML — instant startup, real OS integration, no Chromium overhead.
- Same routing engine as the big players — full protocol coverage of sing-box.
- No telemetry. No accounts. No ads. Bring your own server, keep your traffic.
qml/App/ — UI (PySide6 + QtQuick.Controls.Basic)
app.py — Backend (state machine, slots, signals, system glue)
engine.py — sing-box wrapper (config-gen, Core lifecycle, Clash API)
core/ — sing-box binaries + bundled rule-sets
assets/ — icon and tray frames
The Backend is a single QObject with ~50 slots exposed to QML and full thread-safe
signal plumbing. HTTP calls, app scanning, server validation — all run in background
threads; results delivered via queued signals.
Requires Python 3.11+ and PySide6.
git clone https://github.com/Tawreos228/KitsuneVPN
cd KitsuneVPN
python -m pip install PySide6 segno Pillow pyinstaller
python core/fetch_core.py # downloads official sing-box.exe
python app.py # run in dev modeBuild distributable:
python -m PyInstaller kitsune.spec --noconfirm # → dist/Kitsune/
iscc.exe installer.iss # → dist_installer/KitsuneSetup.exeThe .spec aggressively excludes unused Qt modules (drops ~260 MB from the bundle,
notably Qt6WebEngineCore.dll).
Being honest about scope:
- Windows only. No macOS/Linux/mobile builds. The engine is cross-platform but the UAC, system proxy, and firewall integration is Windows-specific.
- No built-in server store. Bring your own VLESS/VMess/etc. servers.
- Some exotic protocols (mieru, juicity, AmneziaWG with custom obfuscation) need more work on the UI side and aren't exposed yet.
- The exe is not code-signed. Windows SmartScreen will warn on first run — click "More info → Run anyway". A signed release is on the roadmap.
This is an actively developing project — expect rough edges. All feedback is welcome:
- 🐞 Something broken? — open a bug report. Include your Windows version, what you did, what happened, and what you expected.
- 🤔 Something behaves weirdly? — tell us. Even if it's "this dialog felt awkward", that's useful. UX papercuts are real bugs.
- 💡 Want a feature? — request it. Protocol you'd like supported, workflow that's missing, integration ideas — all on the table.
- 🌍 Translation help — the i18n dictionary lives in
qml/App/T.qml. Adding a new language is straightforward (one new entry in thedictobject). - 🔧 Pull requests are welcome. For non-trivial changes, please open an issue first so we can agree on the direction before you spend time.
If your VPN setup is unusual (atypical subscription format, custom protocol, exotic routing scenario), we'd especially love to hear about it — that's how the exotic-protocols list shortens.
MIT. Use it, fork it, ship it. The sing-box engine carries its own license — see its repo.
One more thing…
There's a hidden theme. Try tapping the fox in the sidebar five times. 🦊
