VPS主机库存上货监控与微信\TG通知系统:VPS-Inventory-Monitoring安装与配置

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

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

挖站否在试用了VPS-Inventory-Monitoring,发现VPS-Inventory-Monitoring还可以用在监控网页内容更新或者是某一个自己想要的关注的内容,有点类似于Huginn抓取指定网页内容了。VPS-Inventory-Monitoring整合了Server酱和TG bot,可以做到实时提醒通知。

VPS主机库存上货监控与微信\TG通知系统-VPS-Inventory-Monitoring安装与配置

更多的关于个人获取信息,搭建信息资源平台,这里还有:

  1. 五款优秀的RSS阅读器推荐-附国内外各大RSS阅读器收集整理汇总
  2. 生成和订阅任意网站RSS工具-实现RSS全文,邮箱和手机APP提醒
  3. 利用Huginn抓取任意网站RSS和微信公众号更新-打造一站式信息阅读平台

PS:更新记录。

1、有找网页内容变化实时监控和通知脚本工具的朋友可以试试这个:利用WebMonitor实时监控网页变化-支持手机微信,邮箱,TG等通知提醒。2022.8.20

2、有多个服务器的朋友可能想要一个可以展示服务器是否宕机的监控平台,可以试试:利用ServerStatus自建VPS主机和服务器性能和宕机监控平台-效果美化和自定义 。2019.12.14

一、VPS库存监控安装

网站:

  1. 项目:https://github.com/546669204/vps-inventory-monitoring
  2. 备用:https://github.com/freehao123/vps-inventory-monitoring
  3. 演示:https://vps.wzfou.com/

1.1 安装准备条件

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

VPS主机库存上货准备一台VPS

LNMP建站环境。在VPS上安装好Nginx、Mysql、PHP等建站环境,建议使用Oneinstack或者LNMP一键包,PHP至少要5.4 以上,支持PHP 7。如果嫌手动命令麻烦,可以用这里:服务器控制面板榜单

VPS主机库存上货准备好LNMP

在创建虚拟主机时,请将网站的根目录设置为:/data/wwwroot/vps.wzfou.com/public,因为VPS-Inventory-Monitoring的Web目录在public里。

1.2 下载源代码

这里以Oneinstack一键包为演示,其它的面板可以参考。首先是进入到网站目录:/data/wwwroot/vps.wzfou.com,使用Git方法将VPS-Inventory-Monitoring安装包下载下来,同时设置权限。

git clone https://github.com/546669204/vps-inventory-monitoring.git
mv vps-inventory-monitoring/{.,}* ./ 
chmod -Rf 755 ./*
chown -R www:www /data/wwwroot/vps.wzfou.com

如果你在创建虚拟主机时没有设置好路径为:/data/wwwroot/vps.wzfou.com/public,那么你现在需要将网站的根目录改成public,Nginx可以直接在配置中调整网站根目录。

VPS主机库存上货网站路径

1.3 导入数据库

进入到PhpMyAdmin,新建数据库,然后VPS-Inventory-Monitoring里的数据库文件mysql.sql导入进去。

VPS主机库存上货导入数据库

如果出现Mysql数据库兼容等问题,请根据实际情况修改数据库文件mysql.sql里面的表结构。

VPS主机库存上货修改数据库表

根据wzfou.com的经验,在新建数据库用户时设定为:127.0.0.1而不是localhost,可以解决后期使用VPS-Inventory-Monitoring许多莫名其妙的问题。

VPS主机库存上货调整数据库连接

1.4 调整系统配置

修改系统配置 app/index/config.php,这里可以定时任务的执行时间间隔、域名、TG地址等。

VPS主机库存上货系统设置

1.5 设置伪静态规则

如果你用的是Nginx的话,需要添加以下伪静态规则:

location / {
   if (!-e $request_filename) {
   rewrite  ^(.*)$  /index.php?s=/$1  last;
   break;
    }
 }

二、设置TG自动提醒

网站:

  1. 项目:https://github.com/546669204/Telegram-Push-Bot
  2. 备用:https://github.com/freehao123/Telegram-Push-Bot
  3. TGBot:https://t.me/wzfoubot

2.1 tgchannelsckey

如果你想设置TG自动提醒,你需要在app/index/config.php中填写tgchannelsckey。原作者的TGBot已经关闭,你可以邀请@wzfoubot将https://t.me/wzfoubot添加为你的频道管理员。

VPS主机库存上货添加管理员

然后在频道发送 /start 获取sckey 填入,如下图:

VPS主机库存上货获取密钥

2.2 自建TG 机器人

如果你想自己搭建TG 机器人也比较简单,首先是添加@BotFather好友,或者直接打开 : https://telegram.me/BotFather发起聊天,输入 /newbot 命令,并输入您的机器人的名称。如下图:

VPS主机库存上货新的机器人

现在你已经得到了TG 机器人token ,打开bot.php,将token替换。如果你的token是693:wzfou.com,那么替换就是:https://api.telegram.org/bot693:wzfou.com/sendMessage。

VPS主机库存上货修改bot.php

把bot.php上传到Web空间上,确保可以用浏览器可以访问。然后调协web hook ,打开:https://api.telegram.org/bot[Token]/setWebhook?url=https://[domain]/bot.php,返回如下表示成功了。

VPS主机库存上货返回成功

现在你可以向你的TG 机器人发送/start命令获取sckey,你可以使用自己的机器人了,命令如下(你可以使用Postman软件或者在线POST模拟请求):

https://[domain]/bot.php
method=send&sckey=[XXX]&content=[CONTENT]
#这是一个post 请求
#第一行为url
#第二行为body
#成功之后 和 机器人聊天 会返回 sckey 使用 sckey 调用 bot 这个请求 就可以测试 发送消息

2.3 修改TG Bot设置

VPS-Inventory-Monitoring默认的用的代码作者的TG Bot,因此我们需要替换掉成自己的。请分别打开以下文件,查看bot.php替换成你自己的(没有自建的话,用这个:https://meimei.wzfou.net/bot.php):

/data/wwwroot/vps.wzfou.com/gotest/config.json

/data/wwwroot/vps.wzfou.com/app/index/model/index.php

/data/wwwroot/vps.wzfou.com/app/index/command/VpsTest.php

如下图:

VPS主机库存上货替换机器人

三、添加VPS主机监控

3.1 添加管理员

你需要打开VPS-Inventory-Monitoring界面,点击注册账号。

VPS主机库存上货注册账号

然后就是填写基本的信息了,如下图:

VPS主机库存上货填写信息

说明:

ftsckey是用来接收微信提醒的(这个功能主要是面向用户,方便用户接收消息),用的是Server酱服务,详情查看:WordPress评论微信通知和邮件提醒-Server酱和第三方SMTP发信

tgsckey是用来接收TG消息提醒的(这个功能主要是面向用户,方便用户接收他们关注的产品消息),用的是上面我们自建的TG 机器人服务。

去数据库找到xm_user删除id1的初始账户,找到自己注册账户id,并编辑app/index/config.php文件,将adduid改成自己的。然后就可以开始添加监控了。

VPS主机库存上货添加监控

3.2 添加监控数据

现在你可以输入VPS主机的套餐的详细信息了。

VPS主机库存上货填写套餐数据

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

VPS主机库存上货直接在数据库操作

3.3 验证函数说明

函数说明

$curl[“Code”] 返回状态码

$curl[“RequestHeader”] 请求头

$curl[“ResponseHeader”] 返回头

$str 返回源代码

$value[“stock”] 原库存状态

例如:

 if ($curl["Code"] != 200){ //首先判断状态码
    return false;
}
if (strpos($str,"wzfou")==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;

3.3 自动运行监控

目前VPS-Inventory-Monitoring提供cron+http 、php think vpstest 、go 代码编译运行三种运行监控的方式,这里推荐使用最简单的方法:php think vpstest 。方法如下:

screen -S vpstest //创建screen
cd [网站根目录]
php think VpsTest
CTRL A D //退出screen
然后关闭ssh即可 重新进入查看可使用
screen -r vpstest

如下图:

VPS主机库存上货自动定时任务

四、上货微信/TG提醒

4.1 添加订阅

如果你是一个用户,想指定某一个产品有货时提醒,你需要在注册时填写你ftsckey和tgsckey,然后点击订阅该产品。

VPS主机库存上货订阅产品

4.2 微信提醒

当订阅的产品有货时,微信就会收到提醒消息了。

VPS主机库存上货收到微信提醒

4.3 TG消息提醒

当订阅的产品有货时,你的TG会收到@wzfoubot机器人发来的消息提醒,如下图:

VPS主机库存上货收到TG提醒

4.4 TG全站提醒

  1. 演示:https://t.me/vpswzfou

如果你按照上面的方法将TG机器人设置为你的TG频道管理员,那么你就可以实现当产品有货上新时自动在TG频道里发布消息。用户只关注了你的频道就可以收到消息了。

VPS主机库存上货频道通知

五、总结

VPS-Inventory-Monitoring安装的关键地方在于导入数据库,同时在添加监控时填写好PHP验证函数,基本原理就是用Curl的方法获取网页源码,如果发现有指定关键字,那么就返回是否有货。

VPS-Inventory-Monitoring设置微信和TG消息提醒,需要搭建好自己的TG Bot,当然你也可以使用本站当前正在的TG Bot,记得替换一下原代码中的TG Bot,否则你可能就收不到提醒了。

文章出自:挖站否 https://wzfou.com/vps-kucun/,版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。


分享到:
Avatar for Qi
关于站长(Qi),2008年开始混迹于免费资源圈中,有幸结识了不少的草根站长。之后自己摸爬滚打潜心学习Web服务器、VPS、域名等,兴趣广泛,杂而不精,但愿将自己经验与心得分享出来与大家共勉。
已有 22 条评论
  1. Avatar for シスCON シスCON

    大佬,bot.php这个文件在哪里获取,github项目文件中没有找到

    2021年5月1日 01:17来自QQ 回复
    • Avatar for シスCON シスCON

      在另一个博客里找到了bot.php文件,但是按照操作无法获取tgchannelsckey,给机器人发送/start没有回应,频道私聊都是这样,求解

      2021年5月1日 13:44来自QQ 回复
    • Avatar for シスCON シスCON

      还有个问题,打开网页显示No input file specified.这个教程中没有讲到怎么解决

      2021年5月1日 14:01来自QQ 回复
      • Avatar for bgew bgew

        这个应该是没有正确写好伪静态规则

        2022年6月14日 22:31 回复
  2. 您好我用botfather建了bot机器人,也在频道给了admin权限;并且把bot.php修改了token,上传到根目录,但是给bot机器人发/start,却无法收到tgchannelsckey,web hook显示成功过,请问无法收到sckey是什么原因造成的?谢谢

    2020年2月21日 12:54 回复
    • Avatar for Qi Qi

      检查一下修改的php是不是正确,我之前也遇到这样的问题。

      2020年2月26日 10:36 回复
      • 是bot.php吗,go_curl(“https://api.telegram.org/bot1077017526:xxxxxxxDEiETYPtBSgolE/sendMessage”,”POST”,$data);
        您看这个修改的有问题不,谢谢

        2020年2月26日 11:27 回复
        • 还有就是bot.php是放在public目录下还是网站根目录下

          2020年2月26日 12:16 回复
          • Avatar for Qi Qi

            是放在网站根目录,要保证在浏览器可以正常访问。你的访问正常吗?

            2020年2月27日 11:04 回复
        • Avatar for Qi Qi

          这个貌似没有问题。

          2020年2月27日 11:04 回复
  3. Avatar for cc cc

    添加监控点击保存显示如下错误:
    页面错误!请稍后再试~

    2020年2月18日 15:29 回复
    • Avatar for Qi Qi

      url伪静态没有做好。

      2020年2月20日 23:34 回复
  4. Avatar for aaa123 aaa123

    这个用起来怎么样。好像没什么人用。

    2019年11月19日 09:37 回复
    • Avatar for Qi Qi

      效果不错。

      2019年11月23日 10:28 回复
  5. Avatar for 白色卡片 白色卡片

    这就厉害了!已收藏~

    2019年10月25日 14:27 回复
  6. TG群多少。我找不到了……

    2019年10月22日 16:24 回复
    • Avatar for Qi Qi

      TG频道订阅:https://t.me/wzfou,这里会发布挖站否的最新文章消息。TG群组地址:https://t.me/wzfoucom,欢迎加入群聊。

      2019年10月22日 17:00 回复
  7. 手收藏了,

    2019年10月21日 21:28 回复
  8. Avatar for 橡子 橡子

    为什么我总是收不到通知?

    2019年10月21日 14:07 回复
  9. Avatar for Rew Rew

    这个厉害了,昨天我抢到一个搬工的20GB的套餐。

    2019年10月21日 10:35 回复
  10. qi强啊,[给力],先看看再自建个。

    2019年10月20日 18:56 回复
  11. Avatar for Nds Nds

    好东西,收藏一下。[害羞]

    2019年10月20日 15:04 回复

Login

Welcome! Login in to your account

Remember me Lost your password?

Don't have account. Register

Lost Password

Register