Skip to content

hal-wang/navigation

Repository files navigation

navigation

用于自定义域名跳转,无需服务器,一键搭建

可以任意域名跳转到任意链接

也可以让域名返回特定消息

一键部署:

配置

配置默认链接

添加环境变量 DEFAULT_URL,值为默认链接

GET 请求找不到跳转目标时,会跳转到默认链接,否则返回 404

添加访问服务

添加想要跳转的域名至访问服务

  • 触发路径为 /
  • 关联资源为云函数 navigation

添加跳转

在云数据库中的集合 navigation 添加文档

{
  "_id": "domain",
  "to": "to url",
  "type": 1,
  "code": "status code"
}
  • _id: 要跳转的域名,通过这个域名访问将会跳转请求,与前面访问服务添加的域名相同

  • to: 跳转目标,内容与 type 有关

  • type: 类型

    • 0 域名跳转,to 是域名,会传递路由参数
    • 1 路径跳转,跳转到 to 指定的路径
    • 2 返回消息,结构为 {"message":"to"}
    • 3 返回消息,内容是 to
  • code: 跳转的状态码

    • type 为 0,1 时,状态码 code 应为 30x,如 301,302,306,307

二次开发

如果现有功能不能满足,你可以进行二次开发

本地运行

在项目下创建文件 .env.local,内容如下

ENV_ID=cloudbase环境id
SECRET_KEY=腾讯云 secret key
SECRET_ID=腾讯云 secret id
DEFAULT_URL=默认跳转链接

安装依赖,在项目下执行

npm install

再使用 vscode 打开项目,直接 F5 开始调试

或在项目下执行

npm start

发布

可以本地使用 @cloudbase/cli 发布,也可以使用 GitHub Actions 持续集成

cli 发布

确保项目根目录下有文件 .env.local,内容包含

ENV_ID=cloudbase环境id
DEFAULT_URL=默认链接

在项目根目录下运行以下命令发布

npm install @cloudbase/cli -g
npm run deploy

GitHub Actions

仓库增加 Secrets,在 Settings -> Secrets -> Actions,点击 New repository secret 按钮

增加如下记录

  • TENCENT_SECRET_ID: 腾讯云 secret id
  • TENCENT_SECRET_KEY: 腾讯云 secret key
  • ENV: 与 cli 发布.env.local 文件内容相同

配置完成后,每次 main 分支提交代码就会自动发布到 CloudBase

发布进度可在仓库 Actions 中看到

About

用于自定义域名跳转,无需服务器,一键搭建至腾讯云。可以任意域名跳转到任意链接,也可以让域名返回特定消息

Topics

Resources

License

Stars

Watchers

Forks