Clawdbot Skill: itdog.cn 网络测速工具
这是一个 Clawdbot 技能插件,提供 itdog.cn 网络测速功能。纯 Python 实现,无需浏览器,支持从全国/海外节点进行 Ping 测试和 HTTP 网站测速。
clawdbot skill add 6Kmfi6HP/clawdbot-skill-itdog或手动克隆到 skills 目录:
cd ~/.clawdbot/skills
git clone https://github.com/6Kmfi6HP/clawdbot-skill-itdog.git itdog- 🌍 Batch Ping - 从多个节点批量 Ping 测试 IP/域名
- 🌐 HTTP 测速 - 测试网站在各节点的响应时间
- 🔒 反爬虫处理 - 自动处理 guard/guardret Cookie
- ⚡ 实时结果 - 通过 WebSocket 实时接收测速数据
- 📊 多节点支持 - 覆盖三大运营商 + 海外节点
在 Clawdbot 中使用以下关键词触发此技能:
itdog网络测速ping测试批量pinghttp测速cloudflare优选延迟测试
用户: 帮我用 itdog 测试一下 1.1.1.1 的延迟
Clawdbot: 🚀 发起 Batch Ping 测试...
目标: 1.1.1.1 (Cloudflare DNS)
节点: 北京电信、北京联通、北京移动
✅ 北京电信: 85ms
✅ 北京移动: 226ms
✅ 北京联通: 287ms
📊 测试完成
| 节点组 | 节点 ID | 说明 |
|---|---|---|
| 北京三网 | 1310,1273,1250 |
电信/联通/移动 |
| 上海三网 | 1227,1254,1249 |
电信/联通/移动 |
| 广深三网 | 1169,1278,1290 |
电信/联通/移动 |
| 海外节点 | 1315,1316,1213 |
香港/新加坡/日本 |
完整节点列表见 references/nodes.md
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| host | str / list | - | IP/域名,支持 CIDR |
| node_id | str | - | 节点 ID,逗号分隔 |
| callback | callable | - | 结果回调函数 |
| cidr_filter | bool | True | 过滤网络/广播地址 |
| gateway | str | "last" | 网关位置 |
| timeout | int | 10 | WebSocket 超时(秒) |
回调数据格式:
{
'ip': '1.1.1.1',
'result': '85', # 延迟(ms)
'node_id': '1310',
'task_num': 1,
'address': 'cloudflare.com'
}| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| url | str | - | 测试 URL |
| callback | callable | - | 结果回调函数 |
| check_mode | str | "fast" | 检测模式 |
| method | str | "get" | HTTP 方法 |
| timeout | int | 10 | WebSocket 超时(秒) |
回调数据格式:
{
'name': '北京电信',
'ip': '220.181.111.1',
'all_time': '0.050', # 总耗时(秒)
'dns_time': '0.005',
'connect_time': '0.005',
'download_time': '0.023',
'http_code': 200,
'address': '中国/北京/电信'
}from scripts.itdog_client import ItdogClient
client = ItdogClient()
results = []
def collect(r):
if r.get('result') and r['result'].isdigit():
results.append({
'ip': r['ip'],
'latency': int(r['result']),
'location': r.get('address', '')
})
# 测试多个 Cloudflare IP
client.batch_ping(
["104.16.0.1", "104.17.0.1", "172.67.0.1"],
"1310,1273,1250",
collect
)
# 按延迟排序,选择最优 IP
for r in sorted(results, key=lambda x: x['latency'])[:3]:
print(f"{r['ip']}: {r['latency']}ms")- 节点可用性: 海外节点可能临时不可用,建议优先使用国内节点
- 请求频率: 避免高频请求,以免被限制
- 常量更新:
TASK_TOKEN_SECRET等常量可能需要定期更新
MIT License