IT之家学院:闲置不浪费!利用旧手机搭设G.Fcm推送

  • 时间:
  • 浏览:4
  • 来源:5分3D平台-5分彩投注平台_5分快3娱乐平台

国内APP的相互之间唤醒十分严重,大多数用户在不root,没哟xposed的情况下没哟压制住应用之间的相互唤醒,着实 天猫、淘宝哪几个也能直接扔空调狗上边(如何免root使用空调狗请参见我事先写的文章),许多许多QQ,微信哪几个却不行(万一漏了小姐姐发来的消息为何办),加带前一段时间换了手机,于是手里又有闲置的手机了,又看到酷安上边有一款GcmForMojo,也能通过一帮人的VPS来给一帮人的手机推送QQ收到的消息,于是我根据网上的许多资料,搭配找到的linux FOR arm的镜像用手机弄了事先服务端来推送消息

介绍:GcmForMojo你这种 功能是也能“将QQ和微信的消息通过FCM/GCM/MiPush/HwPush/MzPush推送到你的手机”,许多许多效果许多许多耐开,省心,省流量,当然,美中欠缺的遇见你都要一台24小时不关机的电脑,许多许多太过于浪费,许多许多也能使用旧手机许多许多平板来干。

具体步骤:

1、配置安装Linux

2、SSH连接Linux

3、安装环境和守护进程

4、GCM客户端设置

5、修改配置文件并运行服务端

6.、GcmForMojo内回复功能

前提:服务端手机都要ROOT

软件:《GcmForMojo》《Linux Deploy》《JuiceSSH》《ES文件浏览器》

都要常驻:服务端手机Linux Deploy,客户端手机GcmForMojo启动运行,保持网络连接(黑域?绿色守护?神隐模式?电池优化?你都要让哪几个放过这事先APP)。

好了,教程结速了了。都要注意的是,P.S.G/Fcm均不推荐在国内使用。

一:服务端安装Linux Deploy github

安装地址:点此前往

Google Play:点此前往

P.S.许多许多自身网络愿因无法访问的请到文章末尾,末尾有链接。

二:结速了了配置linux

1、配置安装Linux

Linux Deploy

左上角设置建议勾选锁定WIFI,其它保持默认。

右下角配置按钮。

发行版:CentOS。

框架:默认armhfp,手机CPU支持64位也能选aarch64,平板Atom补救器选x86_64。

源地址:科大

安装类型:“文件”许多许多“目录的”,安装路径默认即可。

镜像大小10000MB以上,尽量大些,以免出显象。

用户名默认Android,密码默认随机(均可自行设置,上边”新建认证”要用到)。

root用户:密码需ssh登陆后改

本地化:选则zh_CN.UTF-8

勾选Enable允许SSH服务器启动端口默认22。

返回主界面,点右上角——选则安装。

终端输出“<<<deploy”时,代表安装已完成。

安装时间要花费10分钟左右,很短时间结速了语录是没成功的。

许多许多安装失败可尝试把安装类型”文件”改为”目录的”。

配置过程以及内容截图如下:

重装Linux注意事项:

1、移除环境(右上角设置里)

2、删除文件夹”/data/user/0/ru.meefik.linuxdeploy”(re文件浏览器,许多许多es文件浏览器开root)

3、卸载重装Linux deploy

4、右下角设置更改事先,都要保证再进设置太多还原默认(许多许多还原请检查以上三步),也能随便改一项来测试,事先尝试重新安装linux

安装成功事先按启动

2.使用SSH来连接Linux

这里.我.我 都要终端(在酷安上边直接搜索终端就行了,推荐21世纪的终端-NeoTerm)

运行命令

Ssh [email protected]

回车事先输入密码(许多许多先界面中的密码)

下面结速了了设置客户端

首先你都要修改root密码

Sudo passwd

回车,许多许多输入新的root密码

许多许多退出终端

重新执行

Ssh [email protected]

回车

输入密码,许多许多回车

事先,你就通过SSH连接到了你手机上的linux了

P.S.据说通过电脑指定手机IP也也能链接,不过没哟尝试过

