微信第三方信息共享清单有微粒贷(学院:借助第三方应用实现免登录接收QQ/微信通知)
大家好,综合小编来为大家讲解下微信第三方信息共享清单有微粒贷,学院:借助第三方应用实现免登录接收QQ/微信通知这个很多人还不知道,现在让我们一起来看看吧!
PS:你需要一个服务器配合,国内国外都可以。(服务器可以换成不关机的PC,只要网络符合条件。下面有一个提供Windows环境配置的地址。我没有测试过,所以本文就不介绍了。).
使用FCM/GCM频道需要能访问Google的机器,最好是7*24在线;MiPush/HwPush/MzPush通道国内外服务器都可以使用,国内服务器的延迟通常较低。
前天在宽偶然看到一个叫GcmForMojo的应用。软件很小,没有额外权限。有了它,不需要打开QQ和微信,通过系统推送服务就可以接收消息,不需要留在后台。昨天自己试了一下,感觉很棒。
整理分享教程给大家,补充一些经验。
(1)关GcmForMojo简介
这是一个GCM/小米/华为/魅族的推送消息接受程序,需要写入服务器与Mojo-Webqq、Mojo-Weixin一起使用。
通过FCM/GCM/MiPush/HwPush/MzPush向手机发送QQ和微信消息。
建议当华为手机使用华为Push(华为移动服务共享通道可单独安装),Miui系统使用MiPush,魅族Flyme使用MzPush时,应使用sharingan禁用其他后台推送服务。
(2)原始地址
GcmForMojo:点击这里。
GcmForMojo(GitHub):点击这里
Mojo-Webqq:点击这里。
Mojo-Weixin:点击这里。
Windows环境:单击此处
Linux环境教程:点击这里。
Linux一键式安装脚本:点击这里。
Openshift服务器安装教程:点击这里。
盐的介绍和课程:点击这里。
Mojo's FCM(GitHub): Click here.
运气的FCM Mojo-WebQQ:点击这里
(3)一些解释
1、本人的服务器为Vultr日本服务器,2.5刀套餐,PC上安装Putty进行管理,系统为CentOS 7(原文为CentOS 6.8),
其他Linux发行版请自行修改对应命令;手机为Android 7.1.2,已安装谷歌服务,选择使用GCM。鉴于我的实际情况,本文介绍均基于这个环境进行配置,Windows环境未测试不作介绍。
2、可以使用阿里云、腾讯云之类的国内服务器,毕竟很多都是能够免费试用一段时间的,学生套餐也足够便宜,可以拿来当一下小白鼠尝尝鲜,据说因为国内的网络环境,连接SS服务器可能会被停机,大家自行斟酌。
3、选择使用GCM/FCM获取设备码时需要科学上网,否则会导致获取失败,GcmForMojo重装或更换设备会使设备码发生变化,需要在服务器端修改为相应的设备码,
配置成功后断开科学上网的连接后测试仍然可以收到相应的消息。
4、该方案按照本人的理解是在服务器端安装一个对应的软件,实现类似在PC网页版登录的效果,然后通过服务器把消息发送给手机端,因此功能受限于官方为网页版提供的功能,在GitHub的项目中有所体现,
在微信端配置成功后体现的尤为明显,这时登录微信客户端会有一个微信网页版已登录的提示,因此有一个验证码确认登录也可以理解了。
5、因为昨天在配置的时候没有考虑到会写这个文章,因此没有详细的过程截图,只能尽量详细说明。代码片段由于编辑器的支持问题暂由截图代替,这些代码片段在文末有链接供下载,使用时找到对应的片段复制粘贴即可。
第一次写这个,可能会略啰嗦,望见谅~下面进入正题,先介绍手动安装的方法,再介绍一键安装的方法。
(四) QQ
1、首先安装依存关系
由于我们需要Mojo:WebQQ这个Perl语言项目作为主机端接收QQ消息的平台,同时CentOS自带yum源没有Cpanm包管理,所以接下来需要安装Cpanm:
由于我们是第一次使用Cpan,程序会要求我们进行最基础的设定,一路回车即可,直到你看到:
不要惊慌,这是Cpan要求你设定一个Cpan仓库源,到这里(http://www.cpan.org/SITES.html)找一个就可以,国内的主机可以去China列寻找,
选择一个镜像服务器节点离你最近的地方,墙外的服务器可以直接用主站(http://www.cpan.org/)作为镜像源。
Cpanm安装完毕后,我们就可以安装Mojo:WebQQ了,Mojo-WebQQ升级也是同样的命令,非root用户需要加上sudo参数:
如果你是国内的主机,一般情况下下载速度会非常慢或者完全无法安装,这时候你可以这样做:
如果出现了安装错误,一般情况下是Mojolicious未成功安装造成的,这时候你需要手动安装:
成功安装Mojolicious之后再次执行:
或:
应该就可以成功安装了,
Mojo:Weixin的安装方法大致相同。
2.设定
Mojo:WebQQ安装完毕后,就可以开始进行设定了
首先我们需要新建一个Perl脚本文件来执行(要同时配置QQ及微信的建议对GCM.pl文件名称进行自定义命名方便操作,如qqGCM.pl、wxGCM.pl):
我们使用vim对文件进行操作:
点击i进入编辑模式,
可能有人还不是很熟悉vim的使用方法,这里简单介绍一下会用到的功能:
这里给出一个Perl脚本文件的模板,具体内容请根据实际情况替换更改:
保存退出,
按ESC退出编辑模式,输入:wq进行保存并退出。
安装GCMForMojo安卓客户端软件,选择对应的推送通道,打开推送开关,输入服务端地址,如http://XXX.XXX.XXX.XXX:5000,其中XXX部分为服务器地址,
5000为Openqq部分自己设定的端口号,自己可做相应的修改,其它根据自己的需要进行选择,
执行:
这时候你的GCMForMojo APP应该会弹出一条检测到二维码事件的通知,点击它,使用手机端QQ扫描这个二维码,你的GCMForMojo就跑起来了。
3.注意事项
Perl进程并不会后台运行!同时如果你的SSH连接中断的话当前终端下运行的全部会话均会被杀死,若想保持后台运行且断掉SSH连接后依旧可正常工作,请使用screen命令:
然后请按Ctrl A,再按D键使此screen进入后台驻守,然后就可以中断SSH连接了,如果需要恢复此screen的话,请执行:
如果你有同时运行Mojo-Webqq与Mojo-Weixin的需求,在进程驻守后台后就可以按照上述方法运行另一个客户端了,恢复screen时会同时出现这两个客户端的进程,
在docker前加入显示的相应数字即可,即如screen -r 1234.docker形式。
如果你没有能在/storage/emulated/0/gcmformojo/里找到下载的二维码图片或接收到GCMForMojo的二维码事件通知,那么很可能你的Mojo:WebQQ版本过旧,
如果需要升级Mojo:WebQQ的话,有两种方式:
从Cpanm仓库更新:
从Git仓库源编译安装升级:
以后更新时:
Mojo:Weixin的更新方式类似,请自行替换相应字符串,
然后再执行:
应该就可以看到二维码图片或接收到通知了。
(五)微信
配置设定步骤与QQ基本相同,将Webqq字样替换为Weixin即可。需要注意的是微信二维码无法直接通过调用相册中的二维码进行识别,
需要将GCMForMojo中的二维码链接发送至PC端用浏览器打开进行扫描识别。详见第九部分的第一个问题。
(六)提升安全性
由于OpenQQ组件使用HTTP请求而不是更安全的HTTPS请求,这样会很容易被他人监听,并有可能以你的身份发送消息,所以为了安全起见,强烈建议以加盐或开启HTTPS加密的方式增强安全性,
供对信息安全有要求的使用,未使用的请勿在公共的开放网络发送敏感信息,避免信息的泄露。具体原因解释如下:
众所周知其实GcmForMojo的回复功能是基于Mojo:Webqq/Mojo:Weixin中的OpenQQ插件的数据传送默认通过HTTP完成,
官方示例代码如下:
如果就这样配置的话很容易就会想到问题:
1、OpenQQ插件使用的是HTTP协议,意味着可能有数据被监听的风险,
尤其像现在免费WiFi盛行通过HTTP传送极易被窃取消息(数据未被加密);
2、如果一个攻击者知道了OpenQQ的IP和所开放的端口,
那么不就可以冒充用户的身份向别人发送消息了么(未验证客户端身份);
解决办法:
针对问题一,使用HTTPS而并非HTTP传送消息,对信息进行加密。
在Mojo:WebQQ的文档中官方给出了OpenQQ在HTTPS下工作的配置代码:
由于Webqq是在Mojo的基础上开发的,因此只要是Mojo支持的HTTPS加密方式则均可使用,打开pl文件,把原来的listen一行删除再贴上如上代码,然后把tls_ca,
tls_cert和tls_key的值改成自己的证书文件所在的路径。
原文作者在配置的时候只指定了tls_cert和tls_key这两个参数,tls_ca应该是不需要配置的,可以直接注释掉。
不过有两点需要注意:
1、需要注册一个自己的域名。毕竟HTTPS证书是和域名挂钩的,需要申请一个域名并绑定在你的推送服务器上,否则你是无法签发可被信任的证书的。
2、需要购买HTTPS证书,也可以使用Let's Encrypt这个免费的证书签发机构的证书,可信赖度不像之前StartSSL那么差,除了三个月需要续签一次以外没有什么大问题,
签发和续期证书的步骤网上有很多,自行搜索一下就好。按理来说如果是自己生成的证书只要在客户端信任该证书也可使用,据说选择了自签发证书会更麻烦。
如果一切都配置完毕且确认没有问题,请将GcmForMojo中服务端地址里的http改成https即可。
针对问题二,服务端与客户端同时配置盐值。
OpenQQ插件中的auth参数就是用来解决接口被盗用的问题
该解决方案原理如下(参考了支付宝付款接口对于参数的验证操作):
在服务端与客户端配置好相同的盐值,当客户端向服务端发起请求时(比如客户端要给某人发送消息),客户端会将各个参数按照参数名的字母表顺序升序排列并依次把几个参数串起来,再将盐值追加其后进行md5摘要操作,
把md5后得到的hash存放在新的参数sign里发往服务端(盐值不会跟着发往服务端),服务端会同样遵循客户端的步骤将各个参数与存储在服务端上的盐值连接md5,
之后再将md5后得到的hash与sign进行比较,一致则表示服务端与客户端盐值相同即表示通过,服务端会继续执行客户端要求的操作,如果不一致则拒绝操作,达到防止盗用接口的目的。
通过原理不难看出该方案要求服务端和客户端都要配置好,在新版GcmForMojo已经添加了回复校验功能,现在要做的就是配置服务端。
打开pl文件,定位到OpenQQ段代码,修改auth参数(没有auth这一行就自行添加),代码如下:
可能还有人不理解盐值是什么,说通俗点吧可以算是个密码,用来验证你是不是这个QQ号主人的密码,那么如果你问这个盐值哪里来呢?盐值就像密码你可以随便编,只要保证两端盐值相同即可,
但是为了安全考虑我还是推荐生成随机密码。比如在这个网站上就有随机密码生成器,随机生成一个后把服务端代码里的secret变量后面的值改成刚刚生成的密码(看注释即可),
再把该密码填入GcmForMojo的“输入盐值”里即可。
此外还要在pl文件的开头加上一行代码(如果已加就不用管它):
不加这行代码运行的时候会报错。
加盐后效果如下:
以下略。
如果把HTTPS和回复校验全部配置的好的话代码大概是这个样子:
这样子基本上就已经保证消息的安全性了,大功告成~(••)
(七)一键安装
1、安装curl和screen工具,根据系统自行选择:
# RedHat/CentOS
# Debian/Ubuntu
2、创建一个UTF-8模式的窗口:
3、下载和运行一键安装脚本:
接下去根据提示选择需要安装的模块,Mojo-Webqq与Mojo-Weixin单独安装或一起安装皆可。你只需要提供手机的设备码,记住模块对应的端口号即可,QQ的默认端口号为5000,
微信默认端口号为3000,可自行修改。
说明:
webqq_default_config.pl文件为Mojo-Webqq的配置文件,对应上文示例中的GCM.pl文件,
weixin_default_config.pl文件则为Mojo-Weixin的配置文件,使用方法同上。增强安全性,进行加盐及https传输处理的方法见第六部分。
(八)附
我的Mojo-Webqq及Mojo-Weixin的配置代码(GCM传输,仅做加盐处理,未设定https传输,请自行添加设备码及盐值)。
Mojo-Webqq:点击这里
Mojo-Weixin:点击这里
(九)一些问题
1、微信二维码无法识别的问题。因为微信的限制,现在在手机端直接从相册识别验证的二维码会出现无法识别,提示升级的软件的最新版,可以通过将GCMForMojo中的二维码链接发送至电脑端,用浏览器打开,
再用手机端的微信对电脑浏览器中的二维码进行识别即可,因为验证的二维码有时间限制,时间到了还未验证成功就会自动更换验证码,这时候就要重新发送至电脑端进行验证,默认二维码更换次数为10次,
可以修改服务器端的配置文件提升次数的上限;
2、微信登录失败的问题。如果出现手机端二维码验证成功,服务器端登陆成功后随即注销的情况,类似于下图:
可以多尝试登录几次,或者过一段时间再尝试下看看有没有恢复,我除了在第一次登录的时候有碰到过之外,其他都登录正常,因为当时没有截图,只能在issues中找了一张近似的截图.
3、微信多账户登录。可以通过修改cookie路径实现,避免冲突,详见:
https://github.com/sjdy521/Mojo-Webqq/issues/97
https://metacpan.org/pod/distribution/Mojo-Weixin/doc/Weixin.pod#new-初始化一个微信客户端对象;
这个问题的解决方法由于我只有一个微信账号没能测试,贴出来应该对有多个微信账号的朋友有用。
4、项目在GitHub的提问区的地址:
上面我只列举了几个我在使用过程中碰到的问题,下面附上GitHub提问区地址,里面有使用者在使用过程中碰到的一些问题及作者的解答,里面都是中文用户,大家不用担心看不懂。
Mojo-Weixin:点击这里
Mojo-Webqq:点击这里
代码片段下载链接:点击这里
更多使用方法请参考GitHub中项目的官方说明及开发文档,添加插件可以增加更多功能。
感谢每一位在国内如此特殊的Android生态下尽可能帮助我们获得更佳体验的开发者。
本文[高级伪原创标题]到此分享完毕,希望对大家有所帮助。
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!
-
在安徽淮南购买高尔夫车型时,价格会受到多种因素的影响,包括车辆的配置、市场行情、经销商优惠以及个人谈判...浏览全文>>
-
关于2025款安徽池州揽境的价格,目前还没有官方发布的信息。不过,您可以关注一汽大众的官方网站或当地的经销...浏览全文>>
-
截至2024年,滁州地区大众Polo的2024款车型价格可能会因配置、经销商促销活动以及具体市场需求有所不同。以下...浏览全文>>
-
根据您提供的信息,淮北地区的T-ROC探歌的最低售价为15 89万元起。如果您有意向购买这款车,以下是一些详细的...浏览全文>>
-
根据您提供的信息,安徽亳州的途锐车型目前的最低落地价为55 88万元起。这个价格是厂商指导价或经销商报价的...浏览全文>>
-
根据市场信息,2025款长安启源A05在换代之前可能会推出一些优惠政策或促销活动,以吸引消费者抓住最后的机会购...浏览全文>>
-
根据您提供的信息,2025款安徽淮北揽境的最低售价为 26 19万元起。同时提醒您,优惠活动可能有限时性,建议...浏览全文>>
-
根据您提供的信息,安徽亳州的大众途锐目前有优惠活动,最低售价为 55 88万元起。如果您计划购买途锐,现在...浏览全文>>
-
关于2025款长安启源A05的新车报价信息,目前市场上还没有官方发布的具体价格。不过,如果您正在考虑在换代前购...浏览全文>>
-
根据您提供的信息,安徽淮北地区2025款揽境的最低售价为26 19万元起。不过,请注意这可能是促销或特定配置的...浏览全文>>
- 山东济南探岳X新款价格2024款多少钱?选车指南与落地价全解析
- 济南凌渡多少钱 2025款落地价,最低售价9.59万起,现车充足
- 滁州ID.6 CROZZ落地价,配置升级,值不值得买?
- 淮南大众ID.3多少钱 2025款落地价全分析,买车不踩坑
- 安徽蚌埠ID.6 X 2023新款价格,最低售价19.3888万起,购车攻略来了
- 安徽蚌埠ID.4 CROZZ新车报价2025款,换代前的购车良机,不容错过
- 安徽蚌埠大众CC落地价,各车型售价大公开,性价比爆棚
- 天津滨海宝来价格,各配置车型售价全知晓
- 滁州帕萨特新能源价格大起底,买车超详细
- 天津滨海途观L新能源新车报价2023款,最低售价26.105万起现在该入手吗?
- 淮北T-ROC探歌价格,最低售价15.89万起,购车攻略来了
- 淮南大众ID.3多少钱 2025款落地价全分析,买车不踩坑
- 生活家PHEV 2025新款价格大起底,买车超详细
- 生活家PHEV 2025新款价格大起底,买车超详细
- 生活家PHEV最新价格2025款,价格再创新低,性价比爆棚
- 安徽亳州途昂X多少钱?购车攻略与优惠全在这
- 天津滨海宝来价格,各配置车型售价全知晓
- 安徽安庆揽巡价格全分析,买车不踩坑
- 东莞ID.4 CROZZ新款价格2025款多少钱?选车秘籍与性价比大公开
- 28.5亿美元卖身腾讯音乐,是喜马拉雅最好的归宿
- 蚌埠途铠 2023新款价格大起底,买车超详细
- 天津滨海ID.6 CROZZ多少钱?不同配置性价比分析
- 安徽阜阳探影多少钱?经销商报价及市场优惠情况
- 安徽滁州途昂X多少钱 2025款落地价大揭秘,买车前必看
- 天津滨海探岳X多少钱 2024款落地价,买车前的全方位指南
- 天津滨海ID.6 X新款价格2023款多少钱?购车攻略助你轻松选车
- 济南途安L最新价格2022款,优惠购车,最低售价16.68万起
- 安徽滁州长安猎手K50新车报价2025款,最低售价18.29万起,现车充足
- 广汽传祺传祺向往M8试驾的流程是什么
- 江淮悍途EV预约试驾,畅享豪华驾乘,体验卓越性能