0%

proxy_cdn

CDN代理

CDN代理相比传统代理的优点

  • 隐藏VPS真实IP, 通过CDN转发流量

Server

v2ray-plugin

  • 下载
    1
    2
    3
    4
    5
    6
    7
    8
    mkdir v2ray-plugin && cd v2ray-plugin

    wget https://github.com/shadowsocks/v2ray-plugin/releases/download/v1.3.2/v2ray-plugin-linux-amd64-v1.3.2.tar.gz

    tar -xzvf v2ray-plugin-linux-amd64-v1.3.2.tar.gz

    cp v2ray-plugin_linux_amd64 /usr/local/bin/v2ray-plugin

Shadowsocks-libev

  • 下载
    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
    mkdir shadowsocks && cd shadowsocks

    wget https://github.com/shadowsocks/shadowsocks-rust/releases/download/v1.23.4/shadowsocks-v1.23.4.x86_64-unknown-linux-gnu.tar.xz

    tar -xvf shadowsocks-v1.23.4.x86_64-unknown-linux-gnu.tar.xz

    cp ssserver /usr/local/bin

    - 配置
    `/etc/shadowsocks-rust/config.json`
    ```json
    {
    "server":"0.0.0.0",
    "server_port":<port>,
    "password":"<key>",
    "timeout":300,
    "user":"nobody",
    "method":"aes-256-gcm",
    "fast_open":true,
    "nameserver":"8.8.8.8",
    "mode":"tcp_and_udp",
    "workers": 8,
    "plugin": "v2ray-plugin",
    "plugin_opts": "server;path=/ws"
    }
1
2
3
4
5

- 设置systemd service

```bash
vim /etc/systemd/system/shadowsocks-rust.service
1
2
3
4
5
6
7
8
9
10
11
[Unit]
Description=Shadowsocks rust server Service
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/ssserver -c /etc/shadowsocks-rust/config.json
Restart=on-abort

[Install]
WantedBy=multi-user.target
1
2
systemctl enable shadowsocks-rust.service
systemctl start shadowsocks-rust.service

Nginx

编辑/etc/nginx/nginx.conf, 在目标host下,将/ws路由分流到shadowsocks-rust服务,因为nginx已经处理过tls了,所以shadowsocks-rust服务不是用tls配置,
反之,如果你的ss-rust直接监听443, 则/etc/shadowsocks-rust/config.json中需要tls;cert=...;key=

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
server {
listen 80;
listen [::]:80;
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name _;
root /usr/share/nginx/html;

location /ws {
proxy_redirect off;
proxy_http_version 1.1;
proxy_pass http://localhost:29595; # Port of v2ray-plugin
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}

Client

这里不做过多赘述,直接使用archlinux pacman源

Install

1
sudo pacman -S shadowsocks-rust shadowsocks-v2ray-plugin

Config

/etc/shadowsocks-rust/config.json

1
2
3
4
5
6
7
8
9
10
11
12
{
"server": "<domain>",
"server_port": <port>,
"local_address": "127.0.0.1",
"local_port": 1080,
"password": "<key>",
"timeout": 300,
"method": "aes-256-gcm",
"fast_open": true,
"plugin": "v2ray-plugin",
"plugin_opts": "tls;host=<domain>;path=/ws"
}

Run

1
2
systemctl enable shadowsocks-rust@config
systemctl start shadowsocks-rust@config