今天是柏林墙倒塌三十周年,为了纪念这个伟大的日子,分享一下shadowsocks-libev和v2ray的搭建教程,谁叫俺们的墙越来越高了呢?shadowsocks用的是最新源码编译和官方脚本安装两种方法,至于v2ray就直接用官方脚本部署了。
服务端系统为Ubuntu18.04
登陆vps:ssh root@vps ip
更改一下时区: timedatectl set-timezone Asia/Shanghai
部署Shadowsocks-libev服务端
为什么要部署libev版本的服务端呢?因为就这个版本还在更新,而且占用小,下面给出两种安装部署方法,一是官方脚本直接安装,二是最新源码进行编译安装,二选一。
官方脚本安装
1 2 3 4 5 6 7 8 9 10 11 12
| mkdir ./build-area
cd build-area
wget https://github.com/shadowsocks/shadowsocks-libev/raw/master/scripts/build_deb.sh
chmod +x build_deb.sh
./build_deb.sh all
|
官方这个脚本带obfs也一起安装了,由于obfs已经停更,装不装是无所谓的,填上config.json配置文件也就可以运行了。
运行命令:ss-server -c /etc/shadowsocks-libev/config.json
或者:systemctl start shadowsocks
上面是第一种方法,俺用这种方法倒没感觉什么缺陷,就是shadowsocks-libev版本号好像不是最新的,下面的方法就是用最新源码进行编译。
官方源码编译,安装
编译前先更新一下系统,避免不必要的麻烦
apt update && apt upgrade
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| git clone https://github.com/shadowsocks/shadowsocks-libev.git cd shadowsocks-libev
git submodule update --init --recursive
apt-get install --no-install-recommends autoconf automake \ debhelper pkg-config asciidoc xmlto libpcre3-dev apg pwgen rng-tools \ libev-dev libc-ares-dev dh-autoreconf libsodium-dev libmbedtls-dev
./autogen.sh && ./configure --prefix=/usr && make
make install
|
配置文件
mkdir -p /etc/shadowsocks-libev
vi /etc/shadowsocks-libev/config.json
新建,修改配置如下:
1 2 3 4 5 6 7 8 9
| # vi /etc/shadowsocks-libev/config.json
{ "server":["[::0]","0.0.0.0"], "server_port":1024, "password":"password", "timeout":600, "method":"aes-256-gcm" }
|
多用户配置如下:
1 2 3 4 5 6 7 8 9 10 11 12
| # 多用户manager.json文件 # vi /etc/shadowsocks-libev/manager.json
{ "server":["[::0]","0.0.0.0"], "port_password":{ "8388":"password", # 端口号与密码 "8389":"password" }, "timeout":600, "method":"chacha20-ietf-poly1305" }
|
启动:ss-server -c /etc/shadowsocks-libev/config.json
多用户启动:ss-manager -c /etc/shadowsocks-libev/manager.json
上面是前台运行,要转到后台运行,新建一个守护进程就好了,如下:
使用systemd守护进程
新建shadowsocks.service文件
vi /etc/systemd/system/shadowsocks.service
添加内容如下:
1 2 3 4 5 6 7 8 9 10 11 12
| [Unit] Description=Shadowsocks Server After=network.target
[Service] ExecStart=/usr/bin/ss-server -c /etc/shadowsocks-libev/config.json
Restart=on-abort
[Install] WantedBy=multi-user.target
|
完成后,就可以启动Shadowsocks了。
Systemctl重载命令: systemctl daemon-reload
启动命令: systemctl start shadowsocks
常用命令
1 2 3 4 5 6 7 8 9 10 11 12 13
| systemctl start shadowsocks //启动
systemctl stop shadowsocks //停止
systemctl restart shadowsocks //重新启动
systemctl status shadowsocks //查看状态
systemctl enable shadowsocks //添加开机自启动
cd shadowsocks-libev && make uninstall //卸载然后删除配置文件
ss-server -c /etc/shadowsocks-libev/config.json //前台启动
|
更新shadowsocks
1 2 3 4 5 6 7 8 9
| systemctl stop shadowsocks
cd shadowsocks-libev git pull ./configure make make install
systemctl start shadowsocks
|
开启BBR
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
执行如下命令使其生效,
sysctl -p
搭建v2ray服务端
v2ray安装
利用官方脚本搭建v2ray服务端,记下常用命令和自己的服务端配置文件。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| wget https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh
bash install-release.sh
systemctl start v2ray
bash install-release.sh
bash install-release.sh --remove
|
在首次安装完成之后,V2Ray 不会自动启动,需要手动运行下面启动命令。而在已经运行 V2Ray 的 VPS 上再次执行安装脚本,安装脚本会自动停止 V2Ray 进程,升级 V2Ray 程序,然后自动运行 V2Ray。在升级过程中,配置文件不会被修改。
启动命令: systemctl start v2ray
v2ray配置文件
配置文件路径 /usr/local/etc/v2ray/config.json
,建议就用默认生成的配置,需要的话,可以修改一下uuid或者端口。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| { "inbounds": [{ "port": 10240, "protocol": "vmess", "settings": { "clients": [ { "id": "241b8c56-1707-4b62-958c-ae8b4c0d90af", "level": 1, "alterId": 64 } ] } }], "outbounds": [{ "protocol": "freedom", "settings": {} },{ "protocol": "blackhole", "settings": {}, "tag": "blocked" }], "routing": { "rules": [ { "type": "field", "ip": ["geoip:private"], "outboundTag": "blocked" } ] } }
|
常用命令
1 2 3 4 5 6 7 8 9 10 11
| systemctl start v2ray //启动
systemctl stop v2ray //停止
systemctl status v2ray //查看状态,runing表示成功运行
systemctl reload v2ray //重新载入
systemctl restart v2ray //重新启动
systemctl enable v2ray //添加开机自启动
|
彻底删除v2ray
停用并卸载服务
1 2
| systemctl stop v2ray systemctl disable v2ray
|
删除配置残留
1 2 3 4 5
| rm -rf /usr/local/etc/v2ray/* //配置文件 rm -rf /usr/bin/v2ray/* //程序 rm -rf /var/log/v2ray/* //日志 rm -rf /lib/systemd/system/v2ray.service //systemd 启动项 rm -rf /etc/init.d/v2ray //sysv 启动项
|
关于本地端的应用,俺主要讲一下iOS端,因为其他Windows,Android ,Linux端官方GitHub都能找到。iOS国内只有Outline,找个美区账号可以下载 Shadowrocket ,Quantumult X,Kitsunebi ,91VPN,ConnectSPro .
参考: