A turnkey solution for providing whole-system VPN access on Windows via SSH tunnel. No good alternative exists for SSH-based system-wide VPN on Windows.
For End Users:
- See
README.txt(orREADME_IR.txtfor Persian,README_RU.txtfor Russian) - Run
RUN-ME-Connect-VPN.batas Administrator
For Setup/Deployment:
- See
SETUP.mdfor complete configuration instructions - Generate required sensitive files (not included in repo)
- Creates SSH tunnel to remote server
- Forwards local port to remote OpenVPN server
- Connects OpenVPN client through the tunnel
- Routes all system traffic through VPN
Windows Client
↓ (OpenVPN client)
Local Port 11940
↓ (SSH tunnel)
Remote SSH Server (port 22/custom)
↓
Remote OpenVPN Server (port 1194)
↓
Internet
- No turnkey SSH-based whole-system VPN solution exists for Windows
- Useful for restrictive network environments
- Provides double-layer security (SSH + OpenVPN)
- User-friendly for non-technical users
- ✅ Machine-specific file encryption
- ✅ Automatic cleanup on failure
- ✅ Multi-language documentation
- ✅ Administrator privilege checking
- ✅ Comprehensive error handling
| File | Purpose |
|---|---|
SETUP.md |
Start here - Complete setup & configuration guide |
README.txt |
End-user documentation (English) |
README_IR.txt |
End-user documentation (Persian/Farsi) |
README_RU.txt |
End-user documentation (Russian) |
RUN-ME-Connect-VPN.bat |
Entry point - run as Administrator |
backend/vpn-backend.ps1 |
Main connection logic |
backend/encryption-utils.ps1 |
File encryption system |
backend/*.example |
Templates for sensitive files |
These must be created - see SETUP.md:
backend/openvpn-key- SSH private keybackend/client.ovpn- OpenVPN configuration with certificates
- Sensitive files are excluded via
.gitignore - Encryption system uses machine-specific hardware identifiers
- Encrypted files won't work if moved to different computers
Created for personal/organizational use. Adapt as needed.
Use Case: Providing VPN access in restrictive environments