Skip to content

Instantly share code, notes, and snippets.

@aa65535
Last active April 7, 2024 13:03
Show Gist options
  • Save aa65535/ea090063496b0d3a1748 to your computer and use it in GitHub Desktop.
Save aa65535/ea090063496b0d3a1748 to your computer and use it in GitHub Desktop.
shadowsocks-libev install at Debian or CentOS

Debian

cd /tmp
# 编译环境准备&安装依赖包
apt-get install --no-install-recommends build-essential autoconf libtool libssl-dev libpcre3-dev asciidoc xmlto git
# 克隆源码
git clone --recursive https://github.com/shadowsocks/shadowsocks-libev.git
# 开始编译
cd shadowsocks-libev
./autogen.sh
./configure --prefix=/usr && make
make install
# 准备必须的文件
mkdir -p /etc/shadowsocks-libev
cp ./debian/shadowsocks-libev.init /etc/init.d/shadowsocks-libev
cp ./debian/shadowsocks-libev.default /etc/default/shadowsocks-libev
cp ./debian/config.json /etc/shadowsocks-libev/config.json
chmod +x /etc/init.d/shadowsocks-libev
# 编辑配置文件
vim /etc/shadowsocks-libev/config.json
# 添加开机自启动服务
update-rc.d shadowsocks-libev defaults
# 启动服务
service shadowsocks-libev start

CentOS

cd /tmp
# 编译环境准备&安装依赖包
yum install -y gcc make libtool build-essential git
yum install -y yum install gettext gcc autoconf libtool automake make asciidoc xmlto c-ares-devel libev-devel
# 克隆源码
git clone --recursive https://github.com/shadowsocks/shadowsocks-libev.git
# 开始编译
cd shadowsocks-libev
./autogen.sh
./configure --prefix=/usr && make
make install
# 准备必须的文件
mkdir -p /etc/shadowsocks-libev
cp ./rpm/SOURCES/etc/init.d/shadowsocks-libev /etc/init.d/shadowsocks-libev
cp ./debian/config.json /etc/shadowsocks-libev/config.json
chmod +x /etc/init.d/shadowsocks-libev
# 编辑配置文件
vim /etc/shadowsocks-libev/config.json
# 添加开机自启动服务
chkconfig --add shadowsocks-libev
chkconfig shadowsocks-libev on
# 启动服务
service shadowsocks-libev start
#!/bin/sh
yum install -y wget gettext autoconf libtool automake make asciidoc xmlto zlib-devel libev-devel c-ares-devel pcre-devel
mkdir -p ~/shadowsocks-src && cd ~/shadowsocks-src || exit 1
rm -rf libsodium-* mbedtls-* simple-obfs shadowsocks-libev
wget -O libsodium-stable.tar.gz https://download.libsodium.org/libsodium/releases/LATEST.tar.gz
tar xzf libsodium-stable.tar.gz
pushd libsodium-stable/
./configure --prefix=/usr && make || exit 1
make install
popd
ldconfig
export MBEDTLS_VER=2.13.0
wget https://tls.mbed.org/download/mbedtls-$MBEDTLS_VER-gpl.tgz
tar xzf mbedtls-$MBEDTLS_VER-gpl.tgz
pushd mbedtls-$MBEDTLS_VER
make SHARED=1 CFLAGS=-fPIC || exit 1
make DESTDIR=/usr install
popd
ldconfig
git clone --recursive https://github.com/shadowsocks/simple-obfs.git
pushd simple-obfs
./autogen.sh
./configure --prefix=/usr && make || exit 1
make install
popd
git clone --recursive https://github.com/shadowsocks/shadowsocks-libev.git
pushd shadowsocks-libev
./autogen.sh
./configure --prefix=/usr && make || exit 1
make install
cp ./debian/shadowsocks-libev.default /etc/default/shadowsocks-libev || exit 1
. /etc/default/shadowsocks-libev
mkdir -p $(dirname $CONFFILE) || exit 1
# 此处配置根据需要修改
cat <<-EOF >$CONFFILE
{
"server": "0.0.0.0",
"server_port": 8388,
"password": "barfoo!",
"method": "chacha20-ietf-poly1305",
"plugin": "obfs-server",
"plugin_opts": "obfs=tls",
"mode": "tcp_and_udp"
}
EOF
grep -v '=no' ./debian/shadowsocks-libev.service >/etc/systemd/system/shadowsocks-libev.service || exit 1
popd
systemctl --system daemon-reload
systemctl enable shadowsocks-libev
systemctl start shadowsocks-libev
@on195594
Copy link

