VPS 代理设置教程:新手详细指南

@naiyue777
简体中文2026年6月06日
224K
487
86
40
1.2K

TL;DR

本教程提供了使用 VPS、Cloudflare 和 Xray (VLESS+Vision) 搭建个人代理服务器的分步指南,助你获得稳定且私密的网络连接。

大家好,我是奈月,之前花了一点时间研究了一下VPS搭建。感恩codex老师,我真的是每一步都是靠问codex才搞出来的,搞出来之后就想写篇文章分享给大家。

如果能帮到你就太好了,如果我哪里说的不对也请多多指教~

一、为什么需要域名和 VPS

如果只是临时翻墙,最简单的方式当然是直接购买现成的梯子。但如果你想自己掌握节点配置、协议选择、证书管理和客户端订阅方式,自建一台 VPS 会更可控,也更适合长久使用。

这篇文章要做的事情是帮助你拥有一个自己的梯子,但是我的教程并非最全面最完美的,如果想实现更多功能和更安全的配置,需要去学习更多教程。本教程的目的还是为了快速上手。

最终效果是:你有一个自己的域名,比如:node.example.com

它指向你购买的 VPS。VPS 上运行代理服务,客户端通过这个域名连接到 VPS,再由 VPS 访问目标网站。

整体关系可以理解成:

text
1手机 / 电脑客户端
2
3node.example.com
4
5VPS 公网服务器
6
7目标网站

这里有两个关键组件:域名和 VPS。

域名的作用是提供一个稳定、可读、可签证书的入口。理论上你也可以直接用 VPS 的 IP 连接,但实际使用时不推荐这么做。

原因有三个:

第一,域名方便迁移。如果 VPS IP 后续被更换、线路变差,或者你换了服务商,只需要把域名的 DNS 记录改到新 IP,客户端仍然连接同一个域名。

第二,域名方便申请 TLS 证书。本文使用的是带 TLS 的方案,客户端连接时会验证证书。用域名申请证书更自然,也更接近普通 HTTPS 服务的使用方式。

第三,域名方便做后续管理。比如你可以把主节点写成:

node.example.com

备用节点写成:

node2.example.com

订阅服务写成:

sub.example.com

这样比直接记一串 IP 更清晰。

VPS 的作用是提供一台公网服务器。它需要有公网 IP、稳定网络、足够流量,并且允许你通过 SSH 登录安装服务。

本文使用的是 Ubuntu 22.04 系统,配置不需要很高,个人使用一般 1C2G 就够,真正需要关注的是机房位置、带宽和月流量。

需要提前说明的是,这套方案只适合个人学习和自用。不要把节点公开给陌生人使用,也不要把订阅链接、二维码、UUID、服务器 IP 等敏感信息发到公开页面。

二、准备材料:域名、VPS、Cloudflare 账号、SSH 工具

开始之前,先把这次会用到的东西准备好。这个环节不复杂,但建议一次整理清楚,后面配置时会少很多来回排查。

我这次实际使用的组合是:

text
1域名注册商:Porkbun
2DNS 管理:Cloudflare Free
3VPS 地区:香港
4VPS 系统:Ubuntu 22.04
5VPS 配置:1C2G / 100Mbps / 30G 硬盘 / 300G 月流量
6服务端脚本:v2ray-agent
7代理核心:Xray-core
8最终协议:VLESS + TCP + TLS + Vision
9电脑客户端:Clash Verge
10手机客户端:Shadowrocket

有朋友可能会问,哎你买个香港的VPS怎么订阅AI呢。

哈哈不要慌,我这个VPS不是拿来玩AI的,如果你的目的是为了使用国外的AI,那么去寻找对应稳定的VPS去购买就可以了,你不需要完全照抄我的 VPS 服务商,X上有很多的VPS购买推荐。

2.1 一个域名

域名可以在 Porkbun、Namecheap、Cloudflare Registrar 等平台购买。我这次用的是 Porkbun,一年大约 11 美元左右,价格正常。

购买域名时,只需要买域名本身,不需要额外购买网站托管服务。后面我们会自己在 VPS 上配置服务,证书也会用免费的 Let's Encrypt 申请。

