宝塔搭建VPS补货监控系统:VPS-Inventory-Monitoring 配置教程 支持微信/TG推送
针对VPS主机商不定期推出一些廉价的VPS主机或者畅销/促销产品,产品套餐时限有限,极容易断货后再补货,大部分人可能无法及时关注官网,则可能错过优惠产品。
VPS-Inventory-Monitoring,是一个免费开源的项目,主要原理是通过Curl 抓取网页源代码来监控目标字段的变化,例如当特定的网页URL中出现了“缺货”、“Out of Stock”等字样,表示该主机套餐有没有补货,利用这个原理实时监控VPS主机套餐的库存。本文主要介绍如何开启TG通知。
本站补货监控地址:buhuo.maobuni.com || TG:猫不腻补货VPS通知
1.github地址
- 项目:https://github.com/546669204/vps-inventory-monitoring
- 感兴趣的可以先star 再 fork备份
2.准备条件/搭建所用环境
虚拟主机或者VPS均可,推荐使用VPS虚拟服务器。
1.安装宝塔
2.一键快速安装LNMP环境(这里使用php7.0,mysql5.6)
3.创建一个网站,(购买域名,解析域名到vps)
4.进入网站目录,下载https://github.com/546669204/vps-inventory-monitoring/archive/master.zip到目录中,解压,并将网站运行目录设置为public,取消防跨站,网站伪静态配置选择thinkphp,开启SSL。
5.将根目录下的mysql.sql通过宝塔导入到你的数据库,并且编辑app/database.example.php文件,重命名为database.php,并填写数据库信息,需要填数据库地址,名称,用户,以及密码,端口可不填(默认3306)
6.编辑app/index/config.php文件,修改定时时间、你的域名等,然后打开域名访问即可。
7.最后网站还不能自己定时检测库存,我们需要设置定时检测库存,有2种方法(建议第一种)
方法一、定时任务设置 点击宝塔左侧定时计划,任务类型选择URL访问,时间设置每30分钟,URL:https://你的网站域名/index/index/test 方法二、运行验证程序,间隔时间去app/index/config.php修改 screen -S vpstest //创建screen cd [网站根目录] php think VpsTest CTRL A D //退出screen 然后关闭ssh即可 重新进入查看可使用 screen -r vpstest
8.访问网站,注册你的帐户,默认为第一个用户,即id为1。拥有管理权限。注册不了的可能是php版本导致,或其他问题,也可以直接去数据库xm_user表修改/添加用户。帐户权限修改在文件app/index/config.php
程序暂时没有删除以及编辑操作,不过我们可以去数据库,通过操作xm_place、xm_company、xm_index进行删除及编辑操作。
如果添加后不会检测,修改数据库xm_index的status为1(1视为通过审核)
3.使用Docker安装
docker安装
- 安装宝塔
- 安装docker管理器,软件商店中安装
- 安装docker-compose
pip install docker-compose
git clone https://github.com/546669204/vps-inventory-monitoring.git
cd vps-inventory-monitoring
docker-compose up -d
- 访问
ip:7780
,网站页面
如有问题,请尝试:docker-compose downdocker-compose builddocker-compose up -d
4.验证函数(检测库存)
验证函数说明
函数说明$curl[“Code”] 返回状态码
$curl[“RequestHeader”] 请求头
$curl[“ResponseHeader”] 返回头
$str 返回源代码
$value[“stock”] 原库存状态
使用示例
if ($curl["Code"] != 200){ //首先判断状态码 return false; } if (strpos($str,"maobuni")==false){ //检测是否正常打开有无公司名字之类关键词 return $value["stock"]; //返回原库存状态 } if (strpos($str,"缺货")!==false){ //检测是否含有缺货关键词 return false; } return true;
搬瓦工补货示例
if ($curl["Code"] != 200){ return false; } if (strpos($str,"微基")==false){ return $value["stock"]; } if (strpos($str,"缺货")!==false){ return false; } return true; if ($curl["Code"] != 200){ return false; } if (strpos($str,"Bandwagon")==false){ return $value["stock"]; } if (strpos($str,"Out of Stock")!==false){ return false; } return true; if ($curl["Code"] != 200){ return false; } if (strpos($str,"GigsGigsCloud")==false){ return $value["stock"]; } if (strpos($str,"CLOUDLET LAX-V1")==false){ return false; } return true;
5.TG推送机器人
项目地址:https://github.com/546669204/Telegram-Push-Bot
- TG私聊 botfather,输入/newbot ,然后输入BOT昵称,再输入BOT名字,然后就会得到token,类似Use this token to access the HTTP API之后
- 下载推送源码,并修改bot.php文件里面的token为自己bot的token
- 在宝塔上新建网站,绑定域名,并且把bot.php上传到网站根目录,并且用宝塔开启SSL
- 访问链接:
https://api.telegram.org/bot[Token并无需保留括号]/setWebhook?url=https://[你的bot域名,并无需保留括号]/bot.php
其中[token]修改为自己bot的token,[domian]修改为bot.php所在网站的域名,访问之后得到“{“ok”:true,”result”:true,”description”:”Webhook is already set”}”即成功。 - VPS-Inventory-Monitoring 默认代码用的作者的TG Bot,因此我们需要把源码的链接替换掉成自己的。请分别打开以下文件,把
https://cloud.hcaiyue.top/tgbot.php
替换成自己的bot所在域名。
/gotest/config.json /app/index/model/index.php /app/index/command/VpsTest.php
邀请自己的bot进入频道,设置为管理员 然后在频道发送 /start
获取 sckey ,填入/app/index/config.php
,这样补货后会推送到频道(注册时填写的TGscky是私聊bot获得的,如果你订阅了某个补货条目,那么会收到TGbot的推送)
也可以手动通过`POST http://[domain]/bot.php
method=send&sckey=[XXX]&content=[CONTENT]`
来发送消息
具体的添加监控可以在网页上进行,删除等需要直接区数据库操作。(只有在库存状态改变时候才会进行通知,试验通知可以手动进入数据库将库存修改为0,然后等待监控触发,库存更改,是否收到通知)
本站补货监控地址:buhuo.maobuni.com || TG:猫不腻补货VPS通知 || VPS交流群
共有 0 条评论