bark-server 的腾讯云 SCF 版本,隐私消息推送神器 - Github 源码

🚀 介绍

  • 本项目为bark-Server腾讯云SCF个人重构版本

  • 需要1个域名用于 Bark APP 添加私有服务器

  • 无需数据库和存储空间

  • 支持 bark 1.1.5

  • 依赖 bark-server@v2

📚 安装说明

  1. 从 Github Realase 下载编译好的可执行文件

  2. 登录腾讯云

  3. 创建一个 Serverless 云函数,运行环境选择 Go1,上传可执行文件的 zip

  4. 进入创建好的云函数触发管理页面,创建一个触发器,选择API网关触发,请求方法选择 ANY

  5. 进入腾讯云API网关管理页面,选择刚刚创建的服务,编辑刚刚创建的 API,路径改成"/",保存

  6. 修改完服务路径之后再获取 API 默认的访问地址,如"https://service-00wc1lm6-12********.gz.apigw.tencentcs.com/release/",这样是不能直接作为 Bark APP 的私有服务器的地址,所以接下来有 2 种方法解决

利用域名的隐性 URL 解析(推荐)

域名 DNS 解析中添加记录类型为隐性URL的解析,其中记录值为上面第 6 步获取的 API 访问地址

本人使用的是阿里云提供的域名解析服务,需要ICP备案,其他域名服务提供商没试过,这个属于骚操作,不保证每个人都能实现

绑定 API 网关自定义域名

  1. 在 API 网关中,Bark-Serverless 服务管理页面选择自定义域名并新建

  2. 尽量申请免费的证书开启 HTTPS 访问,注意网络安全

  3. (关键)在路径映射选项中选择自定义路径映射,并设置发布环境的路径为"/"

  4. 提交之后就能直接使用自定义域名访问 API 服务

☘️ 使用说明

  1. Bark APP 添加私有服务器之后,程序会输出以下内容,请前往云函数的日志查询中查找
{"level":"info","ts":1623430963.414276,"caller":"controller/register.go:66","msg":"设备绑定信息","router":"register","key":"9GMMk5JhTEL*****","token":"7008fb1e25ff2f91aa80db4ff56141456e**********","old_key":"9GMMk5JhTEL*****","old_token":"7008fb1e25ff2f91aa80db4ff56141456e**********"}
  1. 在上述信息中,需要 key 和 token,请注意不要泄漏这两项数据

  2. 进入云函数的函数配置,点击编辑,环境变量中新增一项,键是"device_“前缀加 key 的值(示例:device_9GMMk5JhTEL***** ),值是 token(示例:7008fb1e25ff2f91aa80db4ff56141456e******

  3. 保存

🥺 发送消息提示 failed to get token from env

请重复使用说明的过程添加 key 和 token 到云函数的环境变量

✨ 为什么用 SCF

  1. 要推送一些比较隐私(如验证码)的内容

  2. 没有 AWS 账号

  3. 腾讯云的 SCF 免费提供 40 万 GBs 资源使用量和 100 万次事件型函数调用次数

  4. 腾讯云 API 网关第一年每月(自然月)前 100 万次调用免费

  5. 没钱

👍 请支持 Bark 项目

📢 开源声明

MIT License