Featured
Total Pageviews
- Get link
- X
- Other Apps
基于青龙面板的搬瓦工主机信息自动推送
因为一些特殊需求,我一直在使用BGW的VPS。之前偶然从Github上一位开发者那里看到可以使用搬瓦工提供的API接口来搭建个人VPS信息展示网站。
直到前几天突发奇想或许也可以通过Python脚本自动获取相关信息并每天自动推送到Server酱,这样就可以很方便地知道流量使用情况,于是立马开始动手在网上搜索了一圈,找到了一些代码并自己做了一些删减改动,主要是增加了推送并适配青龙面板相关的部分,也直接分享出来给有需要的小伙伴使用。
# -*- coding: utf-8 -*- """ Created on Wed Jul 19 14:26:26 2023 @author: Grefer """ import requests import json import os # 获取server酱的key(在青龙面板的环境变量或配置文件中设置Serverkey_TOKEN) send_key = os.environ["Serverkey_TOKEN"] # 获取bwg账号对应的veid和apikey(在青龙面板的环境变量中设置BWG_veid/BWG_Key) veid = os.environ["BWG_veid"] apiKey = os.environ["BWG_Key"] class Bandwagonhost(object): def __init__(self, veid, api_key, send_key): self.veid = veid self.api_key = api_key self.send_key = send_key
def get_server_info(self): r = requests.get('https://api.64clouds.com/v1/getServiceInfo?veid=' + self.veid + '&api_key=' + self.api_key) print(json.dumps(r.json(), indent=1)) return json.dumps(r.json(), indent=1) def get_rate_limit_status(self): r = requests.get( 'https://api.64clouds.com/v1/getRateLimitStatus?veid=' + self.veid + '&api_key=' + self.api_key) print(json.dumps(r.json(), indent=1)) def get_data_traffic(self): r = requests.get('https://api.64clouds.com/v1/getLiveServiceInfo?veid=' + self.veid + '&api_key=' + self.api_key) text_list = ["hostname","ve_status"] data_list = ["plan_monthly_data","data_counter"] data = [] convertG = 1024 * 1024 * 1024; for keys in text_list: data.append(json.loads(r.text)[keys]) for keys in data_list: data.append(json.loads(r.text)[keys]/convertG) used_p = data[3]/data[2]*100. res = data[2]-data[3] res_p = 100 - used_p message = ''' 名称:%s\n 状态:%s\n 总流量:%dG\n 已使用:%.2fG %.2f%%\n 剩余量:%.2fG %.2f%% ''' %(data[0],data[1],data[2],data[3],used_p,res,res_p) requests.get('https://sctapi.ftqq.com/' + self.send_key +'.send?title=BWG VPS信息&desp='+message) print('VPS信息已推送') if __name__ == '__main__': # do some test bwh = Bandwagonhost(veid,apiKey,send_key) bwh_info = bwh.get_data_traffic() # for keys in json.loads(bwh_info).keys(): # print (json.loads(bwh_info)[keys]) #print('BWG VPS信息已发送!')
下面简单帮小白介绍一下脚本配置,老司机可以跳过这部分内容了。
在青龙面板--->脚本管理界面点击“+”新建一个空文件,文件名可以自己编一个,例如我的“BWG_VPS”
将上述代码全选复制粘贴进去之后保存。然后在环境变量界面分别新增以下三个变量:
1. “BWG_Key”,值输入从搬瓦工api接口获取到的API Key;
2. “BWG_veid”,值输入搬瓦工api界面的Your VEID;
3. “Serverkey_TOKEN”,值输入你的Server酱SendKey。
接下来在定时任务界面新建任务,名称随便填,命令行输入:
task BWG_VPS.py
注意task后面的文件要和你前面新建的文件名保持一致,定时规则输入:
30 9 * * *
表示每天9点30分自动运行任务,点击确定后完成。接下来可以在搜索栏找到这条任务,手动点击运行测试一下。
如果一切配置正常,你的手机上Server酱应该已经收到如上所示的VPS信息了,至此大功告成!
- Get link
- X
- Other Apps