【美博翻墙2019.12.23】v2ray提供了一个优秀的科学上网平台,网友可以在其独特vmess协议上发挥创意设计出多样的翻墙方法,特别是把翻墙完全隐身于访问网站(网页)之中,提供了目前最安全的翻墙方式。本文是在前文自建最强科学上网:v2ray+websocket+web+nginx(EasyEngine) 基础上改進的又一个自建v2ray翻墙代理方法。
本文方法在 Debian、Ubuntun 系统的最新版及相近版本测试全部适用。
本方法以Caddy作为前端web服务器,是一个轻便的web部署工具,其功能与 nginx 类似。其优点是:安全、轻量、方便,不受制于EE的版本限制,可广泛应用于各种系统,特别是默认情况下启用HTTPS,默认安装免费的 Let's Encrypt https 证书并自动续约,而且还支持HTTP/2(H2)网络协议。
前文自建最强科学上网:v2ray+websocket+web+nginx(EasyEngine) 仍然可以使用。
基本知识介绍:
V2Ray:用于构建代理绕过网络限制、审查、翻墙的平台。
Caddy:作为部署代理的前端web服务器。
WebSocket:是一种计算机通信协议,可通过单个TCP连接提供全双工通信通道。
HTTP/2(H2):是互联网HTTP网络协议的主要修订版。它源自Google最初开发的实验SPDY协议。
TLS:安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性。
本教程按照实际制作过程進行描述:
一、选择 VPS 服务器并安装系统
购买VPS并安装系统,请见教程:
自己搭建代理服务器:VPS的选择
自己搭建代理服务器:Vultr VPS 购买图文教程
自己搭建代理服务器:Vultr VPS 系统安装图文教程
请记住VPS安装系统后得到的: ip地址、 密码、 用户名(默认是root),后面会用到。
再次提醒:本方法在 Debian、Ubuntun 系统的最新版及相近版本测试全部适用。
二、购买域名并设置与服务器ip关联
请参考教程:
自己搭建代理服务器:域名购买及设置与ip服务器关联
域名是为了建立网站(网页)用的,本方法实际建立一个网站(网页),将翻墙代理隐身其中,翻墙就像是实实在在的在浏览网站,消除代理的特征信号,提高翻墙代理安全性,这样的思路一直以前的翻墙软件难以实现的,自从v2ray发布后,众多的网友不断推進v2ray用法,目前成为最好的翻墙方法系列。
三、用SSH工具连接VPS服务器
用SSH工具连接VPS服务器后,可以输入各种指令(命令)来安装系统、安装各种应用程序
在自家电脑上通过安全的SSH连接到远端的VPS服务器,就可以发出各种指令(命令)来安装系统、安装各种应用程序,包括建立代理的各种组件等等。在电脑上安装XShell软件来实现SSH连接非常方便,美博园推荐这个工具。
如果你使用的是Linux或macOS系统,本身就内置有SSH链接的终端模拟器,无需下载额外的软件。
新手注意:以下命令都是在英文半角输入完成,电脑的输入法不要处于中文输入状态,以免无意输入中文字符出错。
==============================
在执行下面各种命令时,首先都是要SSH连接VPS服务器,然后输入各种命令来执行。
下面的步骤,如果不明白其中命令的含义没有关系,按照下面的全部顺序(有的步骤是不能移动顺序的),一步一步输入命令完成即可。
==============================
四、更新及优化系统
购买VPS时已经选择了安装系统,首先我们要输入指令更新系统:
4-1、更新系统
依次输入:
apt update
按[Enter]
apt upgrade
按[Enter]
注:以下每个命令输入后都要按[Enter] 回车执行,下面不再重复注明。
4-2、调整系统控制参数
输入
nano /etc/sysctl.conf
为代理服务器优化配置,将以下配置内容粘贴到上面命令打开的/etc/sysctl.conf的 #绿色光标处,象这样子:
#绿色光标在粘贴插入配置文件后处于加入内容的尾端,可按回车将#光标另立分行。
# max open files fs.file-max = 51200 # max read buffer net.core.rmem_max = 67108864 # max write buffer net.core.wmem_max = 67108864 # default read buffer net.core.rmem_default = 65536 # default write buffer net.core.wmem_default = 65536 # max processor input queue net.core.netdev_max_backlog = 4096 # max backlog net.core.somaxconn = 4096 # resist SYN flood attacks net.ipv4.tcp_syncookies = 1 # reuse timewait sockets when safe net.ipv4.tcp_tw_reuse = 1 # turn off fast timewait sockets recycling net.ipv4.tcp_tw_recycle = 0 # short FIN timeout net.ipv4.tcp_fin_timeout = 30 # short keepalive time net.ipv4.tcp_keepalive_time = 1200 # outbound port range net.ipv4.ip_local_port_range = 10000 65000 # max SYN backlog net.ipv4.tcp_max_syn_backlog = 4096 # max timewait sockets held by system simultaneously net.ipv4.tcp_max_tw_buckets = 5000 # turn on TCP Fast Open on both client and server side net.ipv4.tcp_fastopen = 3 # TCP receive buffer net.ipv4.tcp_rmem = 4096 87380 67108864 # TCP write buffer net.ipv4.tcp_wmem = 4096 65536 67108864 # turn on path MTU discovery net.ipv4.tcp_mtu_probing = 1 # for high-latency network net.core.default_qdisc=fq net.ipv4.tcp_congestion_control = bbr
退出nano编辑状态
注:下面凡是用到nano编辑命令的,退出nano编辑状态都是这个办法。下面不再重复说明。
输入上述内容后,退出nano编辑状态
同时按
Ctrl + X
会问你会否储存档案,按下
y
再按多一次
Enter
就可以退出nano编辑状态了。
4-3、激活更改
输入:
sysctl -p
4-4、编辑安全限制配置文件
4-4-1、将文件数限制增加到51200
输入
nano /etc/security/limits.conf
在绿色#光标处粘贴添加下面代码:
* soft nofile 51200 * hard nofile 51200
然后,按回车将#光标另立分行。再同时按 Ctrl + X,再按y,退出nano编辑状态。
4-4-2、将当前文件数限制设置为51200
输入:
ulimit -SHn 51200
4-4-3、编辑永久配置文件:
输入:
nano /etc/profile
在绿色#光标处粘贴添加下面代码:
ulimit -SHn 51200
然后,按回车将#光标另立分行。再同时按 Ctrl + X,再按y,退出nano编辑状态。
五、安装 Caddy
5-1、先安装Web数据传输实用程序curl
输入:
apt install curl
若询问
Do you want to continue? [Y/n]
就按
y
继续安装直到完成。
5-2、安装Caddy个人使用版本
输入:
curl https://getcaddy.com | bash -s personal
会显示:
Downloading Caddy for linux/amd64 (personal license)... Download verification OK Extracting... Putting caddy in /usr/local/bin (may require password) Caddy v1.0.4 (h1:wwuGSkUHo6RZ3oMpeTt7J09WBB87X5o+IZN4dKehcQE=) Successfully installed(安装成功)
5-3、确定caddy文件安装在何处
输入:
whereis caddy
显示为:
root@vmi:~# whereis caddy caddy: /usr/local/bin/caddy
5-4、赋予所有权和权限
#root拥有cabby文件防止其他账户修改
输入:
chown root:root /usr/local/bin/caddy
#修改权限为755,root可读写执行,其他账户不可写
输入:
chmod 755 /usr/local/bin/caddy
5-5、允许Caddy绑定到特权端口
#Caddy不会由root运行,使用setcap允许caddy作为用户进程绑定低号端口(服务器需要80和443)
输入:
setcap 'cap_net_bind_service=+ep' /usr/local/bin/caddy
5-6、www-data的组和用户
检查名为www-data的组和用户是否已经存在
输入:
cat /etc/group | grep www-data
显示为:
root@vm:~# cat /etc/group | grep www-data www-data:x:33:
输入:
cat /etc/passwd | grep www-data
显示为:
root@vm:~# cat /etc/passwd | grep www-data www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
5-7、如果组和用户不存在
则创建它们:
输入:
groupadd -g 33 www-data
输入:
useradd -g www-data --no-user-group --home-dir /var/www --no-create-home --shell /usr/sbin/nologin --system --uid 33 www-data
5-7、为 Caddy 创建目录
#创建文件夹存储Caddy的配置文件
输入:
mkdir /etc/caddy
#创建文件夹存储Caddy所管理的站点证书
输入:
mkdir /etc/ssl/caddy
#允许root及www-data组访问相关文件,允许Caddy写入站点证书文件夹
依次输入:
chown -R root:root /etc/caddy
chown -R root:www-data /etc/ssl/caddy
chmod 770 /etc/ssl/caddy
#创建记录文件
依次输入:
touch /var/log/caddy.log
chown root:www-data /var/log/caddy.log
chmod 770 /var/log/caddy.log
六、创建网站(网页)
6-1、为您的网站创建目录
#如果默认站点根目录不存在,创建以下文件夹
输入:
mkdir -p /var/www/html
#允许www-data组拥有站点文件夹
输入:
chown -R www-data:www-data /var/www
#创建空的Caddy配置文件
输入:
touch /etc/caddy/Caddyfile
6-2、向网站添加内容
基本上有二种方式,一种是建立一个简单的网页,另一种是建立一个实实在在的简易网站,可以装一些内容。当用域名访问时,是可以看到真实内容的。美博这里先介绍创建一个简单网页的方法。建立一个简易网站的方法,美博正在编辑网页文件,完成后会在此步骤提供下载安装及方法,请留意此文的更新。
6-2-1、创建网站方法
待补充
6-2-2、创建一个网页
这个方法简单,新手可以采用这个方法。
6-2-2-1、首先创建一个作为掩护的真正的网页
输入:
touch /var/www/html/index.html
6-2-2-2、编辑网页文件
输入:
nano /var/www/html/index.html
将以下内容粘贴到 #绿色光标处
<!DOCTYPE html> <html> <head> <title>Hello 这是我的新博客</title> </head> <body> <h1 style="font-family: sans-serif">Hello 这是我的新博客……正在创建中ing,请耐心等待!</h1> ……本博客正在创建中……ing,请耐心等待! ……文章内容正在添加中……ing </body> </html>
注:其中的“中文字内容”可随意修改为你自己的任何内容,包括图片等,代码部份不要改动。
然后,按回车将#光标另立分行。再同时按 Ctrl + X,再按y,退出nano编辑状态。
七、设置SystemD服务
7-1、安装SystemD服务配置,然后重新加载SystemD
输入:
wget https://raw.githubusercontent.com/caddyserver/caddy/master/dist/init/linux-systemd/caddy.service
输入:
cp caddy.service /etc/systemd/system/
输入:
chown root:root /etc/systemd/system/caddy.service
输入:
chmod 644 /etc/systemd/system/caddy.service
7-2、重载systemd使其检测到新安装的Caddy服务
输入:
systemctl daemon-reload
八、安装V2Ray
8-1、安装V2Ray
输入:
wget https://install.direct/go.sh
输入:
bash go.sh
同前文,
在安装即将结束时,将显示默认的PORT和UUID。 看起来像这样:
PORT:33888 UUID:a1199f80-a920-437b-9531-7f86b62533a0
UUID就是密码,在下面设置服务器配置和设置客户端配置时都会用到,保存下来,这个不能错。
当然,这个PORT和UUID是自己可以随意修改的,熟练的网友知道怎么做。不熟悉的网友,就记住这个自动生成的、直接使用就好。
8-2、编辑配置V2Ray
输入:
cp /etc/v2ray/config.json /etc/v2ray/config.json.bak
输入:
rm /etc/v2ray/config.json && nano /etc/v2ray/config.json
请注意:
1)其中的端口(PORT) 33888 与 UUID:a1199f80-a920-437b-9531-7f86b62533a0这一串必须改为你自己上面生成的PORT和UUID。
2)务必小心不要改动到代码其它部分,包括不小心增减空格、符号、字母等等,除非你是比较熟练的网友。
3)其中的 "path": "/vv22",这个“/vv22”可以随意修改为你自己的,但要记住,在后面的配置及客户端配置时要一致就行。
将以下内容粘贴到 #绿色光标处
{ "log": { "access": "/var/log/v2ray/access.log", "error": "/var/log/v2ray/error.log", "loglevel": "warning" }, "inbounds": [ { "listen": "127.0.0.1", "port": 33888, "protocol": "vmess", "settings": { "clients": [ { "id": "a1199f80-a920-437b-9531-7f86b62533a0", "alterId": 64 } ] }, "streamSettings": { "network": "ws", "wsSettings": { "path": "/vv22" } } } ], "outbounds": [ { "tag": "direct", "protocol": "freedom", "settings": {} }, { "tag": "blocked", "protocol": "blackhole", "settings": {} } ], "routing": { "domainStrategy": "AsIs", "rules": [ { "type": "field", "ip": [ "geoip:private" ], "outboundTag": "blocked" } ] } }
8-3、检查V2Ray配置文件
输入:
/usr/bin/v2ray/v2ray -test -config=/etc/v2ray/config.json
如无问题,应该看到一条消息,“配置成功”"Configuration OK."。
root@vm:~# /usr/bin/v2ray/v2ray -test -config=/etc/v2ray/config.json V2Ray 4.21.3 (V2Fly, a community-driven edition of V2Ray.) Custom A unified platform for anti-censorship. Configuration OK.
8-4、启动和测试V2Ray
8-4-1、启动V2Ray
输入:
systemctl start v2ray
8-4-2、检查V2Ray是否正在运行(检不检查都可)
输入:
systemctl status v2ray
你应该看到这样子的结果,如看到如下绿色字 active (running),表明 v2ray已经启动:
注意:查看v2ray状态后,SSH窗口的命令输入光标可能消失,即:没有了 root@vultr:~#(本例如此,你的服务器vultr这个名会不同),无法输入下一个命令 这时,请参考前文:SSH连接软件-Xshell下载及使用教程 - 美博园 之 3、“打开”建立的SSH连接 即:重新打开SSH连接到服务器,就会在新建的SSH连接中出现 root@vultr:~# ,可以输入下一个命令了。
8-4-3、检查V2Ray是否正在侦听localhost端口(检不检查都可)
输入:
apt install net-tools
再输入:
netstat -tulpn
九、配置 Caddy
9-1、加入Caddy配置文件
输入:
nano ~/Caddyfile
请注意,先要修改下面紫红色标记出内容为你自己的配置(下面有详细说明)
然后再将内容粘贴到 #绿色光标处
http://abcdef.com { redir https://abcdef.com{url} } https://abcdef.com { tls 12345@gmail.com log /var/log/caddy.log root /var/www/html proxy /vv22 127.0.0.1:33888 websocket header_upstream -Origin } }
然后,按回车将#光标另立分行。再同时按 Ctrl + X,再按y,退出nano编辑状态。
说明: 1)abcdef.com:改为你自己的域名,域名前要不要加www都可,即abcdef.com和www.abcdef.com都可以,但在所有配置中一定要一致就行; 2)12345@gmail.com:改为你自己的邮箱,Caddy将自动与Let's Encrypt联系以获取SSL证书并在90天到期后自动更新证书; 3)proxy /vv22 127.0.0.1:33888,此行的含义是:路径分流,流量转发,将443端口在/v2ray路径收到的流量转发给33888端口,在后面我们会让v2ray监听33888这个端口。这一行中 /vv22,是路径,这个路径可以是/,也可自己指定的任何字母数字组合,但一定要与上面v2ray服务器配置文件中的路径相同,以及后面的客户端配置路径相同; 33888,这个端口也要改成你自己在8-1、安装V2Ray时生成的端口; 4)Caddy将自动与Let's Encrypt联系以获取SSL证书。它将证书和密钥放在/etc/ssl/caddy/acme/acme-v02.api.letsencrypt.org/sites/www.fuyin.world中 5)此文件保存后,Caddy会随即向Let's Encrypt发出SSL证书申请,一般很快在一分钟就可完成,但可能有人会遇到特殊情况比较久一些才会完成。
9-2、赋予Caddy配置文件权限
#将您的Caddy配置文件复制到正确的目录中:
输入:
cp ~/Caddyfile /etc/caddy/
#给它适当的所有权和权限:
输入:
chown root:root /etc/caddy/Caddyfile
输入:
chmod 644 /etc/caddy/Caddyfile
9-3、启动Caddy
#启用Caddy
输入:
systemctl enable caddy
#启动Caddy
输入:
systemctl start caddy
9-4、检查Caddy启动状态(检不检查都可)
#检查Caddy是否正在运行并且正在侦听端口80和443上的输入:
输入:
systemctl status caddy
你应该看到这样子的结果,如看到如下绿色字 active (running),表明 caddy已经启动:
9-5、Caddy没有正常启动的记录查看
如果Caddy无法正常启动,则可以查看日志数据以帮助找出问题:
输入:
journalctl --boot -u caddy.service
9-6、退出SSH
至此,前面所有设置完成,可以退出 SSH连接了
输入:
exit
或者 直接关闭 X-shell
十、防火墙简易设置
为了增强安全性,下面介绍防火墙的简易设置,请接着上面的步骤继续完成下面的设置。
不过美博觉得这个防火墙可设置也可不设置,因为你的自建代理本来就是隐蔽在运行。如果要進一步增强安全性,当然是可以设置的。
请根据你的系统是 Ubuntu 或 debian 来选择设置,二者防火墙设置方式不同。
10-1、Ubuntu 系统 开启防火墙及端口设置
如果你使用的是 Ubuntu 系统,请按照下面的设置,不适用于Debian系统和Centos系统
因我们只是用于翻墙,需要打开这几个端口 port: 22, 80, 443,和你自己的端口(本教程例举为 33888),
22 / TCP(入站/出站):标准SSH端口
80 / TCP(入站/出站):标准HTTP端口
443 / TCP(入站/出站):标准HTTPS端口
33888 / TCP(出站):连接到GPG密钥服务器端口
用下面的命令打开这几个 port
依次輸入以下指令:
ufw allow 22
回车
ufw allow 80
回车
ufw allow 443
回车
再次提醒下面命令的 33888 改为自己端口
ufw allow 33888
回车
再输入命令启用防火墙
ufw enable
回车
会提问:
root@vultr:~# ufw enable Command may disrupt existing ssh connections. Proceed with operation (y|n)?
问是否真的启用防火墙 enable firewall,并警告如果设定不当会断线。因我们已经启用 allow port 22 ,所以没有问题,
按下 y 回车
就可以了。
10-2、Debian 系统 开启防火墙及端口设置
如果你使用的是 Debian 系统,请按照下面的设置,不适用于Ubuntu系统和Centos系统
1)安装UFW
Debian默认不安装UFW,使用apt安装:
sudo apt install ufw
2)设置默认策略
要设置UFW使用的默认值,使用以下命令:
sudo ufw default deny incoming sudo ufw default allow outgoing
3)允许SSH连接
允许端口22上的所有连接
sudo ufw allow 22
如果将SSH使用其他端口,则必须指定相应的端口。例如,如果SSH服务器正在监听端口2222 ,则可以使用此命令允许该端口上的连接:
sudo ufw allow 2222
4)启用UFW
在允许了SSH后,才启用UFW,不然SSH连接会断开
要启用UFW,使用以下命令:
sudo ufw enable
会询问是否安装,
root@v3225:~# sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)?
请输入 y
完成安装会显示:
Firewall is active and enabled on system startup
5)打开常用端口
翻墙会用到 端口80、443、自己服务器的端口本教程的12345
依次输入:
sudo ufw allow 80
sudo ufw allow 443
sudo ufw allow 33888
(这里的33888改为自己的v2ray服务器端口)
至此,防火墙设置完成
十一、检查网站(检不检查都可)
在浏览器地址栏输入自己的域名(举例:abcdef.com),可以看到你在“六、创建网站(网页)”创建的网站(网页)内容
如果使用Firefox浏览器,ie和chrome没有这个问题,输入域名后“可能”打不开网站,若遇到,这可能是firefox的问题,需要检查该站点是否使用HTTP/2:
打开Firefox浏览器 → 按F12打开开发人员工具 → 单击"网络"选项 → 点“重新载入”刷新页面 → 选择主要的 GET 进入你的网站。
十二、检查SSL证书是否生效及效果(检不检查都可)
如果你在上面 十一步,用 https 已经可以访问你的网站,当然 ssl 是已经安装没有问题了。
如果要進一步看看SSL效果,可以在 SSL Labs网站查看
https://www.ssllabs.com/ssltest/
在其中输入自己的域名,可以检测一下https配置评分。
十三、客户端配置 - V2RayN
我们选择用V2RayN作为windows电脑端的客户端使用程序来说明,手机及Mac电脑端设置软件不同、但参数一样,请参考:
请参考前文概述:v2ray客户端代理上网 - Windows、Android、Mac、ios
12-1、客户端软件下载,
1) 先要下载v2ray官方提供的核心程序 v2ray-core
下载地址:https://github.com/v2ray/v2ray-core/releases
根据自己的系统选择相应的版本下载
是绿色软件,无需安装,可在任何地方使用,官方文件压缩包解压时最好先要生成一个文件夹,如:v2ray,将下载的v2ray-windows-64.zip全部解压到这个文件夹,但官方版没有图形界面,只有核心程序。
为了便于直观操作,还需要下载图形界面程序,如下
2) 再下载图形界面程序V2RayN
如上述下载地址是:https://github.com/2dust/v2rayN/releases
下载符合自己电脑系统的最新版后,将其解压到上一步v2ray-core的同一个文件夹中,即v2ray。
即:将1)和2)的文件整合在一个文件夹中。
请注意:本程序运行需要.NET Framework 4.6及以上, 若没有请下载:https://docs.microsoft.com/zh-cn/dotnet/framework/install/guide-for-developers
3)在v2ray文件夹中找到 v2rayN.exe
双击v2rayN.exe,即可启动v2ray
12-2、配置参数:
主要有二个页面需要设置:
1)服务器参数设置
打开(启动)v2rayN程序,“服务器”栏目设置,如下图:
本方法的客户端配置参数,略有修改,如图所示:
按照上图填写好自己的v2ray参数后,点“确定”,就会生成客户端的配置文件config.json。
其中的参数填写,必须与上面服务器配置的参数完全相同。
2)“参数设置”栏自定义设置浏览器代理端口
仍然在v2rayN打开状态下,点上面的“参数设置”,只有一处自己设置,就是设置本地监听端口,即浏览器的v2ray代理端口,v2rayN程序默认的这个端口是 10808,可以自定义设置任意端口号,一般比较大的数较好,其余部份都可用默认的。
如下图所示,记住设置完成后要点最下面的 “确认”
说明:这里设置的端口,如设置为 1080,那么v2rayN程序会自动将这个端口写入客户端配置文件中,所以,浏览器设置的v2ray代理端口一定与其一致,否则不能联网,即:浏览器设置的代理为 127.0.0.1:1080
十三、浏览器设置与代理上网
13-1、浏览器代理参数设置
接上,假如在 v2rayN设置的本地监听(浏览器代理)端口为 1080 ,那么在浏览器中设置v2ray代理为: socks5 127.0.0.1:1080
请注意:
1)firefox68版,很多代理调度扩展不能使用(如 Gproxy代理扩展),美博园的Firefox纯净绿色版已经用另外的代理扩展设置有这个端口的v2ray代理,请参考:
火狐浏览器_Firefox_68.0.1esr_美博园纯净中文绿色版(更新) - 美博园
2)57版之前的旧版firefox,可以使用以下介绍的方法设置firefox浏览器代理, 但是, 切记:在新版firefox中下面的代理扩展已经不起作用!
请参考:
GProxy:火狐(firefox)浏览器简便的代理调度扩展(v2.1) - 美博园 GProxy Plus 3.0和 3.1 版:Firefox浏览器简便的代理调度扩展(20180523) - 美博园
3)、其他浏览器设置v2ray代理,请参考上面介绍的firefox设置,这里不详述
13-2、上网,查看ip
代理是不是设置好了?代理起作用没有,一般在第一次使用时应该自己验证确认一下。
方法很多,如:
美博园主页右侧栏有上网ip显示 美博园上网代理IP地址查询检测 美博园IP地理信息查询 点進去就可以看到自己当前上网的代理ip地址及相关参数。 当然,你也可以通过其他方法检验。 其他方法请参考:如何查看自己上网的ip地址? - 美博园
======== 自建v2ray代理系列文章参考 ============
自己搭建代理服务器:VPS的选择 - 美博园 自己搭建代理服务器:Vultr VPS 购买图文教程 - 美博园 自己搭建代理服务器:Vultr VPS 系统安装图文教程 - 美博园 自己搭建代理服务器:检测ip是否被墙及更换ip - 美博园 自己搭建代理服务器:域名购买及设置与ip服务器关联 - 美博园 SSH连接软件-Xshell下载及使用教程 - 美博园 自建最强科学上网:v2ray + websocket + web + nginx (EasyEngine) - 美博园 v2ray客户端代理上网 - Windows、Android、Mac、ios - 美博园 Let's Encrypt SSL 证书安装不了的若干问题解决 - 美博园 如何开启Google TCP BBR 加速 - 美博园 V2ray自建代理遇到的一些问题及解决 - 美博园