用 FCM 来推送 QQ 消息
月初买了个 iPhone SE,将辣鸡软件全部转移到 iOS 上之后,Android 的使用体验瞬间上升,不用忍受辣鸡国产软件的涂毒,还省了去镇压调教的功夫,续航也大幅提升,快哉快哉。
但是日常用的国产软件还有 QQ 和微信这两大流氓。微信还好,Play Store 上的版本只要关闭了后台就可以使用 FCM 来接收通知(虽然实现方式还是有点不老实),但是 QQ 就真没什么辙。
直到我找到了这个。
FCM for Mojo,简称 FFM,由 Rikka 酱开发,借助 Mojo-Webqq 实现将 QQ 消息通过 FCM 推送至 Android 设备。 有了这个,就可以从 FCM 来接收 QQ 消息了。
2018.12.19 更新:WebQQ 停止服务。
2018.10.30 更新:增加可选工作,提供 HTTP 基本认证、HTTPS 及 Nginx 配置部分内容。
<2018.12.19 更新>
WebQQ 停止服务。
重要通知:WebQQ将在2019年1月1日停止服务,项目目前已停止维护,感谢大家四年来一路陪伴
就到此为止了,留一张做最后的纪念,感谢开发者给我们带来了一段美好时光。
配置服务端
安装相关依赖
笔者所使用的系统是 Ubuntu 16.04 LTS。
git:使用包管理器来安装。
1 |
|
Node.js:版本看自己喜好选择。
1 |
|
Mojo-Webqq:项目推荐使用 cpanm 在线安装或升级模块。
1 |
|
如要更新只需再执行 cpanm Mojo::Webqq
即可。
安装 FCM for Mojo 服务端
1 |
|
如要更新,关闭当前正在运行的 FFM 并进入 FCM-for-Mojo-Server
目录执行以下命令。
1 |
|
配置客户端
前往 Play Store 下载安装 Android 客户端。
点击 服务器设置
,在 服务器 URL
处填写服务端地址,默认端口 5005
,写成 http://w.x.y.z:5005/
形式即可。
点击 管理设备
点击加号将当前设备加入管理列表,再点击右侧上传云端保存。
返回主界面点击 账号设置
将自己的账号密码填入其中。账号密码登录现已失效,但是如要实现某些特性还要填写账号密码,详情请看 这里。
FFM 服务端默认使用明文保存密码,如果介意上面的链接中也提及了解决办法。
最后进入 通知设置
做最后修改。获取前台应用方式
如没有 root,则选择 使用情况访问
,否则可以搭配 Shizuku Manager 的 root 模式选择 Shizuku
使用。
测试使用
服务端进入 FCM-for-Mojo-Server
目录,启动服务端。
1 |
|
如设置无误,手机上会收到通知并自动从服务端下载登录二维码,打开 QQ 选择扫码,点击相册从手机中选择刚下载的二维码,确认登录即可完成。
现在就可以通过 FCM 来接收你的 QQ 消息了,顺便去系统设置中把 QQ 的后台给关闭掉。
作为服务启动
1 |
|
1 |
|
1 |
|
现在就可以通过服务来控制 FFM 了。
可选工作
<2018.10.30 更新>
增加可选工作,提供 HTTP 基本认证、HTTPS 及 Nginx 配置部分内容。
HTTP 基本认证
HTTP 基本认证由 http-auth 实现,这里只使用最简单的方法。
生成密码文件
1 |
|
输入2次密码之后,文件就生成在 FFM 服务端目录。编辑 config.js
,找到 basic_auth
那段去掉注释(/*
和 */
)并写上密码文件的路径:
1 |
|
HTTPS
HTTPS 通过 https 模块 实现,这里只使用最简单的方法。
编辑 config.js
,找到有 https
那段去掉附近的注释(/*
和 */
):
1 |
|
证书可以使用 acme.sh 很方便地进行申请,现在支持泛域名证书的申请,在稍后的 Nginx 的配置中可以分配一个单独的二级域名给 FFM 使用。
配置 Nginx
在 /etc/nginx/conf.d
中创建一个新的文件 ffm.conf
并写上如下配置:
1 |
|
1 |
|
最后修改一下客户端上的 服务器配置
,将新的 URL 以及登录信息填写进去即可。
收尾工作
最后换一个简洁版本的 QQ,比如 QQ 国际版,并关掉其后台权限及通知权限。
现在,在别的 IM 软件上能够享受的 Android 通知新特性,也可以在 QQ 上享受的到了。