用于检索用户实时性能统计的 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 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 08d5fa17d35b87d9b0dbffc33c1d770292b8d492011905bbb772c70d9cb1cf0d |
|
| MD5 | e63c0741ada4de8ecd3c9775de5b7899 |
|
| 布莱克2-256 | bbfdc186ef7dc693b5a3b4fe26f75c94049d4cf035f5d7c35df5bf670e2ab235 |
cloudflarepycli -1.6.0-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 4453b1705f8768884231cdc7222587d2cadd3908853df3e4fade2a29b68c8ce1 |
|
| MD5 | 59869c57cae70c9cfb5776681c60357c |
|
| 布莱克2-256 | d4d1088c8210cef5cb11b3fa1e066530d9f842fd9097ed966e1ac84c7028183d |