diff --git a/docker/shadowsocks-libev/Dockerfile b/docker/shadowsocks-libev/Dockerfile new file mode 100644 index 0000000..8a28a24 --- /dev/null +++ b/docker/shadowsocks-libev/Dockerfile @@ -0,0 +1,19 @@ +# Dockerfile for shadowsocks-libev +# Copyright (C) 2018 Teddysun +# Reference URL: +# https://github.com/shadowsocks/shadowsocks-libev + +FROM debian:stretch +MAINTAINER Teddysun + +RUN set -ex; \ + printf "deb http://deb.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/stretch-backports.list; \ + apt-get update; \ + apt-get -t stretch-backports install -y shadowsocks-libev; \ + rm -rf /var/lib/apt/lists/*; + +VOLUME /etc/shadowsocks-libev + +USER nobody + +CMD [ "/bin/bash", "-c", "/usr/bin/ss-server -c /etc/shadowsocks-libev/config.json" ] diff --git a/docker/shadowsocks-libev/README.md b/docker/shadowsocks-libev/README.md new file mode 100644 index 0000000..89872d4 --- /dev/null +++ b/docker/shadowsocks-libev/README.md @@ -0,0 +1,46 @@ +## Shadowsocks-libev Docker Image by Teddysun + +[shadowsocks-libev][1] is a lightweight secured socks5 proxy for embedded devices and low end boxes. It is a port of [shadowsocks][2] created by @clowwindy maintained by @madeye and @linusyang. + +Docker images are built for quick deployment in various computing cloud providers. For more information on docker and containerization technologies, refer to [official document][3]. + +## Prepare the host + +If you need to install docker by yourself, follow the [official installation guide][4]. + +## Pull the image + +```bash +$ docker pull teddysun/shadowsocks-libev +``` +This pulls the latest release of shadowsocks-libev. +It can be found at [Docker Hub][5]. + +## Start a container + +You **must create a configuration file** `/etc/shadowsocks-libev/config.json` in host at first, and sample: +``` +{ + "server":"0.0.0.0", + "server_port":9000, + "password":"password0", + "timeout":300, + "method":"aes-256-gcm", + "fast_open":true, + "nameserver":"8.8.8.8", + "mode":"tcp_and_udp" +} +``` +This container with sample configuration `/etc/shadowsocks-libev/config.json` +There is an example to start a container that listens on `9000` (both TCP and UDP): +```bash +$ docker run -d -p 9000:9000 -p 9000:9000/udp --name ss-libev -v /etc/shadowsocks-libev:/etc/shadowsocks-libev teddysun/shadowsocks-libev +``` + +**Note**: The port number must be same as configuration. + +[1]: https://github.com/shadowsocks/shadowsocks-libev +[2]: https://shadowsocks.org/en/index.html +[3]: https://docs.docker.com/ +[4]: https://docs.docker.com/install/ +[5]: https://hub.docker.com/r/teddysun/shadowsocks-libev/ \ No newline at end of file diff --git a/docker/shadowsocks-libev/config_sample.json b/docker/shadowsocks-libev/config_sample.json new file mode 100644 index 0000000..d5b0bee --- /dev/null +++ b/docker/shadowsocks-libev/config_sample.json @@ -0,0 +1,10 @@ +{ + "server":"0.0.0.0", + "server_port":9000, + "password":"password0", + "timeout":300, + "method":"aes-256-gcm", + "fast_open":true, + "nameserver":"8.8.8.8", + "mode":"tcp_and_udp" +} \ No newline at end of file