低配 Ubuntu vps 中 Shadowsocks-libev 安装

Linux VPS 支持
maxchen
帖子: 77
注册时间: 2009-12-05 20:03
送出感谢: 0
接收感谢: 6 次

低配 Ubuntu vps 中 Shadowsocks-libev 安装

#1

帖子 maxchen » 2014-12-04 9:33

2016-01-04更新,参见34楼的更新

2016-02-11更新,3.0.1 版本编译和 deb 文件,参见41楼的更新

这里讨论一台只有64M内存的 Ubuntu 14.04 vps 安装 Shadowsocks-libev,以进一步 减少资源占用 (相对于主发行版本Shadowsocks, Shadowsocks-libev 是C语言的移植版本,而且是全功能的)


如果已经安装了主发行版本的 shadowsocks,可以卸载(也可以保留继续用)

代码: 全选

sudo pip uninstall shadowsocks			卸载 shadowsocks
安装 https://code.launchpad.net/~hzwhuang/+a ... u/ss-libev 提供的 Shadowsocks-libev. 由于 vps 是简化的,没有 add-apt-repository 命令,如下的方式加载不了 ppa:hzwhuang/ss-libev

代码: 全选

add-apt-repository ppa:hzwhuang/ss-libev
手工来完成

代码: 全选

nano /etc/apt/sources.list
添加如下行

代码: 全选

deb http://ppa.launchpad.net/hzwhuang/ss-libev/ubuntu trusty main 
通过

代码: 全选

apt-get update
得到错误信息,最后一行包含了 keyid

代码: 全选

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6DA746A05F00FA99
apt-get update
apt-get install shadowsocks-libev
添加key,成功安装
测试 运行,shadowsocks.json 的配置,请参考 https://github.com/clowwindy/shadowsocks

代码: 全选

ss-server -c /etc/shadowsocks.json
看到如下信息,表明成功

代码: 全选

2014-12-03 19:46:02 INFO: initialize ciphers... aes-256-cfb
 2014-12-03 19:46:02 INFO: server listening at port 8388.
下面用 rc.local 方式启动

代码: 全选

nano /etc/init.d/ss-start
文件只包含如下两行

代码: 全选

#!/bin/bash
(/usr/bin/ss-server -c /etc/shadowsocks.json > /dev/null 2>&1 &)

代码: 全选

chmod +x /etc/init.d/ss-start
nano /etc/rc.local
在 rc.local 的 "exit 0" 行 之前 加入

代码: 全选

sudo -u nobody  /etc/init.d/ss-start
重新启动

代码: 全选

reboot
再登录进去,看是不是已经启动 ss-server

代码: 全选

ps -ef | grep [s]s-s
得到如下信息

代码: 全选

nobody    495     1  0 19:49 pts/0    00:00:00 /usr/bin/ss-server -c /etc/shadowsocks.json


关于多用户
https://github.com/clowwindy/shadowsock ... iple-Users 介绍了shadowsocks多用户的配置,但shadowsocks-libev不支持多用户配置。解决的方法是为每个用户创建单独的ss-server进程,分别对应各自的配置文件



关于 service 启动
前面介绍的rc.local 启动,是最节省资源的(比 service方式节省,比 用 Supervisor 运行 Shadowsocks 更节省)
shadowsocks-libev 提供了 service 脚本,可惜无法使用,如下的命令都没有效果

代码: 全选

/etc/init.d/shadowsocks-libev stop
/etc/init.d/shadowsocks-libev start
ps -ef | grep [s]s-s
哪怕我们已经配置好了要求的配置文件

代码: 全选

nano /etc/default/shadowsocks-libev
内容改为

代码: 全选

# Enable during startup?
START=yes
# Configuration file
CONFFILE="/etc/shadowsocks.json2"
# Extra command line arguments
DAEMON_ARGS=""
# User and group to run the server as
USER=nobody
GROUP=nogroup
# Number of maximum file descriptors
MAXFD=800   #故意调低的
哪怕已经修改好了打开文件数目(参见 viewtopic.php?f=166&t=466527),上述的 /etc/init.d/shadowsocks-libev 就是不行,如下的方式也不行

