Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
probe-cli — 用于检测互联网审查和网络干扰的 Go 测量引擎与 CLI,可运行 OONI 网络测试并将结果报告至开放观测站。 | Kitploit
工具/GitHubGitHub/ooni/probe-cli
防御工具数据包嗅探与分析网络映射信息收集网络安全隐私保护实用工具与框架DNS 分析
GitHubooni/probe-cli

probe-cli

用于检测互联网审查和网络干扰的 Go 测量引擎与 CLI,可运行 OONI 网络测试并将结果报告至开放观测站。

查看仓库
2986411天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

OONI Probe Android

GoDoc Coverage Status Slack

OONI Probe 测量引擎与 CLI

安装说明 »

用户指南 · API 文档 · 报告缺陷 · 请求功能 · 教程

目录
  1. 关于本项目
  2. 安装说明
  3. 每日构建
  4. 构建说明
  5. 贡献
  6. 许可证
  7. 更新依赖
  8. 发布
  9. 语义化版本策略

关于本项目

开放网络干扰观测站(OONI) 是一个非营利自由软件项目,旨在赋能去中心化的 努力,记录世界各地的互联网审查情况。

本仓库包含以下 Go 包:

  1. ooniprobe 命令行客户端(cmd/ooniprobe);

  2. 测试辅助服务器(internal/cmd/oohelperd);

  3. 移动端库(pkg/oonimkall);

  4. 测量引擎库(internal);

  5. miniooni 实验性命令行客户端(internal/cmd/miniooni)。

本仓库中的每个顶层目录都包含一个说明性的 README 文件。

安装说明

请按照 ooni.org/install/cli 上的说明 安装适用于 Windows、macOS 和 Debian/Ubuntu 的 ooniprobe 预编译二进制文件。安装 ooniprobe 后,请参阅 用户指南。

每日构建

我们使用滚动发布标签发布每日构建。这些 构建使用 master 分支的最新提交。

开发者说明

要为本仓库搭建开发环境,你需要 Go >= 1.15。 ./script/go.bash 脚本会自动下载 GOVERSION 文件中提到的 预期 Go 版本(即 go1.27.3)并将其用于构建。

你也可以绕过 ./script/go.bash,使用 go build ... 手动构建 ooniprobe,但在这种情况下,请注意:

  1. 使用比 GOVERSION 中提到的版本更旧的版本 绝对不推荐,且_甚至可能无法编译_;

  2. 使用更新的版本_应该_能按预期实现核心功能, 但额外功能可能被禁用或无法按预期工作。

原因如下:我们依赖从标准库分叉出来的包;因此, 使用与分叉这些包时相同的 Go 版本更为稳健。

你还需要一个 C 编译器。在 Linux 和其他 Unix 系统上,GCC 和 Clang 都可以使用。如果你使用的是 Windows,我们建议在 Windows Subsystem for Linux 上安装 Ubuntu 或 Debian。如果你的目标平台是 Windows,还应该安装 mingw-w64 交叉编译器。

Debian 开发者环境配置

以下命令展示了如何使用 Debian 12(“bookworm”)搭建开发环境。同样的步骤也适用于 Ubuntu 22.04 LTS。

# install the compilers, git, and the root CA
sudo apt install golang build-essential ca-certificates git

# [optional] install mingw-w64 if you're targeting windows
sudo apt install mingw-w64

Fedora 开发者环境搭建

以下命令展示了如何使用 Fedora 搭建开发环境,前提是你的 Fedora 使用的 Go 版本 >= 1.15。

# install the compilers and git
sudo dnf install golang make gcc gcc-c++ git

# [optional] install mingw-w64 if you're targeting windows
sudo dnf install mingw64-gcc mingw64-gcc-c++

macOS 开发者环境配置

以下命令展示了如何在 macOS 上配置开发环境。我们假设你已经安装了 Homebrew,它应该也会安装 Xcode 命令行工具。

然后,你需要按照以下说明操作:

# install the compiler
brew install go

./script/go.bash 脚本

./script/go.bash 脚本需要 Go >= 1.15,并自动安装和使用正确版本的 Go。按如下方式运行此脚本:

./script/go.bash build -v -ldflags '-s -w' ./internal/cmd/miniooni

等同于运行以下命令:

go install -v golang.org/dl/go1.27.3@latest
$HOME/go/bin/go1.27.3 download
export GOTOOLCHAIN=local
$HOME/sdk/go1.27.3/bin/go build -v -ldflags '-s -w' ./internal/cmd/miniooni

常用构建目标

本节介绍如何使用 ./script/go.bash 进行构建。如果你想绕过该脚本,只需运行 go 而不是 ./script/go.bash。

你可以使用以下命令编译 ooniprobe:

./script/go.bash build -v -ldflags '-s -w' ./cmd/ooniprobe

此命令将在顶层目录中生成一个名为 ooniprobe 的精简二进制文件。

同样,你可以使用以下命令编译 miniooni:

./script/go.bash build -v -ldflags '-s -w' ./internal/cmd/miniooni

此命令将在顶层目录中生成一个名为 miniooni 的精简二进制文件。

并使用以下命令生成 oohelperd:

./script/go.bash build -v -ldflags '-s -w' ./internal/cmd/oohelperd

此命令将在顶层目录中生成一个名为 oohelperd 的剥离二进制文件。

userauth 静态库

ooniprobe 和 miniooni 二进制文件链接了一个由 ooniprobe-rs 构建的 Rust 静态库 (libuniffi_ooniprobe.a)。make CLI/* 目标通过 userauth 目标获取它, 该目标会运行 buildtool,并且默认从固定版本的 ooniprobe-rs 发布版下载预构建的包。

设置 USERAUTH_FROM_SOURCE=1 可改为从固定版本的 ooniprobe-rs 源码构建静态库,例如:

make USERAUTH_FROM_SOURCE=1 CLI/ooniprobe

从源码构建是我们在发布时采用的方式,因为预构建的 bundle 基于 glibc,无法链接到 musl 静态 Linux 构建或交叉编译的 Windows/darwin 构建中。预构建下载速度更快,是本地开发的合适默认选择。

贡献

请参阅 CONTRIBUTING.md。

许可证

SPDX-License-Identifier: GPL-3.0-or-later

发布

我们使用 Makefile 构建发布版本,这需要 GNU make。运行 make help 查看详细用法。

另请参阅 CONTRIBUTING.md 中的相关章节。

语义化版本策略

移动库之所以是公开包,是出于技术原因。Go 移动工具需要 从公开包构建。然而,我们并不认为此类包中发生的 API 破坏性变更 足以提升我们的主版本号。对我们而言,移动 库只是实现 OONI Probe Android 和 OONI Probe iOS 的一种手段。我们 只有在更改 ./cmd/ooniprobe 的 CLI 时才会提升主版本号。

下载工具