Euphoria VPN protocol
  • Go 95.8%
  • Shell 3.8%
  • Makefile 0.2%
  • Dockerfile 0.2%
Find a file
2025-02-27 14:20:44 +01:00
.github/workflows GH Actions: change env APP to euphoria 2025-02-24 03:19:25 +07:00
conn update modules 2025-02-24 06:42:57 +01:00
device Solve race condition and reinit bug 2025-02-27 14:15:26 +01:00
ipc Solve race condition and reinit bug 2025-02-27 14:15:26 +01:00
ratelimiter global: bump copyright year 2023-02-07 20:39:29 -03:00
replay global: bump copyright year 2023-02-07 20:39:29 -03:00
rwcancel all: adjust build tags for wasip1/wasm 2023-07-04 15:54:42 +02:00
tai64n global: bump copyright year 2023-02-07 20:39:29 -03:00
tests device: combine debug and info log levels into 'verbose' 2021-01-26 23:05:48 +01:00
tun update modules 2025-02-24 06:42:57 +01:00
.gitignore Solve race condition and reinit bug 2025-02-27 14:15:26 +01:00
Dockerfile Solve race condition and reinit bug 2025-02-27 14:15:26 +01:00
format_test.go global: bump copyright year 2023-02-07 20:39:29 -03:00
go.mod change module name in go.mod 2025-02-24 03:34:31 +07:00
go.sum update modules 2025-02-24 06:42:57 +01:00
LICENSE mod: rename COPYING to LICENSE 2021-03-06 09:09:21 -07:00
main.go update modules 2025-02-24 06:42:57 +01:00
main_windows.go update modules 2025-02-24 06:42:57 +01:00
Makefile Solve race condition and reinit bug 2025-02-27 14:15:26 +01:00
README.md Solve race condition and reinit bug 2025-02-27 14:15:26 +01:00
version.go update modules 2025-02-24 06:42:57 +01:00

Go Implementation of Euphoria

AmneziaWG is a contemporary version of the WireGuard protocol. It's a fork of WireGuard-Go and offers protection against detection by Deep Packet Inspection (DPI) systems. At the same time, it retains the simplified architecture and high performance of the original.

The precursor, WireGuard, is known for its efficiency but had issues with detection due to its distinctive packet signatures. AmneziaWG addresses this problem by employing advanced obfuscation methods, allowing its traffic to blend seamlessly with regular internet traffic. As a result, AmneziaWG maintains high performance while adding an extra layer of stealth, making it a superb choice for those seeking a fast and discreet VPN connection.

Usage

Simply run:

$ amneziawg-go wg1

This will create an interface and fork into the background. To remove the interface, use the usual ip link del wg0, or if your system does not support removing interfaces directly, you may instead remove the control socket via rm -f /var/run/amneziawg-go/wg0.sock, which will result in euphoria shutting down.

To run euphoria without forking to the background, pass -f or --foreground:

$ amneziawg-go -f wg0

When an interface is running, you may use euphoria-tools to configure it, as well as the usual ip(8) and ifconfig(8) commands.

To run with more logging you may set the environment variable LOG_LEVEL=debug.

Platforms

Linux

This will run on Linux; you should run amnezia-wg instead of using default linux kernel module.

Windows

This runs on Windows, you should use it from euphoria-windows, which uses this as a module.

Building

This requires an installation of the latest version of Go.

$ git clone https://github.com/amnezia-vpn/euphoria
$ cd euphoria
$ make