代码: 全选

service shadowsocks-libev start
我自己编了个非常原始的脚本,测试是可行的

代码: 全选

nano /etc/init.d/ss-auto-libev
具体内容为

代码: 全选

#!/bin/sh

### BEGIN INIT INFO
# Provides:		cdt
# Required-Start:
# Required-Stop:
# Default-Start:	2 3 4 5
# Default-Stop:		0 1 6
# Short-Description: Shadowsocks Service
### END INIT INF

PATH="/sbin:/usr/sbin:/bin:/usr/bin"
DESC="Shadowsocks Daemon"
SCRIPTNAME="/etc/init.d/ss-auto-libev"


# export PATH=$PATH

. /lib/lsb/init-functions

do_start() {
 sudo -u nobody /etc/init.d/ss-start
 echo "Shadowsocks Service is running"
 return 0

}

do_stop()
{
	if ps aux | grep [s]s-server > /dev/null
	then
	 sudo -u nobody pkill ss-server
	 echo "Shadowsocks Service stopped"
	else
	 echo "Not running"
	fi

	return 0
}

case "$1" in
	start)
	 do_start
	;;
	stop)
	 do_stop
	;;

	restart|reload|force-reload|staus)
	 echo "Error: argument '$1' not supported" >&2
	 exit 3
	;;

	*)
	 echo "Usage: $0 start|stop" >&2
	 exit 3
	;;
esac

记得修改设置可执行

代码: 全选

chmod +x /etc/init.d/ss-auto-libev
此时

代码: 全选

/etc/init.d/ss-auto-libev start
ps -ef | grep [s]s
/etc/init.d/ss-auto-libev stop
能看到预期结果
最后,安装成服务

代码: 全选

sudo update-rc.d ss-auto-libev defaults     #order=20
我没有安装该服务,而是采用 rc.local 运行,需要修改配置的话,如下的命令用来启动和停止服务

代码: 全选

sudo -u nobody /etc/init.d/ss-start
sudo -u nobody pkill ss-server
上次由 maxchen 在 2017-02-11 9:16,总共编辑 4 次。
这些用户感谢了作者 maxchen 于这个帖子 (主题 2):
millenniumdark (2015-04-11 16:13) • asd2003asd (2018-03-12 21:07)
评价: 7.41%
maxchen
帖子: 77
注册时间: 2009-12-05 20:03
送出感谢: 0
接收感谢: 6 次

Re: 低配 Ubuntu vps 中 Shadowsocks-libev 安装

#2

帖子 maxchen » 2014-12-05 11:08

相应的视频 https://youtu.be/hVjSrdtsCuA

视频中还介绍了 客户端的设置
∙ 设置 windows 下的绿色客户端 (shadowsocks-go)
∙ Chrome 插件 switchyomega 设置
maxchen
帖子: 77
注册时间: 2009-12-05 20:03
送出感谢: 0
接收感谢: 6 次

Re: 低配 Ubuntu vps 中 Shadowsocks-libev 安装

#3

帖子 maxchen » 2014-12-12 8:49

木有想到浏览量这么大,看来大家还算喜欢和 王寡妇 搏斗啊
saiddy
帖子: 87
注册时间: 2006-04-15 23:44
送出感谢: 0
接收感谢: 0

Re: 低配 Ubuntu vps 中 Shadowsocks-libev 安装

#4

帖子 saiddy » 2014-12-12 16:02

我只看看
头像
qy117121
论坛版主
帖子: 49939
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
送出感谢: 17 次
接收感谢: 333 次
联系:

Re: 低配 Ubuntu vps 中 Shadowsocks-libev 安装

#5

帖子 qy117121 » 2014-12-12 18:33

我手机上点击过好几次,可惜tapatalk 打不开有code标签的帖子

我的vps内存至少128 ,还是用普通版了
渠月 · QY

本人只会灌水,不负责回答问题

无聊可以点一下→ http://u.nu/ubuntu
llf198755
帖子: 2
注册时间: 2014-12-21 20:29
系统: win7
送出感谢: 1 次
接收感谢: 0

Re: 低配 Ubuntu vps 中 Shadowsocks-libev 安装

#6

帖子 llf198755 » 2014-12-21 20:37

按照楼主写的,做好了VPS,但是用GUI客户端,目标服务器积极拒绝,请问这个问题应该怎么解决? :em03
maxchen
帖子: 77
注册时间: 2009-12-05 20:03
送出感谢: 0
接收感谢: 6 次

Re: 低配 Ubuntu vps 中 Shadowsocks-libev 安装

#7

帖子 maxchen » 2014-12-23 9:00

建议参考二楼的方法, 设置 windows 下的绿色客户端 (shadowsocks-go)

先检查服务器端,在服务器ss是正常的
然后把服务器端的ss配置拷贝到本地,用命令行测试。如果客户端在linux下,可以
sslocal -c /etc/shadowsocks/config.json
或者
sslocal -s server_name -p server_port -l local_port -k password -m aes-256-cfb

此外,如果不是用root运行ss,端口不能<1024

等等
这些用户感谢了作者 maxchen 于这个帖子:
llf198755 (2014-12-23 11:27)
评价: 3.7%
llf198755
帖子: 2
注册时间: 2014-12-21 20:29
系统: win7
送出感谢: 1 次
接收感谢: 0

Re: 低配 Ubuntu vps 中 Shadowsocks-libev 安装

#8

帖子 llf198755 » 2014-12-23 14:56

maxchen 写了:建议参考二楼的方法, 设置 windows 下的绿色客户端 (shadowsocks-go)

先检查服务器端,在服务器ss是正常的
然后把服务器端的ss配置拷贝到本地,用命令行测试。如果客户端在linux下,可以
sslocal -c /etc/shadowsocks/config.json
或者
sslocal -s server_name -p server_port -l local_port -k password -m aes-256-cfb

此外,如果不是用root运行ss,端口不能<1024

等等



二楼的视频打不开,用于测试的两条命令也都没有报错。不知道还有哪里出问题了 :em06
maxchen
帖子: 77
注册时间: 2009-12-05 20:03
送出感谢: 0
接收感谢: 6 次

Re: 低配 Ubuntu vps 中 Shadowsocks-libev 安装

#9

帖子 maxchen » 2015-01-12 21:15

有一同事没有配置成功,发现是 ppa:hzwhuang/ss-libev 失效了

大胆在 64M 内存的vps上试验了下,竟然可以从源代码直接编译(先前担心内存不足)

代码: 全选

apt-get update
apt-get install nano
apt-get install git

git clone https://github.com/shadowsocks/shadowsocks-libev.git
cd shadowsocks-libev
apt-get install build-essential autoconf libtool libssl-dev
./configure && make
make install

自己编译安装,得到的路径在

代码: 全选

/usr/local/bin/ss-server

参见24楼的更新viewtopic.php?f=166&t=466537&start=23 采用自己编译成安装包的方式
上次由 maxchen 在 2015-04-13 9:22,总共编辑 1 次。
maxchen
帖子: 77
注册时间: 2009-12-05 20:03
送出感谢: 0
接收感谢: 6 次

Re: 低配 Ubuntu vps 中 Shadowsocks-libev 安装

#10

帖子 maxchen » 2015-01-27 10:01

有人需要 https://youtu.be/-z_CGwfjSn0 上介绍的 shadowsocks python 原始发行版本的配置代码, 附录如下

代码: 全选

apt-get update
top
shutdown -r now

apt-get install nano
apt-get -y install python-pip
pip install shadowsocks


# apt-get dist-upgrade		#Y, then all ans N

shutdown -r now


touch /etc/shadowsocks.json
nano  /etc/shadowsocks.json
{
    "server":"104.224.154.19",
    "server_port":8673,
    "local_address": "127.0.0.1",
    "local_port":8010,
    "password":"7p1b5IkO8qP",
    "timeout":300,
    "method":"aes-256-cfb",
    "fast_open": false,
    "workers": 1
}

