ascoders / ascoders/weekly

【开源自荐】CloudPing:基于云端的、分布式的网络探测与诊断平台

Open
#529 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
31.2k
Forks
3.3k
PR merge metrics
No merged PRs in 30d

Description

## 项目简介

CloudPing 将分布全球各地的节点整合起来,将探测能力云化,使得用户能够通过多端(Web端、Telegram Bot、Email、MCP Client/Agent)访问。要诊断或者调试一个网络问题,如今你不再需要单独 ssh 到每一台主机执行命令,而是可以在一个集中的平台上进行,在一个界面调集各地的节点进行探测。

## 主要功能

- 支持展示城市级别精确度的路由追逐 (traceroute) 报告,以及可选的可视化。
- 支持通过多个探测点发起针对多个目的地的 ping 探测任务,展示 ping matrix 格式的报告。
- 支持 TCP Ping。
- 支持 PMTU 探测(路径 PMTU 探测)。
- 支持应用层探测,例如 HTTP(含 HTTP/1.1, HTTP/2, HTTP/3)和 DNS(含 UDP, TCP, DoT, DoH)探测。
- 多端接入(如上文所述),三层架构分离使得后续可灵活扩展更多接入方式。
- Web 端支持多种 OAuth2.0 身份认证提供商 (IdP),支持 Github 登录,Google 登录,Microsoft Entra ID 登录,更多登录方式正在实现。
- 支持基于 QUIC 的 agent-to-hub 通信从而实现 NAT 环境下的部署,也支持公网环境下部署 + mTLS 双向认证。
- 各个组件之间使用 JWT 实现认证。
- MCP Server 功能(接入方式见 README),在LLM/Agent的支持下,你可以使用自然语言与此服务进行交互。
- 支持通过邮件调用(命令参数和邮件地址见 README)。
- 支持通过 Telegram Bot 调用(命令参数和邮件地址见 README)。
- 提供 docker-compose.yaml 模板,方便接入自己的探测节点以实现灵活简便的拓展。
- 提供基于 docker compose 的自部署案例。
- DN42 社区友好,支持 dn42 地址的 IP 信息展示和(可选的)地理位置展示。支持 DN42 社区的 iEdon Auth 和 Kioubit Auth 登录方式。
- 支持 Prometheus Metrics 导出。

## 具体内容

具体内容请参见:

项目地址:https://github.com/internetworklab/cloudping
在线演示:https://ping2.sh

MCP 接入、邮件访问和 Telegram Bot 接入方式请见项目页面。

Contributor guide

No contributing guide indexed for this repository

Research direction

Review the issue body and the CloudPing project README, including its docker-compose.yaml template and Prometheus metrics description. First determine the weekly repository's expected format and target file for project submissions; the work is done only when the required editorial change and placement are explicitly agreed.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker-compose, prometheus
Domain
content
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.