Skip to main content

用于检索用户实时性能统计的 Python CLI 和 Python 类

项目描述

cloudflarepycli

用于检索用户实时性能统计信息的 Python CLI 和 Python 类。

目的

检索有关 ISP 向用户提供的服务的近期性能数据。数据包括上传和下载速度、延迟和抖动。CLI 可以将数据通过管道传输到其他进程以进行可能的上传、分析等和/或构建用于显示当前和过去数据的 GUI。cloudflareclass.py 模块可用于改变已完成的测试类型。我将在未来的项目中使用这两者来扩展功能。

安装

在要使用的 Python 环境中键入“pip install cloudflarepycli”。

命令行使用

在安装包的环境中输入“cfspeedtest”。请注意,这是一个 shell 命令,而不是 Python 命令。

选项

-h, --help 显示帮助信息并退出

--debug 日志网络 io

--json 将 json 写入 sysout 而不是格式化结果

--version 显示程序的版本号并退出

cloudflare 类使用

(WIP) 现在查看源代码。

源代码库

https://github.com/tevslin/cloudflarepycli

这个怎么运作

延迟测试是通过从 Cloudflare 请求一个字节的数据包,测量获得响应所用的时间,并从返回的消息中的标头中减去服务器处理时间来完成的。抖动计算为连续请求到达之间的绝对差的平均值。

cloudflareclass.py 模块向speed.cloudflare.com的各种子地址发出 Python 请求。据我所知,他们的 API 没有文档记录,因此这是该代码的一个漏洞。还有一个对ipdatabase.com的请求,返回的内容是屏幕抓取的实际 ISP 名称。

镜像 Cloudflare 网页的性能,CLI 使用不同的块大小进行多次上传和下载,所有这些测试的 90% 用于计算启动和下载时间。结果与从网页获得的结果相似。使用 cloudflareclass 模块可以改变测试。

与 Ookla 的 speedtest CLI 不同,Cloudflare 不需要下载许可的 exe。Cloudflare 使用来自其自己的缓存和托管中心网络的测试站点。这很有用,因为用户要检索的大部分内容实际上来自这些中心。另一方面,世界某些地区的覆盖范围可能很薄。

隐私

除了服务器可以在 HTTP 请求中看到的 IP 地址之外,不会向任何网站发送任何识别信息。Cloudflare 可以从它运行的测试中推断出一些东西。没有结果发送到任何地方。因为这是一个应用程序而不是在浏览器中运行,所以没有 cookie。

此软件包中提供了完整的源代码。

背景

数十亿美元用于改善宽带的可用性和质量,特别是在农村地区。需要工具来确保 ISP 提供他们所承诺的质量。该软件是对编写这些工具的无偿贡献。

免责声明

不对本软件提出任何形式的声明。尽管它“应该”是跨平台的,但它已经在 Windows 10 上进行了轻微测试,而不是在其他环境中。使用和/或重新分发的风险由您自行承担。不承诺维护此软件。如上所述,Clouflare 或 ipdatabase.com 所做的更改可能会破坏该功能。

我与 Cloudflare、任何托管服务或任何 ISP(客户除外)没有任何关系。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

cloudflarepycli-1.6.0.tar.gz (6.6 kB 查看哈希

已上传 source

内置分布

cloudflarepycli-1.6.0-py3-none-any.whl (7.0 kB 查看哈希

已上传 py3