在服务器上运行 ssserver -c /etc/shadowsocks.json

本地测试	sslocal -c ~/tmp/shadowsocks.json
http://cn.nytimes.com/
囗囗囗 http://shadowsocks.org/en/download/clients.html
http://dl.chenyufei.info/shadowsocks/


采用 rc.local 和 ss-start 实现
nano /etc/rc.local		在 rc.local  的 "exit 0" 行 之前 加入
sudo -u nobody  /etc/init.d/ss-start

创建 ss-start
touch /etc/init.d/ss-start
chmod +x /etc/init.d/ss-start
nano /etc/init.d/ss-start
其内容为
#!/bin/bash
(/usr/local/bin/ssserver -c /etc/shadowsocks.json > /dev/null 2>&1 &)
注意第二行启动后台运行


shutdown -r now

ps -ef | grep [s]ss
证实 ssserver 的 ppid 为 1,即 init 进程, nobody 用户运行


ll /var/www/html/index.html
cat /dev/null > /var/www/html/index.html
ll /var/www/html/index.html


xzf16
帖子: 60
注册时间: 2007-03-24 15:27
送出感谢: 0
接收感谢: 0
联系:

Re: 低配 Ubuntu vps 中 Shadowsocks-libev 安装

#11

帖子 xzf16 » 2015-01-27 12:21

请问在低配服务器上,流畅度怎么样?看油管卡吗
头像
qy117121
论坛版主
帖子: 49939
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
送出感谢: 17 次
接收感谢: 333 次
联系:

Re: 低配 Ubuntu vps 中 Shadowsocks-libev 安装

#12

帖子 qy117121 » 2015-01-27 12:30

xzf16 写了:请问在低配服务器上,流畅度怎么样?看油管卡吗
流畅与否要看你的vps网络线路了,和配置关系不大

昨天见到人说64M 内存vps ss 可以带500人
渠月 · QY

本人只会灌水,不负责回答问题

无聊可以点一下→ http://u.nu/ubuntu
maxchen
帖子: 77
注册时间: 2009-12-05 20:03
送出感谢: 0
接收感谢: 6 次

Re: 低配 Ubuntu vps 中 Shadowsocks-libev 安装

#13

帖子 maxchen » 2015-01-28 8:51

xzf16 写了:请问在低配服务器上,流畅度怎么样?看油管卡吗
看你本地的接入了,我这边几人同时 1080p 都很流畅,4K没有试过。 本地水管, 桌面100M,服务器1G, (接在1G交换机上接40G出口挂到国家大区主干网)
vps 本身,一般都是100M/1G直接接主干网上的 (更贵的vps 10G接T级的主干网),bwg 的 vps, ping 8.8.4.4 都是只有 零点几个毫秒的
头像
Lavande
论坛版主
帖子: 5351
注册时间: 2008-12-21 15:27
来自: TARDIS
送出感谢: 1 次
接收感谢: 8 次

Re: 低配 Ubuntu vps 中 Shadowsocks-libev 安装

#14

帖子 Lavande » 2015-01-28 14:27

我买坛子的最低配VPS,运行ss,就自己一个人用,一阵子后经常down机,帐号还被suspend过……后来不敢用了
现在在do搭了,还行,速度一般,给手持设备用,电脑习惯ssh tunnel了
ssg338c
帖子: 1
注册时间: 2015-01-28 20:59
系统: windows 7
送出感谢: 0
接收感谢: 0

Re: 低配 Ubuntu vps 中 Shadowsocks-libev 安装

#15

帖子 ssg338c » 2015-01-28 21:03

{
"server":"104.224.154.19",
"server_port":8673,
"local_address": "127.0.0.1",
"local_port":8010,
"password":"7p1b5IkO8qP",
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false,
"workers": 1
}

这里的server_port:8673 ,local_port":8010,password":"7p1b5IkO8qP" 都是自己设定的吗?菜鸟求助
回复

回到 “Ubuntu VPS”