借助 Mojo-Webqq 实现将 QQ 消息通过 Firebase Cloud Messaging (FCM) 推送至 Android 设备。
- 专为 Android 7.0 以上设计,充分利用 Android 通知特性(直接回复,捆绑通知等)。
- 不同于大部分应用接收推送后只在客户端决定是否通知,FFM 服务端可以根据客户端配置决定是否推送,避免非必要唤醒,花费更少电量。
- 支持戳通知直接进入对应聊天(仅 QQ、TIM、QQi、QQL,且可能需要 root 运行的 shizuku)。
有两种方式可以部署,只要选其中一种即可,推荐稍微麻烦一些但什么都是自己控制的自行配制的方式。
Mojo-Webqq:直接根据官方教程即可
需要自行把 <server.zip> 替换为 latest release 中的 server.zip 的地址
mkdir ffm && cd ffm
wget <server.zip>
unzip server.zip && cd node
npm install && cd ..
为避免错过二维码扫描通知而不知所措,建议在运行前先完成客户端配置的一部分(填写好服务器 URL)。
node node/index.js
参阅这里
HTTP 基本认证通过 http-auth 模块 实现,在这里可以看到所有可用选项,下文只说明最简单的配置方法。
创建一个任意文件名,内容为用户名:密码
的文件,下面是一个简单的例子:
username:passsword
在上面的例子中,客户端中的用户名填写为:username
,密码填写为:password
。
你也可以通过写入多行实现多个用户名和密码
编辑 config.js
,找到有 basic_auth
那几行并去掉附近的注释(即 /*
和 */
):
"basic_auth": {
"file": "<密码文件路径>"
},
HTTPS 通过 https 模块 实现,在这里可以看到所有可用选项,下文只说明最简单的配置方法。
编辑 config.js
,找到有 https
的那几行并去掉附近的注释(即 /*
和 */
):
"https": {
"key": fs.readFileSync("<证书私钥路径>"),
/* 如果你有 CA 证书,就加上这行
"ca": fs.readFileSync("<CA 证书路径>"), */
"cert": fs.readFileSync("<含完整证书链证书(fullchain)或服务端证书(server cert)的路径>")
}
当服务端配置完成后,下载客户端并根据应用内提示配置(在管理设备里添加正在使用的设备)即可。