购买时建议确认这几项:

text
1域名已购买成功
2Whois 隐私保护已开启
3自动续费已开启
4账户开启 2FA
5没有购买额外 Web Hosting
6没有购买额外付费 SSL

这里再说一遍,买域名不是为了做网站,而是为了给 VPS 提供一个稳定的访问入口。

比如后面我们会配置一个子域名:

node.example.com

让它指向 VPS 的公网 IP。客户端连接时,访问的是这个域名,而不是直接写 VPS IP。

naiyue777 - inline image

2.2 一个 Cloudflare 账号

Cloudflare 在这里主要负责 DNS 管理,不是必须在 Cloudflare 买域名。

我的实际做法是:

text
1域名在 Porkbun 购买
2DNS 交给 Cloudflare 管理

也就是把 Porkbun 里的 Nameserver 改成 Cloudflare 分配的两个 Nameserver。这样以后所有 DNS 记录都在 Cloudflare 里配置。

这一步后面会详细写。现在只需要提前准备好 Cloudflare 账号,并选择免费套餐即可。

打开 https://dash.cloudflare.com/

注册/登录后:

text
1Add a domain / 添加站点
2
3输入你的域名(如xxx.com),要输入根域名
4
5选择 Free 免费计划
6
7Cloudflare 会扫描现有 DNS 记录
8
9继续

Cloudflare 最后会给你两个 nameserver,格式大概像:

text
1xxxx.ns.cloudflare.com
2yyyy.ns.cloudflare.com
naiyue777 - inline image

2.3 一台 VPS

VPS 是这套方案里真正运行服务的机器。它需要有公网 IPv4,能通过 SSH 登录,并且 80、443 端口可以正常使用。

我是在全球云购买的,https://my.locvps.net/idcSystem.aspx?

我不做任何广告。大家的需求是不一样的,根据自己的需求可以去别的地方买自己需要的VPS。

naiyue777 - inline image

2.4 SSH 登录工具

我是用 Mac 自带终端登录 VPS。macOS 不需要额外安装 SSH 工具,直接打开终端即可。

SSH 登录命令格式是:

text
1ssh root@<VPS_IP> -p <SSH_PORT>
2例如:
3ssh root@203.0.113.10 -p 43781

2.5 客户端软件

服务端搭好以后,需要在电脑或手机上导入节点。

我这次主要用了两个客户端:

text
1Mac:Clash Verge
2iPhone:Shadowrocket

Clash Verge 适合导入订阅,后面 v2ray-agent 会生成 ClashMeta 格式订阅,可以直接添加到 Clash Verge。

Shadowrocket 适合在 iPhone 上测试单个节点。即使订阅里没有专门的 Shadowrocket 格式,也可以复制安装脚本输出的 vless:// 链接手动导入。

三、域名接入 Cloudflare

域名买好以后,下一步是把 DNS 管理权交给 Cloudflare。

还记得刚才说的两个namespace吗,我们就是要配置它。

这两个 Nameserver 的作用是告诉全球 DNS 系统:

这个域名以后由 Cloudflare 来管理解析记录。

也就是说,Porkbun 仍然是域名注册商,但 DNS 记录改到 Cloudflare 管理。

我这里以Porkbun为例,演示下怎么修改,大家在其他平台购买的,可以自行去寻找修改方式。

进入域名详情,找到 Nameservers 配置。

把原来的 Porkbun Nameserver 替换成 Cloudflare 给的两个 Nameserver。

naiyue777 - inline image
naiyue777 - inline image
naiyue777 - inline image

保存后,Porkbun 里的 Nameserver 区域应该能看到这两个 Cloudflare 地址。

这一步保存后,不代表立刻全球生效。DNS 变更需要传播时间,通常几分钟到几小时,Cloudflare 页面也会提示:

正在验证您的域名是否已指向 Cloudflare。

这很正常。官方提示可能写 1 到 2 小时,最长可能 24 小时。实际我这次等了一会儿就通过了。

修改完成后,回到 Cloudflare 等待验证。

