An implementation of Amnezia WireGuard in Go
4.0K
A set of container images of AmneziaWG-Go. Source Code.
The container images are published in the following registries:
AmneziaWG-Go is an implementation of Amnezia WireGuard in Go. It inherits the architectural simplicity and high performance of the original WireGuard implementation, but eliminates the identifiable network signatures that make WireGuard easily detectable by Deep Packet Inspection (DPI) systems.
The container images include the following key software packages:
amneziawg-goawg and awg-quickThe following extra software packages are included as well:
The container images are based on Alpine. The repository uses Golang for multi-stage build and the XX helpers for AMD64-based cross-compilation. Below is a summary of the platforms supported by this repository and its dependencies.
| OS/Arch | Alpine | Golang | XX Helpers | AmneziaWG-Go |
|---|---|---|---|---|
| linux/386 | Yes | Yes | Yes | Yes |
| linux/amd64 | Yes | Yes | Yes | Yes |
| linux/arm/v5 | No | No | Yes | No |
| linux/arm/v6 | Yes | Yes | Yes | Yes |
| linux/arm/v7 | Yes | Yes | Yes | Yes |
| linux/arm64 | Yes | Yes | Yes | Yes |
| linux/loong64 | No | No | Yes | No |
| linux/mips | No | No | Yes | No |
| linux/mips64 | No | No | Yes | No |
| linux/mips64le | No | No | Yes | No |
| linux/mipsle | No | No | Yes | No |
| linux/ppc64le | Yes | Yes | Yes | Yes |
| linux/riscv64 | Yes | Yes | Yes | Yes |
| linux/s390x | Yes | Yes | Yes | Yes |
The entrypoint script (/app/entrypoint.sh) supports four predefined lifecycle hooks:
Hook scripts must be shell scripts (*.sh) and are executed from the following directories by default:
/app/hooks/pre-up/app/hooks/post-up/app/hooks/pre-down/app/hooks/post-downThese directories are created automatically if they do not exist.
The base working directory (/app) can be overridden using the -w or --workdir option of the docker run command.
The intermediate hooks directory can be customized by setting the HOOK_DIR environment variable via the -e or --env option of the docker run command. If HOOK_DIR is not set, it defaults to ./hooks.
The entrypoint supports the following log levels:
fatalerrorwarninfodebugtraceThe default log level is info. The log level can be configured by setting the LOG_LEVEL environment variable.
When LOG_LEVEL is set to fatal, no log messages are expected to be produced, and the container will be almost completely silent.
When LOG_LEVEL is set to trace, the entrypoint outputs additional diagnostic information, including the standard output and exit codes of various subcommands, in addition to its own log messages.
All entrypoint log messages are written to standard output (stdout).
The awg, awg-quick, and amneziawg-go executables are typically verbose. Any output produced by these executables is redirected to per-interface log files located at: ${LOG_DIR}/${INTERFACE}.log. If the LOG_DIR environment variable is not set or is empty, logs are written to the default directory: /var/log/amneziawg.
Content type
Image
Digest
sha256:3fe582283…
Size
11.2 MB
Last updated
about 1 month ago
docker pull vnxme/amneziawg-go