mirror of
https://github.com/amnezia-vpn/amneziawg-go.git
synced 2026-10-13 21:34:25 +00:00
[GH-ISSUE #37] How do i use this? #12
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
amnezia-vpn/amneziawg-go#12
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @lands39 on GitHub (Aug 22, 2024).
Original GitHub issue: https://github.com/amnezia-vpn/amneziawg-go/issues/37
Hi! i run a VPN server for myself and for a friend based in russia. Due to russian censorship clamping down hard on VPNs, my VPN no longer reliably works for him. How would he go about setting this up? neither of us can figure out where the resulting DLL should go because the wireguard installation folder doesn't have any DLLs, only the exe for the wireguard client.
@zimbabwe303 commented on GitHub (Aug 25, 2024):
You don't need to mess with the dll, it's for creating your own WireGuard client programs. Your friend should download this instead: https://github.com/amnezia-vpn/amnezia-client
@lands39 commented on GitHub (Aug 25, 2024):
he wants to use this on windows, not on his phone
@zimbabwe303 commented on GitHub (Aug 26, 2024):
There is a version for every OS out there, including Windows. Here is the direct link: https://github.com/amnezia-vpn/amnezia-client/releases/download/4.7.0.0/AmneziaVPN_4.7.0.0_x64.exe
@zimbabwe303 commented on GitHub (Aug 26, 2024):
Once he installed and started the client, he should select the "Файл с настройками подключения" (File with connection settings) option and choose the wg-quick configuration file (wg0.conf) that you make for him. Then he clicks "Connect" and that's basically it.
@zimbabwe303 commented on GitHub (Aug 26, 2024):
And another, probably more appropriate client application specifically for AmneziaWG: https://github.com/amnezia-vpn/amneziawg-windows-client
On the server side you can use the standard WireGuard daemon, on the client side just add the following AmneziaWG-specific options to the [Interface] section of the wg0.conf file:
@flexuz1 commented on GitHub (Aug 30, 2024):
I want to install AWG client on Synology. How do I do that?
@Pr0mises commented on GitHub (Oct 16, 2025):
@zimbabwe303 Sry for replaying in this kinda dead issue and pinging you. What does that mean
Don't I need to use the amnziavpn-go on my vps (server side) where I connect to? Only the client matters?
There is not a lot of information regarding amnezia and what does what. I just want to be prepared for when I travel and don't want to do troubleshooting with my phone
@zimbabwe303 commented on GitHub (Oct 23, 2025):
I am not an expert and did not study the code, so I may be wrong, but I know the general principle behind "spoofing". Only the parameters S1 (Init packet junk size) and S2 (Response packet junk size) are the ones which screw up the original WireGuard servers: they see junk and don't know how much data to skip to find the actual data stream after the handshake. Keep these parameters at 0 and you should be okay to connect to any normal WireGuard server. The censorship boxes usually analyze only the handshakes to prevent slowing down the whole Internet, and it is too resource-intensive to analyze the whole traffic (the so called "active probing"), after all electricity is not completely free even for the governments (though in Russia the ISPs are paying for the censorship boxes and obviously for the consequent electricity bills - how handy).
@Pr0mises commented on GitHub (Oct 23, 2025):
Thanks for your answer!
That means if I set both to 0 the handshake is still detectable and if a GFW blocks the normal wireguard handshake it also blocks the amnezia handshake?
Using amnezia with s1 and s2 == 0 or using plain wireguard has the same result?
@marek22k commented on GitHub (Oct 23, 2025):
Regarding parameters:
I wrote a blog post about AmneziaWG. In it, I explain the parameters, their meaning, and their recommended values.
For compatibility with vanilla WireGuard maybe also take a look at How to convert an existing WireGuard config to Amnezia?.
@zimbabwe303 commented on GitHub (Oct 24, 2025):
Sorry, I was sort of contradicting myself in my answer (I've edited it a bit now): indeed the censorship boxes analyze only the handshakes to save power, so to prevent detection junk must be inserted before the handshake, so the boxes would see only junk instead of the actual handshake, which comes later. The original WireGuard protocol allows for some junk before the actual handshake, the server will simply discard such data, and that's very convenient! The amount of such data is defined by the Jc, Jmin and Jmax parameters. On the other hand S1>0 and S2>0 allow for even deeper obfuscation by inserting more junk into the handshake itself: such type of obfuscation is already a breaking modification of the original WireGuard protocol, so for those parameters to work the server should also have AmneziaWG installed.
Not the same. The handshake will be undetectable as long as you use the AmneziaWG client instead of the original implementation. Just set up the Jc, Jmin and Jmax parameters to some reasonable values. I currently use Jc=100, Jmin=50, Jmax=1500 with AirVPN and it works. Their servers use the original WireGuard implementation while my client is AmneziaWG.
@zimbabwe303 commented on GitHub (Oct 24, 2025):
Thank you. I wonder why these parameters are not documented in README.md and everyone have to scour the Internet to find out their meaning.