Skip to content

vevc/modal-deploy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

modal-deploy

Modal 上部署 Xray 代理服务。

前置条件

Cloudflare

  • 准备 Cloudflare Argo TunnelToken
  • Argo 服务的 内部访问地址http://localhost:8080

Modal

  1. 注册并登录 Modal 官网

  2. 右上角头像 → Settings → 左侧 API TokensNew Token,创建 token,名称随意;记录下系统分配的命令,里面包含 Token IDToken Secret

    modal token set --token-id ak-DVvVsBafuR5jwERY9c6bem --token-secret as-frL0MjzFDw7DLLe7Yxtry1

    注:以上 token 信息为示例信息,请生成自己的信息。

  3. 在 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 分钟会访问一次自身地址,保持有活跃流量

GitHub Actions 部署

  1. Fork 本仓库。

  2. 进入 Fork 后的仓库 SettingsSecrets and variablesActionsNew repository secret,添加:

    • MODAL_TOKEN_ID:ak-DVvVsBafuR5jwERY9c6bem
    • MODAL_TOKEN_SECRET:as-frL0MjzFDw7DLLe7Yxtry1
  3. 确认 Actions 已启用。

  4. Actions 中选择工作流 Modal DeployRun workflow,可选填写:

    • modal_region:可选,Modal 运行区域,多个用英文逗号分隔;留空表示不固定区域。区域列表见 Region selection
    • modal_nonpreemptiblefalse / 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 Secret custom-secret 中设置的 U

说明

  • MODAL_REGION / MODAL_NONPREEMPTIBLE 为本项目约定名称,由 main.py 读取后传给 Modal;与 MODAL_TOKEN_ID 等 Modal 客户端内置鉴权变量含义不同。
  • 各云平台与 Modal 计费、区域加价、非抢占加价以 Modal 定价与文档 为准。

About

Modal 部署脚本

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors