Update fun.py
Browse files
fun.py
CHANGED
@@ -17,7 +17,8 @@ import socket
|
|
17 |
app = FastAPI()
|
18 |
|
19 |
# 浏览器实例管理
|
20 |
-
BROWSERS: Dict[str, dict] = {} # {browser_id: {"process": Popen, "port": int, "status": str}}
|
|
|
21 |
PORT_RANGE = (9300, 9700)
|
22 |
CHROME_PATH = "google-chrome" # Linux下可用命令,或自定义绝对路径
|
23 |
PROFILE_BASE = "/tmp/profiles"
|
@@ -27,10 +28,9 @@ def get_system_usage():
|
|
27 |
cpu = subprocess.check_output("top -bn1 | grep 'Cpu(s)'", shell=True).decode().strip()
|
28 |
mem = subprocess.check_output("free -m | grep Mem", shell=True).decode().strip()
|
29 |
cpu = cpu.split(",")[0].split(":")[-1].strip()
|
30 |
-
|
31 |
-
|
32 |
-
mem = " "
|
33 |
-
mem = f"Total: {mem[0]}, Used: {mem[1]}, Free: {mem[2]}"
|
34 |
logger.info(f"CPU: {cpu}, Memory: {mem}")
|
35 |
info = {"CPU": {cpu}, "Memory": {mem}}
|
36 |
return info
|
@@ -138,8 +138,7 @@ async def open_browser(request: Request):
|
|
138 |
resp = await client.get(f"http://127.0.0.1:{port}/json/version")
|
139 |
if resp.status_code == 200:
|
140 |
browser_info = resp.json()
|
141 |
-
ws_url = browser_info.get("webSocketDebuggerUrl")
|
142 |
-
|
143 |
logger.info(f"Browser opened with ID: {browser_id}, Info: {browser_info}")
|
144 |
BROWSERS[browser_id] = {"process": proc, "ws": ws_url, "port": port, "status": "open", "info": browser_info}
|
145 |
return {"code": 0, "msg": "success", "data": {"id": browser_id, "ws": ws_url}, "info": browser_info}
|
|
|
17 |
app = FastAPI()
|
18 |
|
19 |
# 浏览器实例管理
|
20 |
+
BROWSERS: Dict[str, dict] = {} # {browser_id: {"process": Popen, "ws": str, "port": int, "status": str, "info": dict}}
|
21 |
+
# 浏览器实例状态: open, closed
|
22 |
PORT_RANGE = (9300, 9700)
|
23 |
CHROME_PATH = "google-chrome" # Linux下可用命令,或自定义绝对路径
|
24 |
PROFILE_BASE = "/tmp/profiles"
|
|
|
28 |
cpu = subprocess.check_output("top -bn1 | grep 'Cpu(s)'", shell=True).decode().strip()
|
29 |
mem = subprocess.check_output("free -m | grep Mem", shell=True).decode().strip()
|
30 |
cpu = cpu.split(",")[0].split(":")[-1].strip()
|
31 |
+
mem_values = mem.split()[1:4]
|
32 |
+
mem_total, mem_used, mem_free = mem_values
|
33 |
+
mem = f"Total: {mem_total}MB, Used: {mem_used}MB, Free: {mem_free}MB"
|
|
|
34 |
logger.info(f"CPU: {cpu}, Memory: {mem}")
|
35 |
info = {"CPU": {cpu}, "Memory": {mem}}
|
36 |
return info
|
|
|
138 |
resp = await client.get(f"http://127.0.0.1:{port}/json/version")
|
139 |
if resp.status_code == 200:
|
140 |
browser_info = resp.json()
|
141 |
+
ws_url = browser_info.get("webSocketDebuggerUrl").replace("ws://127.0.0.1", "wss://0.0.0.0")
|
|
|
142 |
logger.info(f"Browser opened with ID: {browser_id}, Info: {browser_info}")
|
143 |
BROWSERS[browser_id] = {"process": proc, "ws": ws_url, "port": port, "status": "open", "info": browser_info}
|
144 |
return {"code": 0, "msg": "success", "data": {"id": browser_id, "ws": ws_url}, "info": browser_info}
|