diff options
| author | handingkang <[email protected]> | 2024-04-08 16:10:00 +0800 |
|---|---|---|
| committer | handingkang <[email protected]> | 2024-04-08 16:10:00 +0800 |
| commit | bb870fc920277c6abbd5471ac24aa68033abf501 (patch) | |
| tree | 2522a97a6e7ace3a523974b3d191d5d3f379562e /agent | |
| parent | c9fa15af845509d1f28fe98e295a0e63a186e15f (diff) | |
实现代理向主控端注册的功能
Diffstat (limited to 'agent')
| -rw-r--r-- | agent/app.py | 21 | ||||
| -rw-r--r-- | agent/requirements.txt | 4 |
2 files changed, 17 insertions, 8 deletions
diff --git a/agent/app.py b/agent/app.py index 8216abb..86e5c87 100644 --- a/agent/app.py +++ b/agent/app.py @@ -4,7 +4,7 @@ import os.path import platform import socket -import geocoder +import ipinfo import psutil import requests import yaml @@ -38,21 +38,26 @@ def nodeinfo(): v6addr.append(a[4][0]) # 经纬度 - g = geocoder.ip('me') - lat, lng = g.lat, g.lng + # 使用ipinfo.io进行定位,调用token + token = "40e1b13cf6b35a" + handler = ipinfo.getHandler(token) + details = handler.getDetails() + # 获取经纬度 + latlng = str(details.loc).split(",") + lat, lng = latlng[0], latlng[1] # CPU核心数 cpu_num = psutil.cpu_count() # 内存信息 - ram_size = psutil.virtual_memory().total + ram_size = int(psutil.virtual_memory().total / (1024 * 1024 * 1024)) ram_per = psutil.virtual_memory().percent # 操作系统 system = platform.system() # return {'v6addr': v6addr, 'lat': lat, 'lng': lng, 'cpu_num': cpu_num, 'ram_size': ram_size, 'ram_per': ram_per, - 'system': system} + 'sys': system} # 注册代理 @@ -60,8 +65,10 @@ def registernode(proto="http", port=2525, atype="stgj", server="127.0.0.1:8888") info = nodeinfo() info["port"] = port info["type"] = atype - r = requests.post(proto + "://" + server, json=info) + print(info) + r = requests.post(proto + "://" + server + "/agent/register", json=info) if r.status_code != 200: + print(r.status_code) print("注册失败,请检查参数配置是否正确") return return r.json()['id'] @@ -73,7 +80,7 @@ if __name__ == '__main__': # 存在则读取配置文件信息 with open("config.yaml", "r") as f: config = yaml.safe_load(f) - app.run(host="0.0.0.0", port=config["port"], debug=True) + app.run(host="0.0.0.0", port=config["port"], debug=True) else: # 不存在则解析命令行参数 # 命令行参数设置 diff --git a/agent/requirements.txt b/agent/requirements.txt index 581b4bf..fbc3eb3 100644 --- a/agent/requirements.txt +++ b/agent/requirements.txt @@ -7,4 +7,6 @@ six~=1.16.0 pandas~=2.1.4 psutil~=5.9.0 geocoder~=1.38.1 -pyyaml~=6.0.1
\ No newline at end of file +pyyaml~=6.0.1 +dnspython~=2.6.1 +icmplib~=3.0.4
\ No newline at end of file |