以下是在终端里SSH执行的内容(前面有#号的为命令,请在执行时勿输入#)

现在结速了了教程

首先安装依存关系

#yum -y groupinstall "Development Tools"

#yum install vim git openssl-devel perl cpan make gcc g++

许多许多.我.我 都要 Mojo::WebQQ 你这种 Perl语言项目作为主机端接收QQ消息的平台,一齐CentOS 6.8自带yum源没哟Cpanm包管理,许多许多接下来都要安装Cpanm

#cpan -i App::cpanminus

许多许多.我.我 是第一次使用Cpan,守护进程会要求.我.我 进行最基础的设定,一路回车即可,直到你看到

CPAN needs access to at least one CPAN mirror.

As you did not allow me to connect to the internet

you need to supply a valid CPAN URL now.

Please enter the URL of your CPAN mirror

太多惊慌,这是Cpan要求你设定事先Cpan仓库源,到这里找事先就也能,国内的主机也能去 China 列寻找,选则事先镜像服务器节点离你最近的地方,墙外的服务器也能直接用主站作为镜像源

Cpanm安装完毕后,.我.我 就也能安装 Mojo::WebQQ 了

#cpanm Mojo::Webqq

许多许多你的手机也能 直通国际互联网,一般情况下下载速度会非常慢许多许多全版无法安装,这事先给你事先做

#cpanm --mirror http://mirrors.163.com/cpan/ Mojo::Webqq

许多许多出显了安装错误,一般情况下是 Mojolicious 未成功安装造成的,这事先你都要手动安装

#curl -L https://cpanmin.us | perl - -M https://cpan.metacpan.org -n Mojolicious

成功安装 Mojolicious 事先再次执行

#cpanm Mojo::Webqq

#cpanm --mirror http://mirrors.163.com/cpan/ Mojo::Webqq

应该就也能成功安装了

Mojo::Weixin的安装妙招大致相同

3.设定

Mojo::WebQQ安装完毕后,就也能结速了了进行设定了

首先.我.我 都要新建事先 Perl 脚本文件来执行

#touch GCM.pl

.我.我 使用 vim 对文件进行操作

#vi GCM.pl

许多许多一帮人还全版都是没熟悉 vim 的使用妙招,这里简单介绍一下会用到的功能

i进入编辑模式

ESC退出编辑模式

在非编辑模式下

:wq存盘退出vim

:q!不存盘退出vim

这里给出事先 Perl 脚本文件的模板,具体内容请根据实际情况替换更改

use Mojo::Webqq;

#微信使用use Mojo::Weixin

my $client = Mojo::Webqq->new(log_encoding=>"utf-8");

$client->load("ShowMsg");

#请根据一帮人所需的推送服务进行选则并删除或注释不都要的偏离 ,填写格式请仿照GCM的妙招填写

#以下为GCM推送

$client->load("GCM",data=>{

api_url => 'https://gcm-http.googleapis.com/gcm/send',

api_key=>'AIzaSyB18io0hduB_3uHxKD3XaebPCecug27ht8',

registration_ids=>["输入你一帮人从GCMForMojo APP中获取到的令牌"],

allow_group=>["接受群消息的号码,如都要推送全版群消息可删除你这种 行,每个群号码之间使用"",分隔"],

ban_group=>[],

allow_discuss=>[],

ban_discuss=>[],

#此处为讨论组,填写格式同上

});

#以下为MiPush推送

$client->load("MiPush",data=>{

registration_ids=>[""],

allow_group=>[""],

ban_group=>[],

allow_discuss=>[],

ban_discuss=>[],

});

#以下为HwPush推送

$client->load("HwPush",data=>{

registration_ids=>[""],

allow_group=>[""],

ban_group=>[],

allow_discuss=>[],

ban_discuss=>[],

});

#以下为FmPush推送

$client->load("FmPush",data=>{

registration_ids=>[""],

allow_group=>[""],

ban_group=>[],

allow_discuss=>[],

ban_discuss=>[],

});

$client->load("Openqq",data=>{

#也全版都是微信改为Openwx

listen => [{host=>"0.0.0.0",port=>100000}, ] ,

#也全版都是推送微信语录都要保证端口不重复,并请保证所设定的端口许多许多在防火墙内放行,一齐都要在APP内设定好推送服务器的地址和端口

});

#不都要APP内回复功能请删除以上三行(不包括被#号注释掉的几行)

$client->run();

保存退出后执行

#perl GCM.pl

这事先你的 GCMForMojo APP应该会弹出三根检测到二维码事件的通知,点击它,使用手机端QQ扫描你这种 二维码,你的 GCMForMojo 就跑起来了

注意事项

Perl守护进程太多会后台运行!!!一齐许多许多你的SSH连接中断语录当前终端下运行的全版会话均会被杀死,若想保持后台运行且断掉SSH连接后依旧可正常工作,请使用 screen 命令

#screen -S docker

#perl GCM.pl

许多许多请按 Ctrl+A ,再按 D 键使此 screen 进入后台驻守,许多许多就也能中断SSH连接了,许多许多都要恢复此 screen 语录,请执行

#screen -r docker

许多许多你没哟能在 /storage/emulated/0/gcmformojo/ 里找到下载的二维码图片或接收到 GCMForMojo 的二维码事件通知,没哟很许多许多你的 Mojo::WebQQ 版本过旧,许多许多都要升级 Mojo::WebQQ 语录,有并有无妙招

Cpanm仓库更新

#cpanm Mojo::Webqq

#cpanm --mirror http://mirrors.163.com/cpan/ Mojo::Webqq

Git仓库源编译安装升级

#yum install perl-ExtUtils-MakeMaker git

#git clone https://github.com/sjdy521/Mojo-Webqq.git

#cd Mojo-Webqq

#perl Makefile.PL

#make

#make install

#make clean

事先更新时

#cd Mojo-Webqq

#git pull

#perl Makefile.PL

#make

#make install

#make clean

Mojo::Weixin 的更新妙招相似,请自行替换相应字符串

许多许多再执行

#perl GCM.pl

应该就也能看到二维码图片或接收到通知了

许多许多 OpenQQ 组件使用 HTTP 请求而全版都是更安全的 HTTPS 请求,事先会很容易被他人监听,并有许多许多以你的身份发送消息,许多许多为了安全起见,强烈建议以加盐或开启 HTTPS 加密的妙招增强安全性

感谢Milkice同学分派增强安全性的妙招,原文链接在此

加盐

在 GCM.pl 文件内加入以下内容

use Mojo::Webqq;

use Digest::MD5 qw(md5 md5_hex md5_base64);

#请确保上一行加入在文件头行,许多许多会报错

#以下略

$client->load("Openqq",data=>{

listen => [{host=>"0.0.0.0",port=>100000}, ] ,

auth => sub {

my($param,$controller) = @_;

my $secret = 'salt';

#请将该行salt改为你自定义的盐值,并在Android端内设定好你所自定义的盐值

my $text='';

foreach $key (sort keys %$param){

if($key ne 'sign'){

$value =$param->{$key};

$text.=$value;

}

}

if($param->{sign} eq md5_hex($text.$secret) ){

return 1;

}

else{

return 0;

}

}

});

以下略

加盐有哪几个用呢?

盐(Salt),在密码学中,是指通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密码的散列结果不相符,你这种 过程称之为“加盐”。

(Via Wikipedia)

通俗来讲,这许多许多事先很简单的校验,如同事先密码,事先就也能很简单的补救事先提到的盗用大问题,许多许多都要补救监听大问题,你都要开启 HTTPS 加密

HTTPS 加密

在 GCM.pl 文件内加入以下内容

#以上略

$client->load("Openqq",data=>{

listen => [{

host =>"0.0.0.0",

port =>443,

#请求监听端口,默认443,也也能自定义

tls =>1,

#开启https请求支持

tls_ca =>"/etc/tls/ca.crt"

#可选,ca证书路径

tls_cert=>"/etc/tls/server.crt"

#服务器证书路径

tls_key =>"/etc/tls/server.key"},],

#证书对应的key文件

});

HTTPS 证书也能使用 Let's Encrypt 你这种 免费的证书签发机构的证书,可信赖度不像事先 StartSSL 没哟差,除了事先月都要续签一次以外没哟哪几个大大问题,签发和续期证书的步骤网上有许多许多,自行 Google 一下就好

服务端设定好后把 Android 端的服务器上将 http://xxxxxxxx:xxxx 改为 https://xxxxxxxx:xxxx 即可

注意,许多许多都要 HTTPS 加密,你都要申请事先域名并绑定在你的 推送服务器 上,许多许多你是无法签发可被信任的证书的,除非你选则了 自签发证书 ,但事先做会更麻烦

P.S.许多许多cpanm安装不成功,也能试试

发现yum安装perl无效,编译安装perl后安装cpanm包管理才行。

#wget http://www.cpan.org/src/5.0/perl-5.24.1.tar.gz

#tar -xzf perl-5.24.1.tar.gz

#cd perl-5.24.1

#./Configure -des -Dprefix=$HOME/localperl

#make

#make install


P.S.

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

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

客户端内回复功能:

https://www.ngrok.cc/#down-client一般手机(高通、联发科)选则Linux ARM版本,x86架构选Linux 32Bit版本

下载解压许多许多(sunny文件)上传到linux目录,这里我是扔到了root目录

注册并登陆: https://www.ngrok.cc

购买开通隧道,端口为配置文件设置的(相似我的100000)

克隆好友隧道id粘贴替换到下文

Ssh连接Linux逐条运行下面命令

#screen -S n

#cd /root

#chmod a+x sunny

#./sunny clientid +你的隧道ID

在转发一行出显你当时注册的网址时就好了

把网址克隆好友到GCM客户端即可回复消息。

文中所提到的工具下载链接


P.S.本文中涉及到的引用均遵循知识共享署名-非商业性使用-相同妙招共享4.0国际许可协议

其中涉及到的原作品地址以及作者如下

作者kotomei

链接:https://gist.github.com/kotomei/5367a003cd16d05e075c21a7f31000b09a

作者Rikka,原作品链接:https://github.com/RikkaApps/FCM-for-Mojo/blob/master/README.md

其中第一篇作者在文章中注明按照该协议进行许可,第二篇作者回复按照该协议进行许可