tun2socks Docker & Self-Hosted Deployment

GitHub

Tun2socks - powered by gVisor TCP/IP stack

5,184 stars Go Go 1 file ยท ~7,645 tokens #go#golang#gvisor#http-proxy#nat#proxifier#proxy#shadowsocks
1. Pull Image (DOCKERHUB) docker pull xjasonlyu/tun2socks:latest
2. Docker Run (1-Click Launch) docker run -d --name tun2socks --restart always xjasonlyu/tun2socks:latest
3. Podman Run podman run -d --name tun2socks --restart always xjasonlyu/tun2socks:latest
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/xjasonlyu/tun2socks:latest
5. ORAS Pull (OCI Artifact) oras pull xjasonlyu/tun2socks:latest
Dockerfile
FROM golang:alpine AS builder

WORKDIR /src
COPY . /src

RUN apk add --update --no-cache make git \
    && make tun2socks

FROM alpine:latest
LABEL org.opencontainers.image.source="https://github.com/xjasonlyu/tun2socks"

COPY docker/entrypoint.sh /entrypoint.sh
COPY --from=builder /src/build/tun2socks /usr/bin/tun2socks

RUN apk add --update --no-cache iptables iproute2 tzdata \
    && chmod +x /entrypoint.sh

ENV TUN=tun0
ENV ADDR=198.18.0.1/15
ENV LOGLEVEL=info
ENV PROXY=direct://
ENV MTU=9000
ENV RESTAPI=
ENV UDP_TIMEOUT=
ENV TCP_SNDBUF=
ENV TCP_RCVBUF=
ENV TCP_AUTO_TUNING=
ENV MULTICAST_GROUPS=
ENV EXTRA_COMMANDS=
ENV TUN_INCLUDED_ROUTES=
ENV TUN_EXCLUDED_ROUTES=

ENTRYPOINT ["/entrypoint.sh"]