From 296fc869a587437a0df404361b25957961d47211 Mon Sep 17 00:00:00 2001 From: shirakun Date: Wed, 21 Mar 2018 15:02:45 +0900 Subject: [PATCH] Signed-off-by: shirakun --- .docker/build | 38 ------------------------ .docker/env | 11 ------- .docker/run | 9 ------ Dockerfile | 56 ++++++++++++----------------------- Dockerfile.bak | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 99 insertions(+), 95 deletions(-) delete mode 100644 .docker/build delete mode 100644 .docker/env delete mode 100644 .docker/run create mode 100644 Dockerfile.bak diff --git a/.docker/build b/.docker/build deleted file mode 100644 index e2f9d94..0000000 --- a/.docker/build +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash - -build_ss_libev(){ - SS_DIR = $BUILD_DIR/shadowsocks-libev - set -ex && \ - apk add --no-cache --virtual .build-deps git autoconf automake libtool build-base libev-dev linux-headers libsodium-dev mbedtls-dev pcre-dev c-ares-dev - git clone https://github.com/shadowsocks/shadowsocks-libev $SS_DIR - cd $SS_DIR - ./autogen.sh - ./configure --prefix=/usr --disable-documentation - make install - - runDeps="$( \ - scanelf --needed --nobanner /usr/bin/ss-* \ - | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' \ - | xargs -r apk info --installed \ - | sort -u \ - )" - apk add --no-cache --virtual .run-deps rng-tools $runDeps - apk del .build-deps - rm -rf $SS_DIR/* -} - -build_obfs(){ - OBFS_DIR = $BUILD_DIR/simple-obfs - apk add gcc autoconf make libtool automake zlib-devel openssl asciidoc xmlto libpcre32 libev-dev g++ linux-headers - git clone https://github.com/shadowsocks/simple-obfs.git $OBFS_DIR - cd $OBFS_DIR - git submodule update --init --recursive - ./autogen.sh && ./configure - make && make install -} -mkdir $ASSETS_DIR/.build_dir -BUILD_DIR = $ASSETS_DIR/.build_dir -apk update -build_ss_libev -build_obfs -rm -rf $BUILD_DIR/* diff --git a/.docker/env b/.docker/env deleted file mode 100644 index 917bdb6..0000000 --- a/.docker/env +++ /dev/null @@ -1,11 +0,0 @@ -BIND_IP = 0.0.0.0 -BIND_PORT = 8981 -ENCRYPT_METHOD = aes-256-cfb -PASSWD = 123456 -DNS_1 = 8.8.8.8 -DNS_2 = 8.8.4.4 -TIMEOUT = 300 -FAST_OPEN = false -OBFS = true -OBFS_METHOD = tls - diff --git a/.docker/run b/.docker/run deleted file mode 100644 index 15d4a9d..0000000 --- a/.docker/run +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -exec ss-libev -if [ $OBFS -eq true ] - then - exec ss-server -s $BIND_IP -p $BIND_PORT -k $PASSWD -m $ENCRYPT_METHOD -t TIMEOUT -d $DNS_1 -d $DNS_2 -u --plugin obfs-server --plugin-opts "obfs=$OBFS_METHOD" -else - exec ss-server -s $BIND_IP -p $BIND_PORT -k $PASSWD -m $ENCRYPT_METHOD -t TIMEOUT -d $DNS_1 -d $DNS_2 -u -fi \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 6f491a3..26045b0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,20 +3,16 @@ # FROM alpine -LABEL maintainer="Kaugrazaka Shira " +LABEL maintainer="kev , Sah " -ENV BIND_ADDR 0.0.0.0 -ENV BIND_PORT 8981 -ENV PASSWORD 123456 -ENV METHOD aes-256-cfb -ENV TIMEOUT 300 -ENV DNS_1 8.8.8.8 -ENV DNS_2 8.8.4.4 +ENV SERVER_ADDR 0.0.0.0 +ENV PASSWORD= +ENV METHOD aes-256-cfb +ENV TIMEOUT 300 +ENV DNS_ADDR 8.8.8.8 +ENV DNS_ADDR_2 8.8.4.4 ENV ARGS= -ENV OBFS tls -ENV SS_DIR /tmp/shadowsocks-libev -ENV OBFS_DIR /tmp/simple-obfs RUN set -ex && \ apk add --no-cache --virtual .build-deps \ @@ -30,17 +26,10 @@ RUN set -ex && \ libsodium-dev \ mbedtls-dev \ pcre-dev \ - c-ares-dev \ - gcc \ - make \ - zlib-devel \ - openssl \ - asciidoc \ - xmlto \ - libpcre32 \ - g++ && \ - git clone https://github.com/shadowsocks/shadowsocks-libev $SS_DIR && \ - cd $SS_DIR && \ + c-ares-dev && \ + git clone https://github.com/shadowsocks/shadowsocks-libev /tmp/shadowsocks-libev &&\ + + cd /tmp/shadowsocks-libev && \ ./autogen.sh && \ ./configure --prefix=/usr --disable-documentation && \ make install && \ @@ -54,27 +43,20 @@ RUN set -ex && \ apk add --no-cache --virtual .run-deps \ rng-tools \ $runDeps && \ - git clone https://github.com/shadowsocks/simple-obfs $OBFS_DIR && \ - cd $OBFS_DIR && \ - git submodule update --init --recursive && \ - ./autogen.sh && \ - ./configure && make && \ - make install && \ - apk del .build-deps && \ - rm -rf $SS_DIR/* $OBFS_DIR/* + apk del .build-deps && \ + rm -rf /tmp/shadowsocks-libev/* USER nobody EXPOSE 8388/tcp 8388/udp -CMD ss-server -s $BIND_ADDR \ - -p $BIND_PORT \ - -k $PASSWORD \ +CMD ss-server -s $SERVER_ADDR \ + -p 8388 \ + -k ${PASSWORD:-$(hostname)} \ -m $METHOD \ -t $TIMEOUT \ - -d $DNS_1 \ - -d $DNS_2 \ + --fast-open \ + -d $DNS_ADDR \ + -d $DNS_ADDR_2 \ -u \ - --plugin obfs-server \ - --plugin-opts "obfs=$OBFS" \ $ARGS \ No newline at end of file diff --git a/Dockerfile.bak b/Dockerfile.bak new file mode 100644 index 0000000..6f491a3 --- /dev/null +++ b/Dockerfile.bak @@ -0,0 +1,80 @@ +# +# Dockerfile for shadowsocks-libev +# + +FROM alpine +LABEL maintainer="Kaugrazaka Shira " + +ENV BIND_ADDR 0.0.0.0 +ENV BIND_PORT 8981 +ENV PASSWORD 123456 +ENV METHOD aes-256-cfb +ENV TIMEOUT 300 +ENV DNS_1 8.8.8.8 +ENV DNS_2 8.8.4.4 +ENV ARGS= +ENV OBFS tls + +ENV SS_DIR /tmp/shadowsocks-libev +ENV OBFS_DIR /tmp/simple-obfs + +RUN set -ex && \ + apk add --no-cache --virtual .build-deps \ + git \ + autoconf \ + automake \ + libtool \ + build-base \ + libev-dev \ + linux-headers \ + libsodium-dev \ + mbedtls-dev \ + pcre-dev \ + c-ares-dev \ + gcc \ + make \ + zlib-devel \ + openssl \ + asciidoc \ + xmlto \ + libpcre32 \ + g++ && \ + git clone https://github.com/shadowsocks/shadowsocks-libev $SS_DIR && \ + cd $SS_DIR && \ + ./autogen.sh && \ + ./configure --prefix=/usr --disable-documentation && \ + make install && \ + + runDeps="$( \ + scanelf --needed --nobanner /usr/bin/ss-* \ + | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' \ + | xargs -r apk info --installed \ + | sort -u \ + )" && \ + apk add --no-cache --virtual .run-deps \ + rng-tools \ + $runDeps && \ + git clone https://github.com/shadowsocks/simple-obfs $OBFS_DIR && \ + cd $OBFS_DIR && \ + git submodule update --init --recursive && \ + ./autogen.sh && \ + ./configure && make && \ + make install && \ + apk del .build-deps && \ + rm -rf $SS_DIR/* $OBFS_DIR/* + +USER nobody + +EXPOSE 8388/tcp 8388/udp + +CMD ss-server -s $BIND_ADDR \ + -p $BIND_PORT \ + -k $PASSWORD \ + -m $METHOD \ + -t $TIMEOUT \ + -d $DNS_1 \ + -d $DNS_2 \ + -u \ + --plugin obfs-server \ + --plugin-opts "obfs=$OBFS" \ + $ARGS \ No newline at end of file