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和微信公众号更新-打造一站式信息阅读平台

一、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、域名等,兴趣广泛,杂而不精,但愿将自己经验与心得分享出来与大家共勉。
已有 9 条评论
  1. Avatar for aaa123 aaa123

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

    3分钟前 回复
  2. Avatar for 白色卡片 白色卡片

    这就厉害了!已收藏~

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

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

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

      10月22日 17:00 回复
  4. 手收藏了,

    10月21日 21:28 回复
  5. Avatar for 橡子 橡子

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

    10月21日 14:07 回复
  6. Avatar for Rew Rew

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

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

    10月20日 18:56 回复
  8. Avatar for Nds Nds

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

    10月20日 15:04 回复

Login

Welcome! Login in to your account

Remember me Lost your password?

Don't have account. Register

Lost Password

Register