A high-performance, zero-dependency, point-to-point VPN for Windows. It uses Wintun for virtual networking and hand-rolled ChaCha20-Poly1305 for encrypted UDP encapsulation.
To use DSVPN, you need two Windows computers (a "Client" and a "Server").
- Download
wintun.dll(from Wintun.net) and place it in the same directory asdsvpn.exeon both machines. - Ensure UDP port
51820is open on the Server's firewall (and router, if connecting over the internet).
Both machines must share the exact same 256-bit encryption key. This must be a 64-character hexadecimal string.
Example Key: a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90
This is the machine you are connecting to.
- Open
connect.batin a text editor (Notepad, VS Code, etc.). - Set the configuration as follows:
(Setting
set LOCAL_IP=10.0.0.1 set REMOTE_IP=0.0.0.0 set PORT=51820 set KEY=your_64_character_secret_key_here
REMOTE_IPto0.0.0.0allows the server to accept connections from any incoming IP address). - Save the file and double-click
connect.bat. - Click Yes on the Administrator prompt. A black console window will open saying "VPN tunnel active".
This is the machine you are connecting from.
- Open
connect.batin a text editor. - Set the configuration as follows:
set LOCAL_IP=10.0.0.2 set REMOTE_IP=203.0.113.1 <-- REPLACE WITH SERVER'S PUBLIC IP set PORT=51820 set KEY=your_64_character_secret_key_here <-- EXACT SAME KEY AS SERVER
- Save the file and double-click
connect.bat. - Click Yes on the Administrator prompt.
Once both consoles say "VPN tunnel active", your machines are connected securely!
- From the Client, open a normal command prompt and type:
ping 10.0.0.1 - From the Server, open a normal command prompt and type:
ping 10.0.0.2
All traffic leaving the Client is now encrypted, sent over UDP to the Server, decrypted, and injected into the Server's virtual network interface.
To turn off the VPN and instantly restore your normal internet connection, simply click on the black console window running the VPN and press Ctrl+C. Do not just click the "X" button on the window, as Ctrl+C ensures the routing table is safely restored.