From ed93c0bf426b18d45d5aa02b8fd326a26bd57f35 Mon Sep 17 00:00:00 2001 From: wangqifan Date: Thu, 30 Oct 2025 12:25:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E4=BA=9Bbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/.env | 9 +- app/config.py | 2 + app/redis_store.py | 4 +- app/rotation_service.py | 8 +- line_status.json | 410 ++++++---------------------------------- 5 files changed, 68 insertions(+), 365 deletions(-) diff --git a/app/.env b/app/.env index e88d536..290a6f5 100644 --- a/app/.env +++ b/app/.env @@ -4,7 +4,7 @@ EIP_PASSWORD=Hnz3HuWCqEX9vdzpBodY304T6CEJJJ # EIP 基础配置 EIP_BASE_URL=https://smart.jdbox.xyz:58001 -EIP_GATEWAY_MAC=525400989391 +EIP_GATEWAY_MAC=525400E1C655 # 轮换默认参数(如不指定,请在请求体传递 cityhash) EIP_DEFAULT_CITYHASH=20c5485e25a2f55681fa38f3598b34a6876e60c3188e4b5174042e4e390a1808 @@ -15,12 +15,13 @@ REDIS_URL=redis://127.0.0.1:6379/5 # 日志级别 LOG_LEVEL=INFO - +IP_LIMIT=3 # 端口数==条数 从172.30.168.2开始 -PORT_NUM=40 +PORT_NUM=10 MAX_ONLINE=80000 ADMIN_USERNAME=heping ADMIN_PASSWORD=He_Ping551 -SESSION_SECRET=sinehiunsdkfi \ No newline at end of file +SESSION_SECRET=sinehiunsdkfi + diff --git a/app/config.py b/app/config.py index 9af6d11..156b47e 100644 --- a/app/config.py +++ b/app/config.py @@ -17,10 +17,12 @@ class Settings(BaseModel): log_level: str = os.getenv("LOG_LEVEL", "INFO") port_num: int = int(os.getenv("PORT_NUM", 3)) max_online: int = int(os.getenv("MAX_ONLINE", 3)) + ip_limit: int = int(os.getenv("IP_LIMIT", 3)) # 前台登录配置 admin_username: str = os.getenv("ADMIN_USERNAME", "admin") admin_password: str = os.getenv("ADMIN_PASSWORD", "admin") session_secret: str = os.getenv("SESSION_SECRET", "change-me-please") + settings = Settings() diff --git a/app/redis_store.py b/app/redis_store.py index fe0faae..3515e59 100644 --- a/app/redis_store.py +++ b/app/redis_store.py @@ -19,7 +19,7 @@ class RedisStore: key = self._today_key("used") self._r.sadd(key, ip) # 设置 2 天过期,跨时区冗余 - self._r.expire(key, 172800) + self._r.expire(key, 86400) def is_ip_used_today(self, ip: str) -> bool: key = self._today_key("used") @@ -41,7 +41,7 @@ class RedisStore: if items: self._r.delete(key) self._r.rpush(key, *list(items)) - self._r.expire(key, 172800) + self._r.expire(key, 86400) store_singleton = RedisStore(settings.redis_url) diff --git a/app/rotation_service.py b/app/rotation_service.py index 2192405..5f8475b 100644 --- a/app/rotation_service.py +++ b/app/rotation_service.py @@ -100,7 +100,7 @@ def apply_gateway_route(edge_ids: Optional[str], ips: str, geo: str, client_id:s rule.append({ "table": line['id'], # 路由表ID "enable": True, # 启用规则 - "edge": [line['edge_device']], # 边缘设备列表 + "edge": line['edge_device'].split(','), # 边缘设备列表 "network": [client_infos[str(line['id'])]], # 网络配置(当前为空) "cityhash": line['geo_location'], # 城市哈希值 }) @@ -142,7 +142,7 @@ def rotate(client_id,cities) -> Dict[str, Any]: devices = eip.list_devices(geo=geo, offset=0, num=n) # 选择未使用的最多 4 个 IP - candidates = select_unused_ip(devices, limit=4) + candidates = select_unused_ip(devices, limit=settings.ip_limit) if not candidates: return {"changed": False, "reason": "没有可用且今天未使用的 IP"} # 取第一个用于生效,其余作为候选缓存 @@ -162,9 +162,9 @@ def rotate(client_id,cities) -> Dict[str, Any]: pass # 获取网关状态 - status = eip.gateway_status(settings.eip_gateway_mac) + # status = eip.gateway_status(settings.eip_gateway_mac) - return {"changed": True, "ip": ','.join(ips), "edges": ','.join(edge_ids), "status": status, "geo": geo, "candidates": [c[0] for c in candidates]} + return {"changed": True, "ip": ','.join(ips), "edges": ','.join(edge_ids), "status": "activate", "geo": geo, "candidates": [c[0] for c in candidates]} def citie_list(): diff --git a/line_status.json b/line_status.json index 60d05bd..a1e55bd 100644 --- a/line_status.json +++ b/line_status.json @@ -1,402 +1,102 @@ { "1": { "id": 1, - "current_ip": "223.149.198.216,223.149.179.192,223.149.241.71,223.149.124.190", - "last_rotate_time": "2025-10-29T17:29:41.546318", + "current_ip": "183.162.118.212,183.162.118.244,114.103.69.30,183.162.118.91", + "last_rotate_time": "2025-10-30T11:33:09.848046", "status": "active", - "edge_device": "DCD87C5C0CDB,1004C103E7A0,DCD87C5C4183,DCD87C4AE984", - "geo_location": "20c5485e25a2f55681fa38f3598b34a6876e60c3188e4b5174042e4e390a1808", - "rotate_count": 3, - "last_update_time": "2025-10-29T17:29:41.557286" + "edge_device": "DCD87C4D6894,DCD87C227037,DCD87C5EF1BD,1004C10017E4", + "geo_location": "1fbbebf5e91217f53c75298927ce763887243c14d1567f7218ecfa5fba5c6d96", + "rotate_count": 4, + "last_update_time": "2025-10-30T11:33:09.861020" }, "2": { "id": 2, - "current_ip": "125.68.15.81,183.221.235.185,118.120.190.251,139.205.31.233", - "last_rotate_time": "2025-10-29T17:30:29.552282", + "current_ip": "36.161.206.72,60.175.50.139,120.242.232.64", + "last_rotate_time": "2025-10-30T12:12:48.612757", "status": "active", - "edge_device": "1004C1031358,DCD87C5C466F,DCD87C08073E,DCD87C5C7ED3", - "geo_location": "01c2d1acf783b5ac014f87dfe06d9a731c654d42aef402dc68965b9194ee7b2a", - "rotate_count": 1, - "last_update_time": "2025-10-29T17:30:29.563279" + "edge_device": "DCD87C5FB519,DCD87C07F598,DCD87C61E9A4", + "geo_location": "ea574e08dd3132cfcd8ff10d61b7cd966e3c5dd35791704e5b4fbf18ceca35b3", + "rotate_count": 4, + "last_update_time": "2025-10-30T12:12:48.626762" }, "3": { "id": 3, - "current_ip": "1.60.98.175,113.8.204.165,113.7.153.78,1.60.97.69", - "last_rotate_time": "2025-10-29T17:32:09.925637", + "current_ip": "36.248.93.27,110.90.203.168,120.40.125.76,120.32.97.38", + "last_rotate_time": "2025-10-30T11:13:23.810003", "status": "active", - "edge_device": "DCD87C5FB0C5,DCD87C238453,DCD87C238BE3,DCD87C23820A", - "geo_location": "58370ef051a7f4a3d5d40a3f505bb109420c2b347ba09b579b06c774cc3fbc3e", + "edge_device": "DCD87C5707A9,1004C1015620,DCD87C558C5B,DCD87C4D2E24", + "geo_location": "7d8b79d62c74038751de9895bbd0b22fdaebd3a4e1f58ca8e7c6ce06f769f15e", "rotate_count": 1, - "last_update_time": "2025-10-29T17:32:09.938471" + "last_update_time": "2025-10-30T11:13:23.834967" }, "4": { "id": 4, - "current_ip": "123.156.121.103,115.210.70.155,111.2.253.40,112.12.78.150", - "last_rotate_time": "2025-10-29T17:32:18.701089", + "current_ip": "218.22.177.178,112.132.155.241,58.242.132.73,112.132.155.98", + "last_rotate_time": "2025-10-30T11:41:32.732351", "status": "active", - "edge_device": "DCD87C5BFF53,DCD87C231486,DCD87C3FD5B5,DCD87C5FDD29", - "geo_location": "8f5a04e833a5ad0b1edf00ba9229a3b0d706eb3340c40ec8fb383e9949e6cdda", - "rotate_count": 1, - "last_update_time": "2025-10-29T17:32:18.714086" + "edge_device": "DCD87C12AD81,DCD87C626F18,DCD87C26189E,DCD87C285788", + "geo_location": "a486733631ad2d10a16fb1741780c4d5d830284357c7da9ae1b855bcce8d2209", + "rotate_count": 2, + "last_update_time": "2025-10-30T11:41:32.746864" }, "5": { "id": 5, - "current_ip": "111.23.251.160,120.227.137.133,175.12.231.161,113.223.25.7", - "last_rotate_time": "2025-10-29T17:32:32.143608", + "current_ip": "36.56.51.171,120.243.28.17,183.162.157.211,116.149.73.8", + "last_rotate_time": "2025-10-30T11:13:30.044480", "status": "active", - "edge_device": "DCD87C49633C,DCD87C44F479,DCD87C5F6E8D,DCD87C53DAFA", - "geo_location": "08397b1ba554e93dedaa897b474ea24f2965766fe880f6c00652756574287a19", + "edge_device": "DCD87C585960,DCD87C5BD2B3,DCD87C4ABE1E,DCD87C5577C5", + "geo_location": "25f79f127abbd4a4fbb03f49cf867af8914f7e538bec03bcc4252c765b51a83f", "rotate_count": 1, - "last_update_time": "2025-10-29T17:32:32.154684" + "last_update_time": "2025-10-30T11:13:30.057022" }, "6": { "id": 6, - "current_ip": "39.182.57.145,39.190.117.189,125.126.170.171,39.184.75.129", - "last_rotate_time": "2025-10-29T17:35:20.339325", + "current_ip": "49.72.115.245,153.37.164.231,222.93.177.214,222.93.13.3", + "last_rotate_time": "2025-10-30T11:13:33.925429", "status": "active", - "edge_device": "DCD87C2378EF,DCD87C127CC8,DCD87C13B376,DCD87C2C12E5", - "geo_location": "80df907846f7b37e4af59437aa78c329b67e567c6a2fb33477e990d20cf5ed39", + "edge_device": "DCD87C56CF29,DCD87C46AB2C,DCD87C2C0D7D,DCD87C627708", + "geo_location": "def92baf4c44a2a758c6bba8d4720942497441a057fea35e26563f9baa75c4a6", "rotate_count": 1, - "last_update_time": "2025-10-29T17:35:20.351402" + "last_update_time": "2025-10-30T11:13:33.935427" }, "7": { "id": 7, - "current_ip": "1.25.239.238,58.18.61.187,39.154.102.214,110.18.103.169", - "last_rotate_time": "2025-10-29T17:38:49.665536", + "current_ip": "39.188.198.67,115.214.119.234,183.135.121.175,36.22.39.95", + "last_rotate_time": "2025-10-30T11:13:38.623702", "status": "active", - "edge_device": "1004C103DD9C,DCD87C079FF9,DCD87C5DE435,DCD87C22E8DC", - "geo_location": "debb9c9c4f109b8c5a9213e980632f708ff13eed666a6d73c546566fd0ebb815", - "rotate_count": 3, - "last_update_time": "2025-10-29T17:38:49.687046" + "edge_device": "DCD87C2B884D,DCD87C439789,DCD87C61BDBC,DCD87C5BB9C3", + "geo_location": "b229917740b7dde6a3c135b9db485a3c335b1a936b809c7d87bf94df8cb1338b", + "rotate_count": 2, + "last_update_time": "2025-10-30T11:13:38.634703" }, "8": { "id": 8, - "current_ip": "111.25.250.163,122.137.205.240,124.234.86.1,124.234.60.67", - "last_rotate_time": "2025-10-29T17:38:52.467697", + "current_ip": "115.151.147.128,117.163.249.23,220.175.224.113,182.103.244.2", + "last_rotate_time": "2025-10-30T11:13:39.393799", "status": "active", - "edge_device": "DCD87C067855,DCD87C0CD531,DCD87C5BC23F,DCD87C2DD58D", - "geo_location": "94fdf6d0a0701120800c12ddf2cc5a09f47d5f228e2089987c074df79187dd99", - "rotate_count": 2, - "last_update_time": "2025-10-29T17:38:52.492693" + "edge_device": "DCD87C122D22,DCD87C12568D,DCD87C129D12,DCD87C12961D", + "geo_location": "13de0c850c7f51c3a215ecd30c6d4edf8bfd1b62c3354e87e05a60cbacf51523", + "rotate_count": 1, + "last_update_time": "2025-10-30T11:13:39.413806" }, "9": { "id": 9, - "current_ip": "171.95.247.167,171.95.215.227,171.95.215.84,112.44.92.6", - "last_rotate_time": "2025-10-29T17:38:55.642615", + "current_ip": "114.100.231.68,58.243.12.46,39.146.238.226,112.32.232.239", + "last_rotate_time": "2025-10-30T11:13:42.995562", "status": "active", - "edge_device": "DCD87C4D4474,DCD87C2DCBB1,DCD87C55A0BA,DCD87C5C5937", - "geo_location": "4a04a1900273abaddc0ac4cda52d50fa84816c30a50467c1fb85c294736c114e", + "edge_device": "DCD87C4CFA20,DCD87C5C8E8B,DCD87C256F9A,DCD87C40D0AD", + "geo_location": "33695ad43b73cc70f93d1313ae1dc0b254feeebffd3d3ace3c6d3b27487c1a59", "rotate_count": 2, - "last_update_time": "2025-10-29T17:38:55.662643" + "last_update_time": "2025-10-30T11:13:43.024707" }, "10": { "id": 10, - "current_ip": "112.1.144.133,223.107.238.20,223.107.251.133,114.233.46.98", - "last_rotate_time": "2025-10-29T17:38:58.685610", + "current_ip": "115.229.183.37,39.182.76.35,39.182.76.70,123.96.44.130", + "last_rotate_time": "2025-10-30T11:13:44.345645", "status": "active", - "edge_device": "DCD87C11B895,DCD87C486FC0,DCD87C2041FA,DCD87C2490F6", - "geo_location": "f873b74b459064838e58248d1d266ac3071a374a77719b5c8b64eb30366dc27a", - "rotate_count": 2, - "last_update_time": "2025-10-29T17:38:58.700120" - }, - "11": { - "id": 11, - "current_ip": "223.102.237.89,123.189.186.252,175.166.62.231,223.102.228.159", - "last_rotate_time": "2025-10-29T17:39:01.260403", - "status": "active", - "edge_device": "DCD87C5998EB,DCD87C457789,DCD87C61697C,1004C1031B60", - "geo_location": "80658a4556dbd03947ee01f3e47acdd2a03251f2b79715a6a645a21734ea0fbd", - "rotate_count": 2, - "last_update_time": "2025-10-29T17:39:01.286412" - }, - "12": { - "id": 12, - "current_ip": "117.189.182.252,116.171.188.131,58.16.191.154,117.188.179.183", - "last_rotate_time": "2025-10-29T17:39:03.786253", - "status": "active", - "edge_device": "DCD87C57D541,1004C10028B4,DCD87C5873D8,DCD87C42B5FD", - "geo_location": "7a0ce626537da17533822b9b193e7e52cc81a72e6635f94157a3e3dd9f43e7b3", - "rotate_count": 2, - "last_update_time": "2025-10-29T17:39:03.802836" - }, - "13": { - "id": 13, - "current_ip": "36.142.169.101,36.142.165.40,36.142.160.158,36.142.167.10", - "last_rotate_time": "2025-10-29T17:39:06.069184", - "status": "active", - "edge_device": "DCD87C5ECA31,DCD87C5A6723,DCD87C450C05,DCD87C5B853F", - "geo_location": "3ccd3850f97058d8d2b0068dc6581f0e65e939e92c5c91718330bd634c712844", - "rotate_count": 2, - "last_update_time": "2025-10-29T17:39:06.090915" - }, - "14": { - "id": 14, - "current_ip": "171.39.170.167,171.110.79.49,117.182.67.237,113.17.114.16", - "last_rotate_time": "2025-10-29T17:39:09.126752", - "status": "active", - "edge_device": "DCD87C407495,DCD87C592FD8,DCD87C453001,DCD87C21CC47", - "geo_location": "722fb89a1e888d9aadb67d055be3f412e82e4d8e3b8904c14db23ccdc19e0449", - "rotate_count": 2, - "last_update_time": "2025-10-29T17:39:09.144336" - }, - "15": { - "id": 15, - "current_ip": "120.69.101.245,110.155.179.132,223.114.173.51,120.69.101.170", - "last_rotate_time": "2025-10-29T17:39:11.576494", - "status": "active", - "edge_device": "DCD87C256B72,DCD87C12EFE4,DCD87C42AFB5,DCD87C0CD4B4", - "geo_location": "828d503f3d3ece9d927167a1bdf07887ce6d49093d94b143d35cda83e93365b2", - "rotate_count": 2, - "last_update_time": "2025-10-29T17:39:11.589625" - }, - "16": { - "id": 16, - "current_ip": "120.217.80.223,222.142.51.244,182.125.159.186,120.217.90.193", - "last_rotate_time": "2025-10-29T17:38:32.763555", - "status": "active", - "edge_device": "DCD87C127214,DCD87C284280,DCD87C269380,DCD87C1FADDB", - "geo_location": "cef3d46ea594a50a5ce6bd7398b9d24670bf9c4b6d3557bc0826ae0665559f18", - "rotate_count": 2, - "last_update_time": "2025-10-29T17:38:32.781610" - }, - "17": { - "id": 17, - "current_ip": "42.243.235.247,220.164.233.221,183.225.239.62,39.128.197.118", - "last_rotate_time": "2025-10-29T17:38:46.994968", - "status": "active", - "edge_device": "DCD87C5A602F,DCD87C4D1F1C,DCD87C5894CC,DCD87C53298A", - "geo_location": "16dd42f4b8a5e5c8929e64a59015249c1e6728f5f6f1cc5376ebadd08b193c62", - "rotate_count": 2, - "last_update_time": "2025-10-29T17:38:47.008981" - }, - "18": { - "id": 18, - "current_ip": "116.178.27.66,223.114.80.20,124.119.101.241,116.178.24.48", - "last_rotate_time": "2025-10-29T17:38:29.348455", - "status": "active", - "edge_device": "1004C1019E38,DCD87C54709B,DCD87C5F7791,DCD87C050FED", - "geo_location": "c1d66a1666d57799f809cb02cd6a74bb65b1aa3b70fe21d38fcbce3025e45937", - "rotate_count": 3, - "last_update_time": "2025-10-29T17:38:29.362461" - }, - "19": { - "id": 19, - "current_ip": "112.122.180.227,183.162.114.121,120.243.185.127,183.162.114.80", - "last_rotate_time": "2025-10-29T17:38:26.668254", - "status": "active", - "edge_device": "DCD87C5AB583,DCD87C2DBDE1,DCD87C49BDF0,DCD87C4709EC", - "geo_location": "5767c29a9bd74c6ac408abb53c93a14e79c9635e439bbc52c399d19745bf336f", - "rotate_count": 2, - "last_update_time": "2025-10-29T17:38:26.684507" - }, - "20": { - "id": 20, - "current_ip": "120.207.136.179,60.221.153.255,118.73.229.47,118.73.225.63", - "last_rotate_time": "2025-10-29T17:38:22.494642", - "status": "active", - "edge_device": "DCD87C11C069,DCD87C27D2E6,DCD87C453455,DCD87C4D7C2C", - "geo_location": "be75cfd425cc9865b56e59bef1a18a1ebb42cfc4eeadfe1e54656618ec5d21d6", - "rotate_count": 2, - "last_update_time": "2025-10-29T17:38:22.519190" - }, - "21": { - "id": 21, - "current_ip": "183.209.22.16,122.193.119.121,122.193.164.174,116.147.65.83", - "last_rotate_time": "2025-10-29T18:05:58.301389", - "status": "active", - "edge_device": "DCD87C460E8C,DCD87C21956B,DCD87C0CCE35,DCD87C579FCD", - "geo_location": "915467a82c43b854da8194cc405143ecd0e4a1dd95aa7624437ed94d3fbadeca", + "edge_device": "DCD87C27392E,DCD87C57E280,DCD87C43978D,DCD87C4AF497", + "geo_location": "75a9592dd3baeb59962b7ab7bb1f7ff77cf2d25f829a4dd024faf05cecb7f9e5", "rotate_count": 1, - "last_update_time": "2025-10-29T18:05:58.317931" - }, - "22": { - "id": 22, - "current_ip": "183.194.153.224,183.194.153.48,218.78.180.215,112.65.37.206", - "last_rotate_time": "2025-10-29T18:06:02.269370", - "status": "active", - "edge_device": "DCD87C2482F2,DCD87C42A07D,DCD87C5917EC,DCD87C22EDE3", - "geo_location": "f8a5e9b04178490cf8e71f5b273538aa75ef2c978ecac974a176d93af966ef53", - "rotate_count": 1, - "last_update_time": "2025-10-29T18:06:02.287463" - }, - "23": { - "id": 23, - "current_ip": "182.84.19.32,113.195.58.187,111.77.93.138,182.111.10.46", - "last_rotate_time": "2025-10-29T18:06:05.808484", - "status": "active", - "edge_device": "DCD87C24A636,DCD87C2B93F9,DCD87C557144,DCD87C250AF9", - "geo_location": "f9d7d1453fb46ad290295fefc2857341d7f7085711d1cc6ccecb1ab67f0e80bc", - "rotate_count": 1, - "last_update_time": "2025-10-29T18:06:05.825071" - }, - "24": { - "id": 24, - "current_ip": "182.99.92.84,117.162.120.21,39.158.42.212,106.226.102.156", - "last_rotate_time": "2025-10-29T18:06:11.753229", - "status": "active", - "edge_device": "DCD87C2D3F5D,DCD87C21D86B,DCD87C13CBF9,DCD87C628130", - "geo_location": "7eb867dcd8b62172f075b2bbb7e87b31702e3eaa0f09dadbd004541ab486b59f", - "rotate_count": 1, - "last_update_time": "2025-10-29T18:06:11.772569" - }, - "25": { - "id": 25, - "current_ip": "117.170.82.251,182.84.140.250,182.84.153.217,117.170.67.208", - "last_rotate_time": "2025-10-29T18:06:15.233554", - "status": "active", - "edge_device": "DCD87C426415,DCD87C56D171,DCD87C52380E,DCD87C4B12DD", - "geo_location": "bf4f5193031c3a3abc76db98bb9aaabcdda63b7f4b6bbc2acbc2049153eefc49", - "rotate_count": 1, - "last_update_time": "2025-10-29T18:06:15.256407" - }, - "26": { - "id": 26, - "current_ip": "112.0.15.244,112.3.34.157,117.93.0.177,180.117.120.22", - "last_rotate_time": "2025-10-29T18:06:19.001945", - "status": "active", - "edge_device": "DCD87C067E3E,DCD87C07FA9E,DCD87C23087B,DCD87C280006", - "geo_location": "d01d03a7047f2ce60e4f278976784e1ada32cea72ad1b276573ede5455a14755", - "rotate_count": 1, - "last_update_time": "2025-10-29T18:06:19.019036" - }, - "27": { - "id": 27, - "current_ip": "183.160.122.211,183.162.126.15,60.168.244.58,36.33.37.60", - "last_rotate_time": "2025-10-29T18:06:22.428474", - "status": "active", - "edge_device": "DCD87C57D61D,DCD87C5E20B1,DCD87C5F7A4D,DCD87C5A9E03", - "geo_location": "f6a209bd0da8c0049c35d48deb56569f79f662a9202b814ce019055cb1b3bb5c", - "rotate_count": 1, - "last_update_time": "2025-10-29T18:06:22.442503" - }, - "28": { - "id": 28, - "current_ip": "223.67.16.39,183.211.251.204,114.233.102.60,221.230.164.96", - "last_rotate_time": "2025-10-29T18:06:25.680298", - "status": "active", - "edge_device": "DCD87C130465,DCD87C45E83D,DCD87C067F2A,DCD87C4AA69F", - "geo_location": "f873b74b459064838e58248d1d266ac3071a374a77719b5c8b64eb30366dc27a", - "rotate_count": 1, - "last_update_time": "2025-10-29T18:06:25.694360" - }, - "29": { - "id": 29, - "current_ip": "139.227.153.240,183.194.155.186,117.135.92.225,183.194.152.6", - "last_rotate_time": "2025-10-29T18:06:29.205803", - "status": "active", - "edge_device": "DCD87C58295C,DCD87C2E6EC9,DCD87C204BFA,DCD87C4D4808", - "geo_location": "f8a5e9b04178490cf8e71f5b273538aa75ef2c978ecac974a176d93af966ef53", - "rotate_count": 1, - "last_update_time": "2025-10-29T18:06:29.221953" - }, - "30": { - "id": 30, - "current_ip": "114.232.47.197,114.232.108.68,112.2.145.140,49.67.157.186", - "last_rotate_time": "2025-10-29T18:06:33.419878", - "status": "active", - "edge_device": "DCD87C293090,DCD87C56162B,DCD87C477434,DCD87C3FD505", - "geo_location": "f8af0c3ec1d5c2809e49817171d723e88612f0ce3b71f5aa9360ffc0d454a980", - "rotate_count": 1, - "last_update_time": "2025-10-29T18:06:33.436462" - }, - "31": { - "id": 31, - "current_ip": "58.242.169.107,36.161.20.9,36.159.179.227,220.205.14.100", - "last_rotate_time": "2025-10-29T18:06:36.482729", - "status": "active", - "edge_device": "DCD87C42A765,DCD87C20BDE8,DCD87C569D21,DCD87C44DF05", - "geo_location": "2eab90f937b71898e7697554140eeef83fe0b5301a6e992b234c791821be5b5b", - "rotate_count": 1, - "last_update_time": "2025-10-29T18:06:36.498734" - }, - "32": { - "id": 32, - "current_ip": "112.32.187.116,36.62.31.131,114.105.80.3,36.35.81.99", - "last_rotate_time": "2025-10-29T18:06:40.859598", - "status": "active", - "edge_device": "1004C10012FC,DCD87C2A7694,DCD87C617AC8,DCD87C0D7F31", - "geo_location": "33695ad43b73cc70f93d1313ae1dc0b254feeebffd3d3ace3c6d3b27487c1a59", - "rotate_count": 1, - "last_update_time": "2025-10-29T18:06:40.884098" - }, - "33": { - "id": 33, - "current_ip": "183.162.118.122,223.247.48.140,36.161.68.61,183.162.118.100", - "last_rotate_time": "2025-10-29T18:06:43.846374", - "status": "active", - "edge_device": "DCD87C5165CE,DCD87C402455,DCD87C412595,DCD87C40FC39", - "geo_location": "1fbbebf5e91217f53c75298927ce763887243c14d1567f7218ecfa5fba5c6d96", - "rotate_count": 1, - "last_update_time": "2025-10-29T18:06:43.865206" - }, - "34": { - "id": 34, - "current_ip": "36.35.138.229,112.26.8.17,36.62.151.39,58.242.254.92", - "last_rotate_time": "2025-10-29T18:06:47.417179", - "status": "active", - "edge_device": "DCD87C58C23C,DCD87C1285CE,DCD87C4DC728,DCD87C51CEB6", - "geo_location": "fdd9d1b2da2f8379173fb46ff753ef7a9a4a4d531132594fad1ef9e02f63beda", - "rotate_count": 1, - "last_update_time": "2025-10-29T18:06:47.437093" - }, - "35": { - "id": 35, - "current_ip": "117.143.155.109,117.185.153.172,183.195.30.206,183.193.139.187", - "last_rotate_time": "2025-10-29T18:06:50.711942", - "status": "active", - "edge_device": "DCD87C473B64,DCD87C0CCF16,DCD87C531826,DCD87C080595", - "geo_location": "f8a5e9b04178490cf8e71f5b273538aa75ef2c978ecac974a176d93af966ef53", - "rotate_count": 1, - "last_update_time": "2025-10-29T18:06:50.737440" - }, - "36": { - "id": 36, - "current_ip": "117.44.163.97,59.62.66.173,171.34.216.29,59.53.33.52", - "last_rotate_time": "2025-10-29T18:06:54.486010", - "status": "active", - "edge_device": "DCD87C11F03E,DCD87C5BD5BB,DCD87C5E214D,DCD87C5F58D1", - "geo_location": "44ee84d6b4acec5d65d468f3b968e1dada861c0a1c4009fb769a813ea5357b83", - "rotate_count": 1, - "last_update_time": "2025-10-29T18:06:54.502676" - }, - "37": { - "id": 37, - "current_ip": "183.208.214.244,49.75.79.210,112.20.126.156,183.208.214.244", - "last_rotate_time": "2025-10-29T18:06:57.970035", - "status": "active", - "edge_device": "DCD87C58182C,DCD87C5BBD9F,DCD87C59CB81,DCD87C211897", - "geo_location": "def92baf4c44a2a758c6bba8d4720942497441a057fea35e26563f9baa75c4a6", - "rotate_count": 1, - "last_update_time": "2025-10-29T18:06:57.985698" - }, - "38": { - "id": 38, - "current_ip": "120.243.72.6,112.123.18.163,112.123.184.159,36.34.234.34", - "last_rotate_time": "2025-10-29T18:07:01.310905", - "status": "active", - "edge_device": "DCD87C51F252,DCD87C5191D2,DCD87C5144EE,DCD87C222BDF", - "geo_location": "ce4db8b85e6e87fc099516d0c00ef12810899e01d6398f6d7dc5267110f6c5b2", - "rotate_count": 1, - "last_update_time": "2025-10-29T18:07:01.327447" - }, - "39": { - "id": 39, - "current_ip": "223.67.17.35,223.67.53.219,223.107.237.120,121.230.4.197", - "last_rotate_time": "2025-10-29T18:07:05.158239", - "status": "active", - "edge_device": "DCD87C4B3BE1,DCD87C5DDF29,DCD87C22D414,DCD87C2A6834", - "geo_location": "f873b74b459064838e58248d1d266ac3071a374a77719b5c8b64eb30366dc27a", - "rotate_count": 1, - "last_update_time": "2025-10-29T18:07:05.174325" - }, - "40": { - "id": 40, - "current_ip": "183.251.169.145,175.42.232.237,220.162.137.3,183.251.117.35", - "last_rotate_time": "2025-10-29T18:07:08.669459", - "status": "active", - "edge_device": "DCD87C4B69F4,DCD87C61DE60,DCD87C0B399D,DCD87C61B840", - "geo_location": "14fc7fa4ca25513cc50460f17ac2a42f932f55fcd95690f10788ace672d8bf7e", - "rotate_count": 1, - "last_update_time": "2025-10-29T18:07:08.687303" + "last_update_time": "2025-10-30T11:13:44.360960" } } \ No newline at end of file