• This repository has been archived on 23/May/2019
  • Stars
    star
    209
  • Rank 182,286 (Top 4 %)
  • Language
    Java
  • License
    GNU General Publi...
  • Created about 7 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Firebase Cloud Messaging for Mojo-Webqq.

FCM for Mojo

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

特点

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

关于群号,头像等

需要 FFM 中设置账号密码(虽然还是会要扫码),并按照 sjdy521/Mojo-Webqq#183 的做法 让你的服务器所在的网络环境可以正常登录 qun.qq.com。

配置方法

服务端

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

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

依赖

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

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

git:使用包管理器 安装 git

下载服务端

执行下面几条命令来下载服务端并安装所需的 node 依赖。

git clone https://github.com/RikkaApps/FCM-for-Mojo-Server.git
cd FCM-for-Mojo-Server
cp config.example.js config.js
npm install
更新服务端

首先使用 Ctrl+C 关闭正在运行的 FFM ,然后执行下面这两行命令更新服务端并更新所需的 node 依赖。

git pull
npm install

再次 运行 即可

运行

为避免错过二维码扫描通知而不知所措,建议在运行前先完成客户端配置的一部分(填写好服务器 URL)。

npm start

选项 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)的路径>")
	}

通过 HTTP 代理连接 Google FCM 推送服务器

由于众所周知的原因,中国大陆无法直连 FCM 推送服务器。这种情况下为了能够向 FFM 客户端推送消息,可以在 config.js 中的 push_proxy 选项中指定 FFM 服务端连接 Google FCM 推送服务器时所使用的 HTTP 代理。具体思路请参考 这个issue

客户端

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

More Repositories

1

Shizuku

Using system APIs directly with adb/root privileges from normal apps through a Java process started with app_process.
Kotlin
7,016
star
2

Riru

Inject into zygote process
C++
4,729
star
3

Sui

Modern super user interface implementation on Android.
Java
1,829
star
4

StorageRedirect-assets

Assets (rules, apks etc) for Storage Redirect app.
Python
667
star
5

WADB

A simple switch for adb (Android Debug Bridge) over network.
Kotlin
486
star
6

Riru-LocationReportEnabler

A Riru module. Enable location report by hook system_property_get.
C++
449
star
7

Shizuku-API

The API and the developer guide for Shizuku and Sui.
Java
403
star
8

RikkaX

Rikka's Android libraries.
Java
268
star
9

HiddenApiRefinePlugin

A Gradle plugin that improves the experience when developing Android apps, especially system tools, that use hidden APIs.
Java
232
star
10

App-Ops-issue-tracker

Issue tracker for https://play.google.com/store/apps/details?id=rikka.appops
195
star
11

Riru-ModuleTemplate

Module template of Riru.
Shell
146
star
12

SaveCopy

Simple Android app, handle ACTION_VIEW, ACTION_SEND, ACTION_SEND_MULTIPLE, save a copy of the file. For bad apps which only allow users to open files.
Java
132
star
13

FontProvider

Provide NotoCJK (and other) fonts to other app.
Java
102
star
14

websites

Websites for Rikka apps.
Vue
71
star
15

MaterialThemeBuilder

A gradle plugin that generates Material Design 3 theme for Android projects.
Java
54
star
16

FCM-for-Mojo-Server

Server for FCM-for-Mojo
JavaScript
33
star
17

magisk-custom-sepolicy-installer

(Replaced by official solution from Magisk) Installer template for custom Magisk with "sepolicy_custom" support.
Shell
29
star
18

RikkaApps.github.io.backup

CSS
28
star
19

AutoResConfig

A gradle plugin generates resConfig & languages array from project res folder.
Java
27
star
20

Riru-AppConfig

A Riru module. Per-app system property, config (locale, etc.) modification.
10
star
21

TakoStats

Issue tracker & localization for TakoStats.
9
star
22

RikkaApps.github.io

8
star
23

AppOps-Localization

Localization files for AppOps.
4
star