Skip to content
Firebase Cloud Messaging for Mojo-WebQQ.
Branch: master
Clone or download
Pull request Compare This branch is 173 commits ahead, 278 commits behind RikkaApps:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
server
.gitignore
.vimrc
DOCKER.md
Dockerfile
LICENSE
README.md
build.gradle
gradle.properties
gradlew
gradlew.bat
settings.gradle

README.md

FCM for Mojo

借助 Mojo-Webqq 实现将 QQ 消息通过 Firebase Cloud Messaging (FCM) 推送至 Android 设备。

特点

  • 专为 Android 7.0 以上设计,充分利用 Android 通知特性(直接回复,捆绑通知等)。
  • 不同于大部分应用接收推送后只在客户端决定是否通知,FFM 服务端可以根据客户端配置决定是否推送,避免非必要唤醒,花费更少电量。
  • 支持戳通知直接进入对应聊天(仅 QQ、TIM、QQi、QQL,且可能需要 root 运行的 shizuku)。

配置方法

服务端

有两种方式可以部署,只要选其中一种即可,推荐稍微麻烦一些但什么都是自己控制的自行配制的方式。

选项 1:自行配置(推荐)

依赖

Mojo-Webqq:直接根据官方教程即可

Node.js:自己编译安装, 或者直接使用包管理器

下载(或更新)服务端

需要自行把 <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

选项 2:Docker 快速部署

参阅这里

安全性(可选)

HTTP 基本认证

HTTP 基本认证通过 http-auth 模块 实现,在这里可以看到所有可用选项,下文只说明最简单的配置方法。

创建一个任意文件名,内容为用户名:密码的文件,下面是一个简单的例子:

username:passsword

在上面的例子中,客户端中的用户名填写为:username,密码填写为:password。 你也可以通过写入多行实现多个用户名和密码

编辑 config.js,找到有 basic_auth 那几行并去掉附近的注释(即 /**/):

	"basic_auth": {
		"file": "<密码文件路径>"
	},
HTTPS

HTTPS 通过 https 模块 实现,在这里可以看到所有可用选项,下文只说明最简单的配置方法。

编辑 config.js,找到有 https 的那几行并去掉附近的注释(即 /**/):

	"https": {
		"key": fs.readFileSync("<证书私钥路径>"),
		/* 如果你有 CA 证书,就加上这行
		"ca": fs.readFileSync("<CA 证书路径>"), */
		"cert": fs.readFileSync("<含完整证书链证书(fullchain)或服务端证书(server cert)的路径>")
	}

客户端

当服务端配置完成后,下载客户端并根据应用内提示配置(在管理设备里添加正在使用的设备)即可。

You can’t perform that action at this time.