diff --git a/shadowsocks/Dockerfile b/shadowsocks/Dockerfile index 7798cd4..a9ee7ea 100644 --- a/shadowsocks/Dockerfile +++ b/shadowsocks/Dockerfile @@ -5,26 +5,27 @@ FROM alpine MAINTAINER kev -RUN apk add --update curl python \ +RUN echo 'http://nl.alpinelinux.org/alpine/edge/main' >> /etc/apk/repositories \ + && apk add -U curl libsodium python \ && curl -sSL https://bootstrap.pypa.io/get-pip.py | python \ && pip install shadowsocks \ - && apk del --purge curl \ + && apk del curl \ && rm -rf /var/cache/apk/* ENV SERVER_ADDR 0.0.0.0 ENV SERVER_PORT 8388 -ENV PASSWORD= ENV METHOD aes-256-cfb +ENV PASSWORD= ENV TIMEOUT 300 ENV WORKERS 10 EXPOSE $SERVER_PORT -CMD ssserver -s $SERVER_ADDR \ - -p $SERVER_PORT \ - -k ${PASSWORD:-$(hostname)} \ - -m $METHOD \ - -t $TIMEOUT \ - --fast-open \ - --workers $WORKERS +CMD ssserver -s "$SERVER_ADDR" \ + -p "$SERVER_PORT" \ + -k "${PASSWORD:-$(hostname)}" \ + -m "$METHOD" \ + -t "$TIMEOUT" \ + --workers "$WORKERS" \ + --fast-open diff --git a/shadowsocks/README.md b/shadowsocks/README.md index 1053f5e..d6f0b98 100644 --- a/shadowsocks/README.md +++ b/shadowsocks/README.md @@ -2,6 +2,8 @@ shadowsocks =========== ![](https://badge.imagelayers.io/vimagick/shadowsocks:latest.svg) +![](https://badge.imagelayers.io/vimagick/shadowsocks-libev:latest.svg) +![](https://badge.imagelayers.io/vimagick/shadowsocks-arm:latest.svg) [`shadowsocks`][1] is a secure socks5 proxy, designed to protect your Internet traffic. @@ -12,11 +14,22 @@ designed to protect your Internet traffic. ## docker-compose.yml ``` -shadowsocks: - image: vimagick/shadowsocks +server: + image: vimagick/shadowsocks-libev ports: - "8388:8388" environment: + - METHOD=chacha20 + - PASSWORD=secret + restart: always + +client: + image: vimagick/shadowsocks + ports: + - "1080:1080" + environment: + - SERVER_ADDR=foobar.site + - METHOD=chacha20 - PASSWORD=secret restart: always ``` @@ -24,13 +37,13 @@ shadowsocks: ## server ``` -$ docker-compose up -d +$ docker-compose up -d server ``` ## client ``` -$ sslocal -c config.json +$ docker-compose up -d client ``` [read more][2] diff --git a/shadowsocks/arm/Dockerfile b/shadowsocks/arm/Dockerfile new file mode 100644 index 0000000..113935f --- /dev/null +++ b/shadowsocks/arm/Dockerfile @@ -0,0 +1,32 @@ +# +# Dockerfile for shadowsocks-arm +# + +FROM hypriot/rpi-alpine-scratch +MAINTAINER kev + +RUN echo 'http://nl.alpinelinux.org/alpine/edge/main' >> /etc/apk/repositories \ + && apk add -U curl libsodium python \ + && curl -sSL https://bootstrap.pypa.io/get-pip.py | python \ + && pip install shadowsocks \ + && apk del curl \ + && rm -rf /var/cache/apk/* + +ENV SERVER_ADDR= +ENV SERVER_PORT 8388 +ENV METHOD aes-256-cfb +ENV PASSWORD= +ENV LOCAL_ADDR 0.0.0.0 +ENV LOCAL_PORT 1080 +ENV TIMEOUT 300 + +EXPOSE $LOCAL_PORT + +CMD sslocal -s "$SERVER_ADDR" \ + -p "$SERVER_PORT" \ + -m "$METHOD" \ + -k "$PASSWORD" \ + -b "$LOCAL_ADDR" \ + -l "$LOCAL_PORT" \ + -t "$TIMEOUT" \ + --fast-open diff --git a/shadowsocks/arm/docker-compose.yml b/shadowsocks/arm/docker-compose.yml new file mode 100644 index 0000000..429ada4 --- /dev/null +++ b/shadowsocks/arm/docker-compose.yml @@ -0,0 +1,9 @@ +shadowsocks: + image: vimagick/shadowsocks-arm + ports: + - "1080:1080" + environment: + - SERVER_ADDR=datageek.info + - METHOD=chacha20 + - PASSWORD=9MLSpPmNt + restart: always diff --git a/shadowsocks/libev/docker-compose.yml b/shadowsocks/libev/docker-compose.yml index aa052da..9e77113 100644 --- a/shadowsocks/libev/docker-compose.yml +++ b/shadowsocks/libev/docker-compose.yml @@ -3,5 +3,6 @@ shadowsocks: ports: - "8388:8388" environment: + - METHOD=chacha20 - PASSWORD=9MLSpPmNt restart: always