网上相关的文章太多太多,购买vultr云主机之后
一种是通过pip安装pip install M2Crypto shadowsocks
这种安装的方法应该是2.8.2版本的,
{
"server":"服务器 IP 地址",
"server_port":8388,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"mypassword",
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false,
"workers": 1
}
配置好服务器之后,
安装好客户端
https://github.com/shadowsocks/shadowsocks-windows/releases
只有,正常上网是没有问题的。但是
安装socksCap64却没法UDP测试通过。
于是安装shadowsocks-libev
https://github.com/iMeiji/shadowsocks_install/wiki/shadowsocks-libev
但是我没有源码安装
找了一个别人的repo
cd /etc/yum.repos.d/
curl -O https://copr.fedorainfracloud.org/coprs/librehat/shadowsocks/repo/epel-7/librehat-shadowsocks-epel-7.repo
yum install -y shadowsocks-libev
执行 ss-server
报错:ss-server: error while loading shared libraries: libmbedcrypto.so.0: cannot open shared object file: No such file or directory
:
使用 root 身份执行以下命令即可:
cd /usr/lib64
ln -s libmbedcrypto.so.1 libmbedcrypto.so.0
{"server":"0.0.0.0","server_port": 8388,"password":"yourpassword","method":"aes-256-cfb","mode":"tcp_and_udp"}
-
"server"
: 选填,默认"0.0.0.0"
。配置客户端时填入服务器的实际 IP。"0.0.0.0"
表明服务端接受来自任何网络接口的连接。配置服务端时填入"0.0.0.0"
总是能生效,而不必填入服务器自身的 IP。 -
"server_port"
: 必填。需要在客户端配置时填入相同的值。此处填入服务端要监听的端口。需要选择 1024 或以上的端口号,否则启动
ss-server
时将会需要 root 权限,而默认的服务文件则是以 nobody 用户启动 Shadowsocks 的。 -
"password"
: 必填。需要在客户端配置时填入相同的值。连接服务端所需的密码,建议替换为复杂密码,避免被攻击者暴力破解。
-
"method"
: 选填,默认"rc4-md5"
。需要在客户端配置时填入相同的值。服务端所用的加密方法,推荐以下几种算法:
-
"chacha20-ietf-poly1305"
具有优秀的安全性,更佳的性能,属于 AEAD 加密算法,少部分客户端(如 iOS Wingy)不支持此算法; -
"aes-256-cfb"
具有足够安全性,且被各服务端及客户端广泛支持; -
"rc4-md5"
算法快速,且具有一定的安全性,适合运算能力受限的设备如路由器等。
-
-
"mode"
: 选填,默认"tcp_only"
。服务器所要监听的协议,可填
"tcp_only"
,"udp_only"
和"tcp_and_udp"
。
填入"tcp_and_udp"
相当于命令行上提供-u
参数;填入"udp_only"
相当于命令行上提供-U
参数。
如果想要变更默认的配置文件,或者提供其他命令行参数,我们可以修改 /etc/sysconfig/shadowsocks-libev
:
# Configuration file
CONFFILE="/etc/shadowsocks-libev/config.json"
# Extra command line arguments
DAEMON_ARGS="-u"
entOS 7 系统自带了防火墙,为了使我们的 Shadowsocks 服务器能够正常工作,我们还需要添加相应的防火墙规则。
假设我们在配置 Shadowsocks 服务器的端口时填入了 "server_port": 8388
,那我们可以使用以下命令:
firewall-cmd --permanent --add-port=8388/tcp
firewall-cmd --permanent --add-port=8388/udp
firewall-cmd --reload
启动 Shadowsocks 服务
有了 Shadowsocks 服务端的配置文件后,我们通过 systemd 启动 Shadowsocks 的服务端服务:
systemctl start shadowsocks-libev
检查 Shadowsocks 服务状态
要确认 Shadowsocks 的服务运行状态及最新日志,我们可以执行命令:
systemctl status shadowsocks-libev
要查看 Shadowsocks 服务的全部日志,我们可以执行命令:
journalctl -u shadowsocks-libev
配置服务开机自启
上文中,我们通过 systemctl start
启动了服务,但是如果我们想要服务能在开机时自动启动,还需要执行以下命令:
systemctl enable shadowsocks-libev
socksCap64
https://www.sockscap64.com/zh-hans/sockscap-64-free-download/
socksCap64里设置代理,可以直接设置SS服务器,也可以设置ss客户端的本地代理1080
经过测试,通过ss服务器代理的话,有是后udp会发送数据失败,通过本地127.0.0.1:1080的代理基本上
不会有数据发送失败。但是必须把ss客户端也要开着。
1.在socksCap64里添加浏览器,就能正常上网了。
2.本来想通过ss来加速一个日本的远程桌面连接,但是把mstsc的程序加入到socksCap64之后,
运行mstsc一直报错无法连接,后来把socksCap64的配置里的DNS解析变成本地解析之后,
能连接了,但是速度还是很慢,完全没有达到效果。只好在日本的桌面电脑上安装了一个anydesk。
效果快多了。把anydesk添加到socksCap64里也没有快多少。
3.意外收获。原来是通过fortiClient的VPN连接客户新加坡的数据中心的,然后VPN联通之后
用SSH(SecureCRT)通过VPN内网IP去连接服务器。经常断线,而且打一个字要反应半天,
根本没法操作,后来想是不是ForticlinetVPN
如果通过SocksCap64的话是不是更快,于是把Forticlient添加到socksCap64里。果然效果很好。