ss panel v3
ss panel v3

节点状态Api

编辑 /home/wwwroot/sspanel/config/.routes.php ,找到注释“// Home”,在适当位置添加如下内容

https://sspanel3.com/wp-content/uploads/2021/01/Snipaste_2021-01-11_12-32-17.png
//check status
$app->get('/check', 'App\Controllers\HomeController:check');

编辑 /home/wwwroot/sspanel/app/Controllers/HomeController.php ,在适当位置插入如下内容

https://sspanel3.com/wp-content/uploads/2021/01/Snipaste_2021-01-11_12-34-23.png
use App\Models\Node;

同样是该文件,在适当位置插入如下内容

	public function check($request,$response, $args)
	{
		$id = $request->getParam("id");
		$node = Node::where('id',"=",$id)->first();

		if ($node=="")
			{
				$status="unknown";
			}
		else
			{
				if ($node->isNodeOnline() !== null) {
					if ($node->isNodeOnline() == false) {
						$status="offline";
					} else {
						$status="online";
					}
				} else {
					$status="unknown";
				}
			}
			
		return $this->view()->assign('status', $status)->display('check.tpl');

最后,在 /home/wwwroot/sspanel/public 下创建文件 check.tpl ,内容如下

{$status}

如何使用

验证效果:在浏览器访问 https://你的域名/check?id=你的一个节点编号

  • 返回 offline 表示离线
  • 返回 online 表示在线
  • 返回 unknown 表示没有这个节点

节点上写一个脚本,就可以配合 crontab 定时任务利用这个 Api 实现节点离线的 自动重启/上报 了

发表回复

textsms
account_circle
email

ss panel v3

节点状态Api
编辑 /home/wwwroot/sspanel/config/.routes.php ,找到注释“// Home”,在适当位置添加如下内容 //check status $app->get('/check', 'App\Controllers\HomeController:check');…
扫描二维码继续阅读
2021-01-11