云主机

质量为本、客户为根、勇于拼搏、务实创新

< 返回云主机列表

宝塔搭建VPS补货监控系统:VPS-Inventory-Monitoring 配置教程 支持微信/TG推送

发布时间:2023-07-17

针对VPS主机商不定期推出一些低价的VPS主机或畅销/促销产品,产品套餐时限有限,极容易断货后再补货,大部份人可能没法及时关注官网,则可能错过优惠产品。

VPS-Inventory-Monitoring,是一个不要钱开源的项目,主要原理是通过Curl 抓取网页源代码来监控目标字段的变化,例如当特定的网页URL中出现了“缺货”、“Out of Stock”等字样,表示该主机套餐有无补货,利用这个原理实时监控VPS主机套餐的库存。本文主要介绍怎么开启TG通知。

本站补货监控地址:buhuo.www.guigege.cn || TG:桂哥网络补货VPS通知

1.github地址

  1. 项目:https://github.com/546669204/vps-inventory-monitoring
  2. 感兴趣的可以先star 再 fork备份

2.准备条件/搭建所用环境

虚拟主机或VPS都可,推荐使用VPS虚拟服务器。

1.安装宝塔

2.一键快速安装LNMP环境(这里使用php7.0,mysql5.6)

3.创建一个网站,(租赁域名,https://www.namesilo.com,优惠码guigege,解析域名到vps)

4.进入网站目录,下载https://github.com/546669204/vps-inventory-monitoring/archive/master.zip到目录中,解压,并将网站运行目录设置为public,取消防跨站,网站伪静态配置选择thinkphp,开启SSL。

宝塔搭建VPS补货监控系统:VPS-Inventory-Monitoring 配置教程 支持微信/TG推送

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安装

  1. 安装宝塔
  2. 安装docker管理器,软件商店中安装
  3. 安装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,"guigege")==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

  1. TG私聊botfather,输入/newbot ,然后输入BOT昵称,再输入BOT名字,然后就会得到token,类似Use this token to access the HTTP API以后
  2. 下载推送源码,并修改bot.php文件里面的token为自己bot的token
  3. 在宝塔上新建网站,绑定域名,并且把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的推送)

也能够手动通过`POSThttp://[domain]/bot.php
method=send&sckey=[XXX]&content=[CONTENT]`
来发送消息

具体的添加监控可以在网页上进行,删除等需要直接区数据库操作。(只有在库存状态改变时候才会进行通知,实验通知可以手动进入数据库将库存修改成0,然后等待监控触发,库存更改,会不会收到通知)

本站补货监控地址:buhuo.www.guigege.cn || TG:桂哥网络补货VPS通知 || VPS交换群

桂¥哥¥网¥络www.guIgeGe.cn

TikTok千粉号购买平台:https://tiktokusername.com/