ubuntu下一键搭建 shadowsocks 服务
最近常常更换vps,更换后一些必备的工具就不得不重新安装下,shadowsocks服务就是其中一个,重复做这样事情挺烦的。所以整理了一个脚本,用于方便在新机器下一键搭建shadowsocks。只需要把脚本拷贝到新的机器下,chmod +x 一下给上必要的属性,运行即可一键搭建shadowsocks 服务程序了。
上完整脚本前,先简单说明下shadowsocks的安装步骤(如果已经了解这部分内容,可以直接跳到“分割线”下面去拷贝代码使用)。
1 安装PIP(一般先apt-get update 一下)
sudo apt-get update
sudo apt-get install python-pip
sudo apt-get install python-setuptools m2crypto
2 安装 shadowsocks
pip install shadowsocks
上面两步运行如果没有错误,shadowsocks 服务程序就已经安装成功了的,剩下就是设置配置文件的事情了。
3 编辑配置文件,新建 /etc/shadowsocks.json文件,加入如下内容:
{
"server":"server_ip",
"server_port":8388,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"mypassword",
"timeout":300,
"method":"aes-256-cfb"
}
上面的server 需要设置为正确的服务器ip;server_port 可以保留默认的8388,不过由于不可告人原因,改变下它好点;password 修改为你喜欢的就好;method为 加密方法,可选择 “bf-cfb”, “aes-256-cfb”, “des-cfb”, “rc4″等。
如果需要配置多个端口,则配置格式做少量的调整即可,如下:
{
"server":"server_ip",
"local_address": "127.0.0.1",
"local_port":1080,
"timeout":300,
"port_password":{
"10003":"123abc",
"10004":"123dxn",
"10005":"dfasfsaf"
},
"method":"rc4-md5",
"timeout":300
}
下面的配置没有server_port 和password段,多了一个port_password的数组,字面意思就可以理解左边数字是端口,右边是密码。本文的脚本使用的配置就是这个格式,方便配置多端口。
设置好了,就可以启动服务了,启动命令:
ssserver -c /etc/shadowsocks.json -d start
停止服务命令:
ssserver -c /etc/shadowsocks.json -d stop
顺便来个重启的命令(就是上面两个命令的组合):
ssserver -c /etc/shadowsocks.json -d start
ssserver -c /etc/shadowsocks.json -d stop
为了方便操控shadowsocks,我习惯都把这几个命令增加快捷运行的sh文件 扔到 当前用户目录下。
本文的脚本会自动获取机器ip 填充到server内,server_port 是随机生产的,范围在10010-10050,密码(的其中3位)也是随机生成的,尽量做到全自动化。运行脚本后,如下这样的信息回显。脚本比较简单,就是几行sh 脚本,如果需要则可以修改为自己喜欢的配置。
运行脚本后,会这样回显这样的信息:
里面显示了 shadowsocks 终端所需的信息了(ip、端口、密码和加密模式)。
上面提到脚本运行后会在当前账户目录生成sh 文件,也就是这几个文件:~/start_ss.sh、~/stop_ss.sh、~/restart_ss.sh。后续可以通过它们来快捷启动、关闭、重启shadowsocks服务,懒得输入。
著:该脚本在 ubuntu 16.04.3 * 64 机器下测试通过。
#=================== 全宇宙最华丽的分割线=====================#
完整脚本如下:
#!/bin/bash
#定义个随机生成数字函数
function rand()
{
min=$1
max=$(($2-$min+1))
num=$(($RANDOM+1000000000))
echo $(($num%$max+$min))
}
echo " .......setup begin....... "
echo " .......install necessary soft....... "
# 安装PIP
sudo apt-get update
sudo apt-get install python-pip
sudo apt-get install python-setuptools m2crypto
# 安装shadowsocks
pip install shadowsocks
echo " .......install soft finish ......."
echo " .......creating config ......."
# 随机端口和密码:
port="100"$(rand 10 50)
password="qaz"$(rand 100 999)"plm"
#获取本地ip
ip_string=`ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`
shadowsocks_path="/etc/shadowsocks.json"
echo "{
\"server\":\""$ip_string"\",
\"local_address\": \"127.0.0.1\",
\"local_port\":1080,
\"timeout\":300,
\"port_password\":{
\""$port"\":\""$password"\"
},
\"method\":\"rc4-md5\",
\"timeout\":300
}" > $shadowsocks_path
#创建 start_ss.sh,写入:
echo "ssserver -c "$shadowsocks_path" -d start" > ~/start_ss.sh
#创建 stop_ss.sh,写入:
echo "ssserver -c "$shadowsocks_path" -d stop" > ~/stop_ss.sh
#创建 restart_ss.sh,写入:
echo "ssserver -c "$shadowsocks_path" -d stop
ssserver -c "$shadowsocks_path" -d start" > ~/restart_ss.sh
# 设置脚本权限
chmod +x ~/*_ss.sh
echo " .......setup begin ......."
~/restart_ss.sh
echo ""
echo ""
echo "shadowsocks server ip:"$ip_string", port:"$port", password:"$password", method:rc4-md5"
脚本压缩包:install_shadowsocks_in_ubuntu.sh
(全文完)
(欢迎转载本站文章,但请注明作者和出处 云域 – Yuccn )
2 thoughts on “ubuntu下一键搭建 shadowsocks 服务”
您好,新年好呀,请问修改默认的端口8388之前,是否需要先开放自己指定的端口呀?
如果是linode、digitalocean 的vps不用,云主机(阿里、腾讯云主机等)的话需要在策略设置下