AI智能
改变未来

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

VPS主机商为了可以吸引更多的客户,都会推出一些廉价的VPS主机促销产品,但是这类产品套餐有一定的时限,或者是断货后再补货,如果不及时关注官网则可能错过优惠产品。这篇文章是来分享一下监控各大VPS主机商的库存,同时可以做到上货后微信和TG通知。

VPS-Inventory-Monitoring是一个免费开源的项目,主要原理是通过Curl 抓取网页源代码来监控目标字段的变化,例如当特定的网页URL中出现了“缺货”、“Out of Stock”等字样,就表示该主机套餐还没有补货了,利用这个原理我们可以实时显示VPS主机套餐的库存了。

一、VPS库存监控安装

网站:

  1. 项目:https://github.com/546669204/vps-inventory-monitoring
  2. 备用:https://github.com/freehao123/vps-inventory-monitoring
  3. VPS补货监控频道:https://vps.aiznh.com/

1.1 安装准备条件

一台VPS主机。VPS-Inventory-Monitoring需要用到定时任务,虽然虚拟主机也可以实现,但是建议使用VPS主机,没有的话参考这里:VPS主机推荐

手动安装

  1. 安装宝塔面板
  2. 进入面板安装PHP 5.4以上版本,以及Nginx,mysql环境,再添加域名。
  3. 上传源码到网站根目录
    源码:https://github.com/546669204/vps-inventory-monitoring/archive/master.zip
  4. 网站伪静态配置选择thinkphp
  5. 在网站目录设置中把网站的运行目录修改为public,并且去掉勾选‘防跨站攻击’,不然会报错no input file specified.
  6. 将根目录下的mysql.sql通过宝塔导入到你的数据库,并且编辑app/database.example.php文件,重命名为database.php,并填写数据库信息
  7. 编辑app/index/config.php文件,修改定时时间、域名等,然后打开域名访问即可。
  8. 最后网站还不能自己定时检测库存,我们需要设置定时检测库存,有2种方法(建议第一种)
方法一、定时任务设置
点击宝塔左侧定时计划,任务类型选择URL访问,时间设置每30分钟,URL:https://xx.com/index/index/test

方法二、运行验证程序,间隔时间去app/index/config.php修改
screen -S vpstest //创建screen
cd [网站根目录]
php think VpsTest
CTRL A D //退出screen
然后关闭ssh即可 重新进入查看可使用
screen -r vpstest 
  1. 使用

⑴ 由于原项目没有说明初始用户名和密码,并且我进入数据库xm_user查看并没有账户,所以首先自行注册一个账户(基本上这个账户的ID就是1了),相应添加监控的账户权限在app/index/config.php文件,修改adduid改成自己账户对应的ID即可

⑵ 程序暂时没有删除以及编辑操作,不过我们可以去数据库,通过操作xm_place、xm_company、xm_index进行删除及编辑操作。

⑶ 如果添加后不会检测,修改数据库xm_index的status为1(1视为通过审核)

docker安装

  1. 安装宝塔
  2. 安装docker管理器,软件商店中安装
  3. 安装docker-compose

pip install docker-composegit clone https://github.com/546669204/vps-inventory-monitoring.gitcd vps-inventory-monitoringdocker-compose up -d

  • 访问 ip:7780

如有问题,请尝试:docker-compose downdocker-compose builddocker-compose up -d

验证函数说明

函数说明$curl[“Code”] 返回状态码$curl[“RequestHeader”] 请求头$curl[“ResponseHeader”] 返回头$str 返回源代码$value[“stock”] 原库存状态

使用示例

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;

TG推送机器人

由于作者关闭了TG的bot,这里需要自建bot来推送消息。
项目地址:https://github.com/546669204/Telegram-Push-Bot

  1. 添加 botfather,输入/newbot ,然后输入BOT昵称,再输入BOT名字,然后就会得到带有token的一大段文字
  2. 下载推送源码,并修改bot.php文件里面的token为自己bot的token(注意格式,bot这个字要保留,详情参考下图)
  3. 在宝塔上新建网站,绑定域名,并且把bot.php上传到网站根目录,并且用宝塔开启SSL(Let’s Encrypt就行)
  • 访问链接:https://api.telegram.org/bot[Token]/setWebhook?url=https://[domain]/bot.php
    其中[token]修改为自己bot的token,[domian]修改为bot.php所在网站的域名
  • VPS-Inventory-Monitoring 默认代码用的作者的TG Bot,因此我们需要把源码的链接替换掉成自己的。请分别打开以下文件,把https://cloud.hcaiyue.top/tgbot.php替换成自己的
/gotest/config.json
/app/index/model/index.php
/app/index/command/VpsTest.php
  1. 邀请自己的bot进入频道,设置为管理员 然后在频道发送 /start 获取 sckey ,填入/app/index/config.php

也可以手动通过`POST http://[domain]/bot.php

method=send&sckey=[XXX]&content=[CONTENT]`
来发送消息

添加VPS主机监控

添加主机管理员

  1. 打开VPS-Inventory-Monitoring界面,点击注册账号,添加管理员。
  • 去数据库找到 xm_user 删除id为1的初始账户,找到自己注册账户id,并编辑 app/index/config.php 文件,将 adduid 改成自己的。然后就可以开始添加监控了。

添加监控数据

可以输入VPS主机的套餐的详细信息

也可以直接到Mysql数据库中直接添加、删除、复制等操作

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » VPS补货监控系统:VPS-Inventory-Monitoring 的搭建与配置教程,支持微信/TG推送