本文为历史产物,现已不推荐使用。全文在Ubuntu 18.04(64bit)环境下使用root用户搭建,其他版本的Linux请自行替换部分命令。

安装Git

使用git --version检查git版本号,如未安装,使用apt-get install git安装。

安装shadowsocks-python并开启bbr加速

这里使用flyzy小站提供的一键安装脚本进行。首先安装shadowsocks-python,这里默认初始路径为~(/root),其他路径请自行修改

git clone https://github.com/AstralHope/sspython-bbr.git
~/sspython-bbr/ss-fly.sh -i password 1024

如果报错,按提示操作即可。这里password为你需要设置的密码,端口缺省为1024,因为我们后面还要搭建shadowsocks-manager,所以这里密码和端口不关键。
注:如果需要改密码或者改端口,只需要重新再执行一次搭建ss脚本代码就可以了,或者修改/etc/shadowsocks.json这个配置文件。

相关ss操作

启动:/etc/init.d/ss-fly start
停止:/etc/init.d/ss-fly stop
重启:/etc/init.d/ss-fly restart
状态:/etc/init.d/ss-fly status
查看ss链接:~/sspython-bbr/ss-fly.sh -sslink
修改配置文件:vim /etc/shadowsocks.json
卸载:~/sspython-bbr/ss-fly.sh -uninstall

开启bbr加速

~/sspython-bbr/ss-fly.sh -bbr

该脚本会自动升级内核,然后输入y 或者手动重启。输入下列命令,返回值有bbr则开启成功。

sysctl net.ipv4.tcp_available_congestion_control

安装shadowsocks-manager

为安全起见,这里使用pm2控制ssmgr的启动,使用lnmp自动配置nginx和Let'sEncrypt 泛域名SSL证书。以下安装顺序不分先后:

安装node js、npm、pm2

apt-get install -y libsqlite3-dev libssl1.0-dev nodejs npm redis-server
npm i -g shadowsocks-manager
npm install pm2 -g
````
安装shadowsocks-manager时如果一直报错(WARN没有关系,要有ERR才是报错),则尝试执行:npm i -g shadowsocks-manager --unsafe-perm
###配置shadowsocks-manager
```shell
mkdir ~/.ssmgr
cd .ssmgr/
touch ss.yml
touch webgui.yml

编辑s端配置文件vim ss.yml ,写入如下内容

type: s

shadowsocks:
  address: 127.0.0.1:6001
  # 这里的地址和端口需要和开启shadowsocks的 --manager-address 参数保持一致,连接上述 udp 端口
manager:
  address: 0.0.0.0:4001
  # 这个 address 参数会让程序监听一个 tcp 端口,用于接收 webgui 发送过来的控制命令
  password: '123456'
db: 'ss.sqlite'

编辑web端配置文件vim webgui.yml ,写入如下内容

type: m

manager:
  address: 1.1.1.1:4001
  # 这里换成manager所在的服务器的ip或域名
  password: '123456'
  # 这部分的端口和密码需要和ss.yml中的 manager 参数里的保持一致,以连接 type s 部分监听的 tcp 端口
plugins:
  flowSaver:
    use: true
  user:
    use: true
  account:
    use: true
  macAccount:
    use: true
  group:
    use: true
  email:
    use: true
    type: 'smtp'
    username: 'username'
    password: 'password'
    host: 'smtp.your-email.com'
    # 这部分的邮箱和密码是用于发送注册验证邮件,重置密码邮件
  webgui:
    use: true
    host: '0.0.0.0'
    port: '8080'
    site: 'http://account.kxsw.39hope.com'
    icon: 'icon.png' # 自定义首页图标,默认路径在 ~/.ssmgr 可省略
db: 'webgui.sqlite'

启动

ssserver -d stop
ssserver -m aes-256-cfb -p 12345 -k abcedf --manager-address 127.0.0.1:6001 -d start
cd ~/.ssmgr/
pm2 -n weigui -f start ssmgr -x -- -c ~/.ssmgr/webgui.yml
pm2 -n ssmgr -f start ssmgr -x -- -c ~/.ssmgr/ss.yml

安装lnmp

参考lnmp官网进行安装并创建虚拟主机,申请好SSL证书。

配置nginx

修改配置文件如下即可开启ssl安全访问,注意替换地址:

server {
  listen         80;
  server_name    account.kxsw.39hope.com;
  rewrite        ^   https://$server_name$request_uri? permanent;
}
server {  
  listen                 443 ssl http2;
  server_name            account.kxsw.39hope.com;
  ssl                    on;
  ssl_certificate        /usr/local/nginx/conf/ssl/account.kxsw.39hope.com/fullchain.cer;
  ssl_certificate_key    /usr/local/nginx/conf/ssl/account.kxsw.39hope.com/account.kxsw.39hope.com.key;
  location / {
      proxy_set_header   X-Real-IP        $remote_addr;
      proxy_set_header   Host             $http_host;
      proxy_set_header   X-Frame-Options  DENY;
      proxy_pass         http://127.0.0.1:8080;
  }

至此,全部完成。

其他服务器

在其他服务器上安装s端,这里使用精简版端的shadowsocks-manager-tiny

安装

apt-get install -y git libssl1.0-dev nodejs npm
npm install pm2 -g
git clone https://github.com/gyteng/shadowsocks-manager-tiny.git

启动

cd ~/shadowsocks-manager-tiny/
ssserver -d stop
ssserver -m aes-256-cfb -p 12345 -k abcedf --manager-address 127.0.0.1:6001 -d start
pm2 -n ssmgr -f start index.js -x -- 127.0.0.1:6001 0.0.0.0:4001 123456

然后在网页上添加服务器,输入该服ip和上面设置的管理端口4001即可

作者 Assaultcore

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注