验证成功后,Cloudflare 会显示类似:

您的域名现已受到 Cloudflare 的保护。

或者显示站点状态为 Active。

这个状态说明:

域名已经成功指向 Cloudflare。后续 DNS 记录可以在 Cloudflare 里配置。

这一步完成之前,不建议急着安装服务端脚本。因为后面申请证书、校验域名 IP 都依赖 DNS 正确生效。如果 DNS 还没完全切过来,后面很容易遇到域名校验失败。

Cloudflare 页面显示成功后,最好再用命令确认一次。

在 Mac 终端执行:

dig +short NS example.com

正常情况下,应该返回 Cloudflare 的 Nameserver。

如果还是返回 Porkbun 的 Nameserver,说明 DNS 管理权还没有完全切到 Cloudflare。这个时候先不要继续配置节点,等一会儿再查。

四、配置 DNS:添加记录并保持灰云

域名接入 Cloudflare 后,下一步是在 Cloudflare 里添加真正指向 VPS 的 DNS 记录。

我这里实际使用的是:

text
1根域名:xxx.com
2节点域名:node.xxx.com
3VPS IPv4:xx.xx.xx.xx
4Cloudflare 记录状态:DNS only

4.1 进入 Cloudflare DNS 页面

登录 Cloudflare,进入你的站点,然后打开:

text
1DNS → Records

这里会看到 Cloudflare 扫描或已有的 DNS 记录。

如果你的域名刚从 Porkbun 接过来,可能会看到一些默认记录,比如:

text
1A 记录
2CNAME 记录
3MX 记录
4TXT 记录

这些都可以先删除掉,我们自行配置一条新的。

因为我准备使用node作为节点域名,所以就要增加一条node的记录。

4.2 添加 A 记录

点击:

text
1Add record

然后填写:

text
1Type: A
2Name: node
3Content: VPS 公网 IPv4
4TTL: Auto
5Proxy status: DNS only
naiyue777 - inline image

4.3 为什么这里必须选灰云

Cloudflare 里的 Proxy status 有两种常见状态:

text
1Proxied:橙云
2DNS only:灰云

本文这里要选:

DNS only

也就是灰云。

区别可以简单理解成:

灰云:Cloudflare 只负责 DNS 解析,客户端直接连接。

橙云:客户端先连 Cloudflare,再由 Cloudflare 转发到源站。

如果是普通网站,比如博客、官网、静态页面,开橙云可以使用 Cloudflare 的 CDN、WAF、缓存和隐藏源站 IP。

但我们这篇教程使用的是:

VLESS + TCP + TLS + Vision

它不是普通 HTTP 网站反代场景。为了让客户端直接和 VPS 上的 Xray 服务建立连接,这条 node 记录应保持灰云。

4.4 验证 DNS 是否解析到 VPS

保存 DNS 记录后,在 Mac 终端执行:

text
1dig @1.1.1.1 +short A [你的域名,如node.example.com]
2dig @8.8.8.8 +short A [你的域名,如node.example.com]
3dig @223.5.5.5 +short A [你的域名,如node.example.com]

正常结果应该返回你的 VPS IP。

注意:如果你的电脑有开启代理,并且使用了TUN模式,可能会影响终端的输出。做这步验证前请先关闭TUN模式。

五、初始化服务器

先通过ssh登陆服务器:

text
1举例:
2ssh root@203.0.113.10 -p 43781

第一次登录时,终端可能会提示是否信任服务器指纹:

text
1Are you sure you want to continue connecting (yes/no/[fingerprint])?

输入:yes。

然后输入 root 密码。

登录后,先更新软件包列表:

text
1apt update
2apt upgrade -y

如果中途卡在蓝色或紫色配置界面,不要直接关窗口。Ubuntu 在升级某些包时会询问是否保留本地配置文件。

我这次遇到了两个配置文件提示。

第一个是:

naiyue777 - inline image

第二个是:

text
1/etc/cloud/cloud.cfg

终端提示类似:

text
1cloud.cfg (Y/I/N/O/D/Z) [default=N] ?

这里直接按回车,使用默认:N

升级完成前,Ubuntu 可能会弹出一个界面:

text
1Daemons using outdated libraries
2Which services should be restarted?

它是在问:有些服务仍然加载着旧版本库,要不要重启这些服务。

一般保持默认勾选,然后选择:OK

系统更新完成后,安装一些后面会用到的工具:

text
1apt install -y curl wget sudo vim ufw lsof unzip socat jq qrencode dnsutils

这些工具分别会用于:

text
1curl / wget:下载脚本、测试访问
2ufw:配置防火墙
3lsof / ss:检查端口占用
4unzip:解压文件
5socat:申请证书时可能用到
6jq:处理 JSON
7qrencode:生成二维码
8dnsutils:提供 dig 命令

最后一步检查域名是否指向服务器:

text
1curl -4 ifconfig.me
2dig +short A [你的域名,如node.example.com]

这两个结果应该一致。

六、配置防火墙并做安装前备份

VPS 初始化完成后,不要急着安装 v2ray-agent。先做两件事:

第一,配置防火墙,确认 SSH、80、443 端口可用。

第二,备份当前关键配置,方便后面出问题时回滚。

这一步看起来不复杂,但很重要。尤其是防火墙,如果顺序错了,可能会把自己锁在服务器外面。

6.1 先确认当前登陆端口

配置防火墙前,先确认你现在是通过哪个端口登录 VPS 的。

如果你的登录命令是:

ssh root@203.0.113.10 -p 43781

那你的 SSH 端口就是:

43781

这一步不要凭感觉猜。很多 VPS 服务商不会使用默认的 22 端口,而是给你一个自定义 SSH 端口。我这次就是服务商给了一个自定义端口。

如果后面直接启用防火墙,但忘了放行这个端口,就可能出现:

当前 SSH 会话还没断但新窗口再也连不上服务器。

所以防火墙第一条规则必须先放行 SSH 端口。

6.2 放行必要端口

本文后面需要用到三个端口:

text
1SSH 端口:用于远程登录 VPS
280/tcp:用于 HTTP 证书校验
3443/tcp:用于最终代理服务

在 VPS 上执行:

text
1ufw allow 43781/tcp
2ufw allow 80/tcp
3ufw allow 443/tcp

如果你的 SSH 端口不是 43781,请替换成自己的端口。

执行后,可以先查看规则:

ufw status verbose

如果此时提示:

Status: inactive

也没关系,说明规则已经添加,但防火墙还没启用。

6.3 启用 UFW 防火墙

确认 SSH 端口已经放行后,再启用 UFW:

ufw enable

系统会提示:

输入:

y

然后再次检查:

ufw status verbose

正常应该能看到类似:

text
1Status: active
2
3To Action From
4-- ------ ----
543781/tcp ALLOW Anywhere
680/tcp ALLOW Anywhere
7443/tcp ALLOW Anywhere
843781/tcp (v6) ALLOW Anywhere (v6)
980/tcp (v6) ALLOW Anywhere (v6)
10443/tcp (v6) ALLOW Anywhere (v6)

如果你不需要 IPv6,也可以暂时不用管 v6 规则。这里的关键是 IPv4 的 SSH、80、443 都要是 ALLOW。

6.4 新开一个终端测试 SSH

启用防火墙后,不要立刻关闭当前 SSH 窗口。

正确做法是:保持当前窗口不动,在 Mac 上新开一个终端窗口,再登录一次 VPS。

执行:

ssh root@203.0.113.10 -p 43781

如果新窗口可以正常登录,说明防火墙没有把 SSH 挡掉。

确认没问题后,再继续后面的步骤。

如果新窗口无法登录,但旧窗口还在,可以立刻检查:

ufw status verbose

确认是否忘了放行 SSH 端口。如果确实配错,可以临时关闭 UFW:

ufw disable

然后重新配置。

6.5 做安装前备份

防火墙确认没问题后,开始做备份。

这一步的目标是保存安装 v2ray-agent 之前的关键状态。后面脚本会改 Nginx、证书目录、Xray 配置等内容。如果安装失败,至少知道原来是什么样。

执行:

mkdir -p /root/backup-before-v2ray-agent

备份 Nginx 配置:

备份 Let&#39;s Encrypt 证书目录:

备份 SSH 配置:

naiyue777 - inline image

记录当前端口占用:

ss -tulpn &gt; /root/backup-before-v2ray-agent/ports-before.txt

记录当前防火墙状态:

ufw status verbose &gt; /root/backup-before-v2ray-agent/ufw-status.txt

最后查看备份结果:

ls -lah /root/backup-before-v2ray-agent

我当时的输出类似:

text
1total 28K
2drwxr-xr-x 4 root root 4.0K May 2 08:02 .
3drwx------ 6 root root 4.0K May 2 08:02 ..
4drwxr-xr-x 9 root root 4.0K May 2 07:56 letsencrypt
5drwxr-xr-x 8 root root 4.0K May 2 07:56 nginx
6-rw-r--r-- 1 root root 1.1K May 2 08:02 ports-before.txt
7-rw-r--r-- 1 root root 3.1K May 2 06:58 sshd_config
8-rw-r--r-- 1 root root 600 May 2 08:02 ufw-status.txt

6.6 检查当前端口占用

安装 v2ray-agent 前,最好看一下 80 和 443 是否已经被占用。

执行:

如果没有输出,说明当前没有进程监听 80 或 443。

如果已经安装过 Nginx,可能会看到 Nginx 监听 80 或 443。后面 v2ray-agent 脚本通常会处理 Nginx 配置,但你至少要知道安装前状态是什么。

七、安装 v2ray-agent,并选择 Xray + VLESS Vision

服务器准备好以后,就可以正式安装服务端程序。

我这次使用的是:

text
1服务端脚本:v2ray-agent
2核心:Xray-core
3协议:VLESS + TCP + TLS + Vision
4端口:443域名:node.example.com
5证书:Let's Encrypt

7.1 下载并运行安装脚本

在 VPS 上执行:

wget -P /root -N --no-check-certificate &quot;https://raw.githubusercontent.com/mack-a/v2ray-agent/master/install.sh&quot; &amp;&amp; chmod 700 /root/install.sh &amp;&amp; /root/install.sh

这条命令做了三件事:

text
1下载 install.sh 到 /root
2给 install.sh 添加执行权限
3运行安装脚本

我当时运行后,脚本显示的信息类似:

text
1作者:mack-a
2当前版本:v3.5.14
3Github:https://github.com/mack-a/v2ray-agent
4描述:八合一共存脚本

安装脚本运行后,会出现主菜单:

text
11.安装
22.任意组合安装
33.一键无域名
44.Hysteria 2 管理
55.REALITY 管理
66.Tuic 管理
77.用户管理
88.伪装站管理
99.证书管理
1010.CDN 节点管理
11...

这里选择:

任意组合安装

原因是我们要明确选择:

text
1Xray-core
2VLESS + TLS_Vision + TCP

不要让脚本帮我们走无域名或其他默认路线。

7.2 选择核心:Xray-core

进入任意组合安装后,脚本会提示选择核心:

text
1功能 1/1 : 选择核心安装
2
31.Xray-core
42.sing-box

我这里选择:

Xray-core

原因是我走的是经典的 Xray + VLESS Vision 方案,兼容性比较成熟,Clash Verge、Shadowrocket 这类客户端也都能支持。

输入:

1

然后回车。

7.3 选择协议:VLESS + TLS Vision + TCP

接下来脚本会显示协议列表。我当时看到的选项类似:

text
10.VLESS+TLS_Vision+TCP[推荐]
21.VLESS+TLS+WS[仅CDN推荐]
33.VMess+TLS+WS[仅CDN推荐]
44.Trojan+TLS[不推荐]
57.VLESS+Reality+uTLS+Vision[推荐]
612.VLESS+Reality+X_HTTP+TLS[CDN可用]

这里选择:

VLESS+TLS_Vision+TCP[推荐]

输入:

0

然后回车。

7.4 安装基础组件

选择协议后,脚本会开始安装依赖。

我当时看到的过程类似:

text
1进度 1/12 : 安装工具
2---> 检查、安装更新
3---> 安装 unzip
4---> 安装 socat
5---> 安装 crontabs
6---> 安装 jq
7---> 安装 ping6
8---> 安装 qrencode
9---> 安装 nginx
10---> 安装 acme.sh

这里会安装几个后面需要用到的组件:

text
1nginx:伪装站点和本地转发相关
2acme.sh:申请 TLS 证书
3jq:处理配置
4qrencode:生成二维码
5socat:证书申请时可能用到

新机器上这一步可能会慢一些。如果长时间没有输出,可以先等一会儿,不要频繁中断。

7.5 输入节点域名

脚本接着会进入 Nginx 和证书初始化流程,提示输入域名:

请输入要配置的域名 例: www.v2ray-agent.com ---&gt;

输入你的域名,如:

node.example.com

注意这里要输入完整子域名,不是根域名。

7.6 输入端口:使用默认 443

输入域名后,脚本会提示输入端口:

请输入端口[默认: 443],可自定义端口[回车使用默认]

这里直接回车,使用默认:

443

我当时脚本显示:

---&gt; 端口: 443

前面防火墙已经放行了:

443/tcp

所以这里可以直接使用。

7.7 等待域名 IP 校验

端口确认后,脚本会检查域名解析是否正确。

正常会看到类似:

text
1---> 域名IP校验通过
2---> 删除Nginx默认配置
3---> Nginx启动成功
4---> Nginx关闭成功
5---> 检测到443端口已开放
6---> 检查域名ip中
7---> 检查当前域名IP正确

如果这里失败,不要继续硬装。优先回到前面的 DNS 检查:

dig @1.1.1.1 +short A node.example.com

dig @8.8.8.8 +short A node.example.com

确保返回 VPS IP。

还要检查 Cloudflare 里这条记录是不是灰云:

Proxy status: DNS only

如果开成橙云,脚本检测和后续连接都可能异常。

7.8 申请 TLS 证书

接下来进入证书申请阶段:

进度 3/12 : 申请TLS证书

脚本会问:

是否使用DNS API申请证书[支持NAT]?[y/n]

我这里选:

n

原因是这台 VPS 有公网 IPv4,80 和 443 端口也已经放行,不需要走 DNS API 申请证书。

然后脚本会让你选择证书机构:

text
11.letsencrypt[默认]
22.zerossl
33.buypass[不支持DNS申请]

这里直接回车,使用默认:

letsencrypt

也就是:

letsencrypt

Let&#39;s Encrypt 是免费证书,个人使用完全够用。证书本身不是导致节点异常的关键因素,真正要保证的是:

域名解析正确

证书申请成功

续期任务正常

服务端配置正确

7.9 UUID 和用户名

后面脚本会提示输入 UUID:

请输入自定义UUID[需合法],[回车]随机UUID

这里建议直接回车,让脚本随机生成。

接着提示输入用户名:

请输入自定义用户名[需合法],[回车]随机用户名

这里也可以直接回车随机生成。你也可以输入一个方便自己识别的名字,但不要用真实姓名、手机号、邮箱这类个人信息。

7.10 安装完成后的账号输出

安装完成后,脚本会进入最后一步:

进度 12/12 : 账号

我当时输出的是:

text
1VLESS TCP TLS_Vision [推荐]
2通用格式(VLESS+TCP+TLS_Vision)
3vless://...
4格式化明文(VLESS+TCP+TLS_Vision)
5协议类型: VLESS
6地址: node.example.com
7端口: 443
8用户ID: ...
9安全: tls
10client-fingerprint: chrome
11传输方式: tcp
12flow: xtls-rprx-vision
13账户名: ...
14二维码 VLESS

这说明服务端已经生成了 VLESS Vision 节点。

7.11 检查 Xray 和 Nginx 状态

安装完成后,先不要急着导入客户端。先在 VPS 上检查服务状态:

text
1systemctl status xray --no-pager
2systemctl status nginx --no-pager
3ss -tulpn | grep -E '(:443|:80|xray|nginx)'

我当时检查到的关键结果是:

text
1xray.service active (running)
2nginx.service active (running)
3xray 监听公网 *:443
4nginx 监听 127.0.0.1:31300 和 127.0.0.1:31302

这说明:

公网 443 入口由 Xray 接管,Nginx 在本地端口提供伪装站或辅助服务,服务已经正常启动。

如果 xray.service 不是 active (running),需要先看日志,不要直接继续导入客户端。

可以执行:

journalctl -u xray --no-pager -n 80

八、生成订阅链接,并准备给 Clash Verge 使用

上一节安装完成后,脚本已经输出了单条 vless:// 节点链接。这个链接可以直接导入 Shadowrocket 这类客户端。

但如果是在 Mac 上使用 Clash Verge,更推荐生成订阅链接。

订阅链接的好处是:

text
1客户端只需要添加一次订阅
2后续节点信息变更后刷新订阅即可
3多个用户或多个节点更方便管理
4Clash Verge 可以直接使用 ClashMeta 格式

我这次实际生成订阅时用的是 v2ray-agent 的用户管理功能:

text
1vasma
2→ 7. 用户管理
3→ 2. 查看订阅
4→ 选择 ClashMeta 格式

8.1 重新打开 v2ray-agent 菜单

安装脚本完成后,会自动创建快捷命令:

vasma

在 VPS 上执行:

vasma

会重新打开 v2ray-agent 主菜单。

菜单里可以看到:

text
11.安装
22.任意组合安装
33.一键无域名
44.Hysteria 2 管理
55.REALITY 管理
66.Tuic 管理
77.用户管理
88.伪装站管理
99.证书管理
1010.CDN节点管理
11...

这里选择:

用户管理

8.2 进入查看订阅

进入用户管理后,会看到类似菜单:

text
1功能 1/1 : 账号管理
2
31.查看账号
42.查看订阅
53.管理其他订阅
64.添加用户
75.删除用户

这里选择:

查看订阅

这一步会重新生成本地账号的订阅内容。

脚本里也会提示类似:

查看订阅会重新生成本地账号的订阅,需要手动输入 md5 加密的 salt 值,如果不了解使用随机即可。不影响已添加的远程订阅的内容。

如果你只是个人使用,按默认随机即可。

8.3 输入订阅端口

脚本会提示:

text
1开始配置订阅,请输入订阅的端口
2
3请输入自定义端口[需合法],端口不可重复,[回车]随机端口

这里有两种选择:

直接回车:脚本随机生成端口

手动输入端口:方便自己记忆,但不能和已有端口冲突

我建议新手直接回车,让脚本随机生成。

如果你选择自定义端口,要额外确认:

端口没有被占用

防火墙已放行该端口

服务商安全组也放行该端口

为了减少变量,第一次配置用随机端口更省事。

8.4 伪装站点提示

脚本可能会提示:

开始添加伪装站点

检测到安装伪装站点,是否需要重新安装[y/n]

如果前面安装 VLESS Vision 时已经配置过伪装站点,这里通常选:

n

也就是不重新安装。

重新安装不是不行,但新手教程里没必要增加变量。我们当前目标只是生成订阅链接,不是重新配置伪装站点。

8.5 salt 值怎么选

后面脚本会提示输入 salt:

请输入salt值, [回车]使用随机

这里直接回车即可。

salt 的作用可以简单理解成:

用于生成订阅相关内容的一段随机值

个人使用没有必要手动指定。随机值反而更安全,也避免复用固定字符串。

8.6 选择 ClashMeta 格式订阅

订阅生成后,脚本会显示多种格式。

你这次实际看到有:

默认

ClashMeta

sing-box

Mac 上使用 Clash Verge,建议选择:

ClashMeta

原因是 Clash Verge 对 ClashMeta 配置支持更好,VLESS Vision、fingerprint、flow 等字段也更适合走 ClashMeta 格式。

如果你用的是其他客户端,可以根据客户端支持情况选择:

Clash Verge:ClashMeta

sing-box:sing-box

Shadowrocket:通常可以直接导入 vless:// 单链接

这里不要随便复制“默认”格式给 Clash Verge。能用 ClashMeta 就优先用 ClashMeta。

8.7 保存订阅链接

脚本输出订阅链接后,把 ClashMeta 订阅链接复制出来,先保存在本地安全位置。

注意:不要保存到公开仓库,不要发到文章里,不要截图完整展示。

原因很简单:别人拿到订阅链接,就可能直接使用你的节点,消耗你的 VPS 流量,甚至让节点被滥用。

九、在 Clash Verge 中导入订阅并测试

服务端已经安装完成,订阅链接也已经生成。接下来要在 Mac 上配置客户端。

9.1 添加订阅

打开 Clash Verge,进入配置页面。不同版本界面文字可能略有差异,一般叫:

Profiles

或者:

配置

点击新增订阅,填入上一步生成的 ClashMeta 订阅链接。

一般需要填写:

名称:自定义,比如 My VPS

类型:Remote / 远程订阅

URL:ClashMeta 订阅链接

不要把完整订阅链接写进名称里。

填好后保存,然后点击更新订阅。

如果订阅正常,Clash Verge 会拉取到节点配置,并在节点列表里显示刚才生成的 VLESS Vision 节点。

9.2 选择节点

订阅更新成功后,进入节点选择页面。

通常会看到一个或多个策略组,比如:

ProxyAutoGlobal节点名称

选择刚才生成的节点。

9.3 打开系统代理或 TUN

Clash Verge 通常有两个常见开关:

System Proxy

TUN Mode

简单理解:

System Proxy:让大部分遵循系统代理设置的应用走 Clash

TUN Mode:更底层,接管更多流量,包括部分不走系统代理的应用

第一次测试时,可以先打开:

System Proxy

然后用浏览器访问测试网站。

如果有些应用不走系统代理,再考虑打开 TUN。

9.4 测试出口 IP

打开浏览器访问:

https://ifconfig.me

如果代理生效,页面显示的 IP 应该是 VPS 的出口 IP,而不是你的本地宽带 IP 或手机运营商 IP。

也可以在终端执行:

curl https://ifconfig.me

如果 Clash Verge 的系统代理对终端不生效,可以用浏览器页面结果作为准。

9.5 测试外部网站和视频

出口 IP 正常后,可以继续测试几个网站:

text
1Google
2YouTube
3GitHub
4Telegram
5你实际需要访问的网站

测试时不要只看首页能不能打开,还要看:

网页是否能正常加载

text
1网页是否能正常加载
2视频是否能播放
3播放几分钟是否稳定
4是否频繁断流
5速度是否符合预期

如果 YouTube 能打开但视频很卡,不一定是配置错,可能是:

text
1VPS 线路一般
2晚高峰拥堵
3月流量限速
4客户端规则没走对

如果某一个网站报错,但其他网站正常,先不要急着重装服务端。可以按下面思路判断:

text
1只有一个网站异常:优先看规则、DNS、目标站限制
2所有网站都异常:优先看节点连接、订阅、服务端状态
3手机能访问但 Mac 不能:优先看 Clash Verge / TUN / Fake-IP
4VPS 上 curl 能访问但客户端不能:优先看客户端配置

写在最后

那么以上的步骤都完成后,恭喜你,就拥有了自己的梯子啦。

千万要注意,不要公开给他人使用,更不要涉及到金钱交易,可能会很危险~

另外再次重申,本教程只是用于上手,很多大佬会进行更多额外配置或使用不同的协议,这个就自行探索吧!

本文由 YouMind 自动从 Markdown 转换排版。

一键保存

使用 YouMind AI 深度阅读爆款文章

保存原文、追问细节、总结观点,并在一个 AI 工作空间里把爆款文章沉淀成可复用笔记。

了解 YouMind
写给创作者

把你的 Markdown 变成干净的 𝕏 文章

图片上传、表格、代码块,往 𝕏 上手动重排太痛苦。YouMind 把整篇 Markdown 一键转成干净、可直接发布的 𝕏 文章草稿。

试试 Markdown 转 𝕏

更多可拆解样本

近期爆款文章

探索更多爆款文章