背景:这个作业欠了太久了,对不住玩家们。其实我早就偷偷用上了,但是一直懒。但是最近打算认真多写点毛毛雨,通知对于抓包提醒还是很实用的,不忍心你们抓包无厘头,赶紧先把这个作业交了。
毛毛雨集中文章戳下面,欢迎大家捧场。希望你们每天拔毛助长。
通知的话建议大家可以读一读官方文档,理论知识还是要学一学,结合实践保证学习起来效率高。
官方文档:elecV2P-dei/07-feed¬ify.md at master · elecV2/elecV2P-dei · GitHub
通知支持方式
- FEED RSS 订阅
- IFTTT WEBHOOK
- BARK 通知
- 自定义通知
- 通知触发 JS
好了,我也不难为你们了,还是说点大白话,直接给几个常用的吧。
先介绍自定义通知和通知触发js,其他几个我还没用,感觉也没必要。
通知配置入口:v2p面板地址?setting菜单?通知相关
自定义通知
自定义通知数据最终提交格式,会自动进行判断。如果是 JSON 格式,会自动以 application/json 的方式提交。
通常 API 都会有字符长度限制,比如 TG bot 的限制长度为 4096,在使用时可能需要注意。
通知内容尽量使用反引号(`) 包括
引用官方文档介绍
一、Telegram通知
通知链接:https://api.telegram.org/bot你的botapi/,选择 POST 方式
这里的botapi,其实就是你的bot_token,就是新建bot时,Botfather发给你的token。
示例,假如你的bot_token是12345678:NNVDISOEJNBNB1245,那通知链接如下填写:
https://api.telegram.org/bot12345678:NNVDISOEJNBNB1245/
国内机TG Bot反代教程可以参考本站?教程,我的站怎么啥都有,哈哈哈。
{
"method": "sendMessage",
"chat_id": 你的TG userid,
"text": `$title$\n$body$\n$url$`
}
我再来给你们打个样,这里是三个作者的通知。嗯,大家自己看,少林的通知是不是最直男(大佬别打我)。
二、pushplus通知
通知链接:http://www.pushplus.plus/send,选择 POST 方式
{
"token": `xxx`,
"title": `$title$`,
"content": `$body$\n$url$`,
"Content-Type": `application/json`
}
三、server酱
通知链接: http://sc.ftqq.com/SCKEY.send, 选择 POST 方式
SCKEY自己去官网登录获取。
{
"text": `$title$`,
"desp": `$body$可以随便加点自定义文字[链接]($url$)`
}
四、钉钉通知
通知链接:https://oapi.dingtalk.com/robot/send?access_token=XXXXXX,选择 POST 方式
{
"msgtype": "markdown",
"markdown": {
"title": `$title$`,
"text": `$title$ \n> $body$\n$url$`
}
}
通知触发js
官方示例说明:https://github.com/elecV2/elecV2P/blob/master/script/JSFile/notify.js
一、企业微信
这个是来自少林寺大佬:https://t.me/ShaolinTemple1/26,文末也附了一个下载
// 通知触发的 JS,在 webUI->SETTING 中进行添加
// 功能:
// - 过滤通知
// - 自定义个性化通知
// - 其他 JS 能做的事
//
// 默认带有三个变量 $title$, $body$, $url$
// 通过通知触发的 JS 除 $feed.push 函数不可用之外(防止循环调用),其他默认参数/环境变量都可以直接使用(具体查看: https://github.com/elecV2/elecV2P-dei/tree/master/docs/04-JS.md)
const axios = require("axios");
const corpid = "这里要改";
const corpsecret = "这里要改";
// 这里过滤不通知的title关键字
var $sz = /^((?!stopped|start|deleted|更新订阅|本次阅读完成).)*$/;
if((typeof $title$ !== "undefined") &&($sz.test($title$))){
console.log('脚本获取到的通知内容:', $title$, $body$, $url$)
mynotify1($title$, $body$, $url$)
// 简单过滤
if (/重要/.test($title$)) {
// 使用 $enable$ 强制发送通知
$feed.bark('$enable$【重要通知】 ' + $title$, $body$, $url$)
} else if (/userid/.test($title$)) {
$feed.cust('$enable$特别的通知给特别的你', $title$ + $body$, $url$)
} else if (/测试/.test($title$)) {
$message.success(`一条网页消息 -来自通知触发的 JS\n【标题】 ${$title$} 【内容】 ${$body$}\n${$url$}`, 0)
}
if (/elecV2P/.test($body$)) {
// 对通知内容进行修改
$body$ = $body$.replace('elecV2P', 'https://github.com/elecV2/elecV2P')
// 然后通过自定义通知发送
mynotify1($title$, $body$, $url$)
}
} else {
console.log('没有 $title$', '该 JS 应该由通知自动触发执行')
}
function mynotify1(title, body, url) {
return new Promise(async (resolve) => {
try {
if (corpid && corpsecret) {
let gurl = `https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=${corpid}&corpsecret=${corpsecret}`
let res = await axios.get(gurl)
access_token = res.data.access_token
let turl = `https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=${access_token}`
let text = {
"touser": "@all",
"msgtype": "text",
"agentid": 1000002,
"text": {
"content": `【elecv2p通知】${title}\n\n${body}`
},
"safe": 0
}
let data =text
let tres = await axios.post(turl,data)
if (tres.data.errcode == 0) {
console.log("企业微信:发送成功");
} else {
console.log("企业微信:发送失败");
console.log(tres.data.errmsg);
}
} else {
console.log("企业微信:你还没有填写corpsecret和corpid呢,推送个锤子?");
}
} catch (err) {
console.log("企业微信:发送接口调用失败");
console.log(err);
}
resolve();
});
}
具体使用方法:
1、修改notify.js中的corpid,corpsecret,touser,agentid
参数
企业微信应用通知参数获取请看下方教程。
2、将notify.js上传到V2P的JSFile文件夹
3、开启通知触发js,并保存。
4、看看效果
突然发现,晶彩今日为0????why????不写了,我要去排雷了。
辛苦大佬分享了,我先学习一下
这真是个好文章,谢谢
mark一下。
插眼评论涨分
前来顶贴!
厉害,有空学习一下
可以可以
厉害厉害
谢谢分享,学习了
mark一下。
谢谢分享,学习了
感谢分享,赞赞赞
真棒,感谢分享!