如何设置开机自启动?

@FreeLinuxUser
Copy link

chkconfig --add shadowsocks-libev
chkconfig shadowsocks-libev on

@bologone
Copy link

bologone commented Jan 12, 2017

Hi 各位好,

我按照上面CentOS的方法在CentOS7上安装了。显示服务已经在运行,可是客户端连不上。
这个状态显示信息:

[root@ouboservice2linux init.d]# systemctl status shadowsocks-libev -l
shadowsocks-libev.service - SYSV: lightweight secured socks5 proxy
Loaded: loaded (/etc/rc.d/init.d/shadowsocks-libev; bad; vendor preset: disabled)
Active: active (running) since Tue 2017-01-10 11:56:20 CET; 2 days ago
Docs: man:systemd-sysv-generator(8)
Process: 1308 ExecStart=/etc/rc.d/init.d/shadowsocks-libev start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/shadowsocks-libev.service
/usr/bin/ss-server -u -c /etc/shadowsocks-libev/config.json -f /var/run/shadowsocks-server/pid

Jan 10 11:56:20 ouboservice2linux systemd[1]: Starting SYSV: lightweight secured socks5 proxy...
Jan 10 11:56:20 ouboservice2linux /usr/bin/ss-server[1927]: UDP relay enabled
Jan 10 11:56:20 ouboservice2linux /usr/bin/ss-server[1927]: initializing ciphers... aes-256-cfb
Jan 10 11:56:20 ouboservice2linux /usr/bin/ss-server[1927]: tcp port reuse enabled
Jan 10 11:56:20 ouboservice2linux shadowsocks-libev[1308]: [46B blob data]
Jan 10 11:56:20 ouboservice2linux /usr/bin/ss-server[1927]: udp port reuse enabled
Jan 10 11:56:20 ouboservice2linux /usr/bin/ss-server[1927]: listening at 127.0.0.1:8388
Jan 10 11:56:20 ouboservice2linux /usr/bin/ss-server[1927]: running from root user
Jan 10 11:56:20 ouboservice2linux systemd[1]: Started SYSV: lightweight secured socks5 proxy.

请问哪里出错了?

多谢!

@yfhust
Copy link

yfhust commented Feb 17, 2017

你去掉-u看看,udp协议好像干扰较大

@cheeslou
Copy link

楼主楼主

cd shadowsocks-libev
我在进入这个目录后;
运行: ./configure --prefix=/usr && make
直接就提示没有这个 路径;

请求帮助!

@tianjianchn
Copy link

@cheeslou 如果你是在 CentOS7 上装的话,可以参考这个:install-shadowsocks.sh

@holyen
Copy link

holyen commented Apr 1, 2017

centos 上
./configure --prefix=/usr && make 这个报错了
-bash: ./configure: 没有那个文件或目录
@tianjianchn

@eldenchang
Copy link

eldenchang commented Apr 19, 2017

@holyen 另一个老的branch的版本里面有configure, 这个当前版本可以参考这个wiki: shadowsocks-libev

@acala127
Copy link

@bologone check your /etc/shadowsocks-libev/config.json, change "127.0.0.1" to your server IP.

@xuexiaoao
Copy link

这个是客户端还是服务端的ssr呢,有点搞不清楚

@HarrisonXi
Copy link

@xuexiaoao 这是纯C实现的服务端,应该是最轻量的

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment