在 Modal 上部署 Xray 代理服务。
- 准备 Cloudflare Argo Tunnel 的 Token
- Argo 服务的 内部访问地址 为
http://localhost:8080
-
注册并登录 Modal 官网 。
-
右上角头像 → Settings → 左侧 API Tokens → New Token,创建 token,名称随意;记录下系统分配的命令,里面包含 Token ID 与 Token Secret 。
modal token set --token-id ak-DVvVsBafuR5jwERY9c6bem --token-secret as-frL0MjzFDw7DLLe7Yxtry1注:以上 token 信息为示例信息,请生成自己的信息。
-
在 Modal 控制台 Secrets 中创建 Custom 类型 Secret,名称使用默认的
custom-secret,设置以下变量信息:变量 是否必填 含义 U ✔ UUID D ✔ Argo 域名(ARGO_DOMAIN) T ✔ Argo Tunnel Token(ARGO_TOKEN) E ✖ Modal 项目访问地址(endpoint),形如: https://<modal_username>--vevc-app-main.modal.run,如果填写,项目大概每 5 分钟会访问一次自身地址,保持有活跃流量
-
Fork 本仓库。
-
进入 Fork 后的仓库 Settings → Secrets and variables → Actions → New repository secret,添加:
MODAL_TOKEN_ID:ak-DVvVsBafuR5jwERY9c6bemMODAL_TOKEN_SECRET:as-frL0MjzFDw7DLLe7Yxtry1
-
确认 Actions 已启用。
-
在 Actions 中选择工作流 Modal Deploy → Run workflow,可选填写:
- modal_region:可选,Modal 运行区域,多个用英文逗号分隔;留空表示不固定区域。区域列表见 Region selection。
- modal_nonpreemptible:
false/true,是否启用非抢占。说明见 Non-preemptible Functions。
如果介意 IP 全球漂移,性价比方案使用 modal_region 固定区域;高成本方案开启 modal_nonpreemptible 固定 IP。
部署成功后,访问下面地址查看 Xray 订阅链接(返回内容为订阅信息的 Base64 编码):
https://<modal_username>--vevc-app-main.modal.run/<UUID>
<modal_username>:你的 Modal 用户名<UUID>:你在 Modal Secretcustom-secret中设置的U
MODAL_REGION/MODAL_NONPREEMPTIBLE为本项目约定名称,由main.py读取后传给 Modal;与MODAL_TOKEN_ID等 Modal 客户端内置鉴权变量含义不同。- 各云平台与 Modal 计费、区域加价、非抢占加价以 Modal 定价与文档 为准。