Docker image for Snell - A lean encrypted proxy protocol
3.2K
Docker image for Snell, a lean encrypted proxy protocol.
6.0.0rcdebian:bullseye-slimlinux/amd64linux/arm64latest: latest build from the default branch6.0.0rc: current Snell version build6, 6.0: latest Snell v6 build5, 5.0: latest Snell v5 build, currently 5.0.1Run with a generated password:
docker run -d \
--name snell \
-p 6333:6333/tcp \
-p 6333:6333/udp \
domizhang/snell:latest
Read the generated password from logs:
docker logs snell
Run with a fixed password:
docker run -d \
--name snell \
-p 6333:6333/tcp \
-p 6333:6333/udp \
-e PSK="your-secure-password" \
domizhang/snell:latest
Customize listener, IPv6 compatibility, DNS, DNS IP preference, egress interface, mode, and extra Snell arguments:
docker run -d \
--name snell \
-p 6444:6444/tcp \
-p 6444:6444/udp \
-e SERVER_HOST="0.0.0.0" \
-e SERVER_PORT="6444" \
-e PSK="your-secure-password" \
-e IPV6="true" \
-e DNS="1.1.1.1,8.8.8.8" \
-e DNS_IP_PREFERENCE="prefer-ipv4" \
-e EGRESS_INTERFACE="eth0" \
-e MODE="default" \
domizhang/snell:latest \
-l verbose
services:
snell:
image: domizhang/snell:latest
container_name: snell
restart: unless-stopped
ports:
- "6333:6333/tcp"
- "6333:6333/udp"
environment:
SERVER_HOST: 0.0.0.0
SERVER_PORT: "6333"
PSK: your-secure-password
IPV6: "false"
DNS: 1.1.1.1,8.8.8.8
DNS_IP_PREFERENCE: prefer-ipv4
EGRESS_INTERFACE: eth0
MODE: default
| Variable | Default | Description |
|---|---|---|
SERVER_HOST | 0.0.0.0 | Server listen host |
SERVER_PORT | 6333 | Server listen port for TCP and UDP |
PSK | generated | Pre-shared key. If empty, a random key is generated and printed once at startup. Snell v6 requires 12 to 255 bytes |
IPV6 | false | Deprecated Snell compatibility option. false maps to IPv4-only behavior unless DNS_IP_PREFERENCE is set |
DNS | empty | DNS servers, comma-separated |
DNS_IP_PREFERENCE | empty | Optional Snell v6 dns-ip-preference value: default, prefer-ipv4, prefer-ipv6, ipv4-only, or ipv6-only |
EGRESS_INTERFACE | empty | Optional Snell v6 outbound interface binding |
MODE | empty | Optional Snell v6 mode: default, unshaped, or unsafe-raw. If empty, Snell uses its upstream default |
ARGS | empty | Deprecated compatibility option. Prefer passing extra arguments after the image name |
CONFIG_FILE | /tmp/snell.conf | Generated config file path inside the container |
[Proxy]
Proxy = snell, SERVER_IP, 6333, psk=YOUR_PSK, version=6
PSK in production.PSK is printed to container logs so the client can be configured. Treat logs as sensitive.PSK values are not printed, and the generated config path is logged with the key hidden.docker build \
--build-arg VERSION=6.0.0rc \
-t domizhang/snell:local .
The Snell version is pinned in VERSION and Dockerfile. To update:
VERSION file, ARG VERSION defaults, and the per-architecture SHA256 build arguments.vX.Y.Z to publish versioned tags.This repository only builds a Docker image. Snell is distributed under its upstream license.
Content type
Image
Digest
sha256:9c495bf6e…
Size
32 MB
Last updated
about 2 months ago
docker pull domizhang/snell