最近使用了阿里云的服务器搭建了一个代理服务器,记下了学习一下。
目录
1. 安装shadowsocks
这一步比较简单,直接使用pip3安装即可
pip3 install shadowsocks2. 编辑配置文件
需要新建一个配置文件,可以将配置文件放在etc目录下,在命令行中输入如下命令:
vim /etc/shadowsocks.json在vim普通模式下,输入如下命令
:set paste这样可以保证粘贴的正确性
然后复制如下内容到文件中
{ "server":"0.0.0.0", "server_port":50001, "local_port":1080, "password":"pwd", "timeout":600, "method":"aes-256-cfb" }需要修改的内容包括:
password:修改一个可靠的密码server_port:修改对外端口server:表示可以连接到vpn的主机ipmethod:可以修改为其他协议注意,对外端口需要在阿里云的安全组中添加对应的端口
3. 将shadowsocks加入系统守护进程
在shell中输入如下命令:
vim /etc/systemd/system/shadowsocks.service复制以下内容到文件中
[Unit] Description=Shadowsocks [Service] TimeoutStartSec=0 ExecStart=/usr/local/bin/ssserver -c /etc/shadowsocks.json [Install] WantedBy=multi-user.target注意需要将配置文件对应的位置修改正确。
如果不知道ssserver的位置,则可以通过which ssserver得到ssserver的具体位置
4. 启动shadowsocks服务
启动命令如下
#设置开机自启命令 systemctl enable shadowsocks #启动命令 systemctl start shadowsocks #查看状态命令 systemctl status shadowsocks #关闭服务 systemctl stop shadowsocks5. 问题和解决方案
查看shadowsock的状态时,提示python代码错误由于openssl 1.1.0中废弃了 EVP_CIPHER_CTX_cleanup() 函数而引入了 EVE_CIPHER_CTX_reset() 函数所导致的。解决方法为:
找到报错信息的对应文件,例如/usr/local/bin/python3.6/site-packages/shadowsocks/crypto/openssl.py搜索cleanup 替换为reset重启shadowsocksoutline客户端需要输入秘钥需要编码的格式为 ss://method:password@hostname:port打开浏览器,在console中输入
console.log( "ss://" + btoa("method:password@hostname:port") )需要将对应的项修改为正确的值