Zuli ProxyBroker Extended

Fast Rust proxy scraper and proxy checker with live proxy validation and a rotating proxy pool for HTTP/HTTPS, SOCKS4, and SOCKS5.
proxybroker is a Rust CLI and library that discovers public proxies, validates
and classifies them by anonymity, and serves a rotating proxy endpoint. It
includes offline DB-IP country lookup and optional Redis-backed storage.
> ⭐ If Zuli ProxyBroker Extended saves you time, consider starring the repository — it helps other developers discover the project.
Download v1.1.0 · Documentation · Installation
See Zuli ProxyBroker Extended in action
See the core Zuli ProxyBroker Extended workflow in action — public proxy discovery, validation, classification, rotation, and the available CLI / distribution entry points.

Highlights
- Discover and validate public HTTP/HTTPS, SOCKS4, and SOCKS5 proxies.
- Check, classify, and select proxies with offline country lookup.
- Serve a rotating proxy endpoint or embed the Rust library directly.
- v1.1.0 is the current distribution-closure release: SHA-256-verified binaries for Linux,
macOS, Windows, and ARM64 Android (
aarch64-linux-android), plus the canonical GHCR image.
- Every release target ships paired with a SHA-256 checksum; the
LICENSE, LICENSE-DATA,
and NOTICE notices travel with every archive.
Distribution state
-
GitHub Releases and GHCR are the canonical v1.1.0 distribution surfaces.
v1.1.0 ships Linux, macOS, Windows, and Android binaries with SHA-256 checksums and the
LICENSE, LICENSE-DATA, and NOTICE notices.
-
Android: the aarch64-linux-android binary is built with the same default feature set as
desktop (cli, server, geo, geo-bundled). It is a canonical release asset, built and
validated in a dedicated Android CI workflow.
-
crates.io: zuli-proxybroker-extended 1.1.0 is published on crates.io. The package
provides the proxybroker Rust library and CLI and carries the same Apache-2.0 code license,
required NOTICE provenance, and separately licensed bundled DB-IP data as the canonical release.
-
Docker Hub: a public mirror exists at docker.io/zuli2021/zuli-proxybroker-extended,
with v1.1.0 mirrored as both 1.1.0 and latest. GHCR remains canonical/authoritative; the
Docker Hub mirror is non-blocking and not independently built. Future automatic mirroring
(.github/workflows/docker-hub-mirror.yml) remains credential/configuration dependent.
-
Package managers:
- WinGet: submitted as PR #414112
(
zuli2021.ZuliProxyBrokerExtended 1.1.0); CLA and validation completed; awaiting upstream
community moderator review.
- Chocolatey:
zuli-proxybroker-extended 1.1.0 submitted; pending community
moderation/approval.
- AUR: technically validated but not submitted; a public maintainer identity is required.
- Scoop Main: not submitted; blocked by the current external inclusion/notability policy.
- Homebrew Core: not submitted; blocked by the current external notability/repository-age
policy.
- Nixpkgs: not submitted; Nix tooling/SRI and maintainer-entry work remains.
- Termux: not submitted; the current main-repository policy blocks packages installable
through
cargo.
None of the blocked package-manager surfaces are published.
Quick Start
Release download / install
Install the latest supported Linux or macOS binary (SHA-256 verified, fail-closed;
LICENSE, NOTICE, and LICENSE-DATA are retained):
curl -fsSL https://raw.githubusercontent.com/zuli2021/zuli-proxybroker-extended/main/install.sh | sh
PROXYBROKER_VERSION=v1.1.0 # optional: select this release explicitly
Install from crates.io
The published crates.io package is also installable with Cargo (package name
zuli-proxybroker-extended; the installed executable is proxybroker):
cargo install zuli-proxybroker-extended --version 1.1.0 --locked
proxybroker --version
Android release
v1.1.0 ships a canonical proxybroker--aarch64-linux-android.tar.gz release asset
(executable proxybroker, plus LICENSE, LICENSE-DATA, NOTICE, and README.md, and its
.sha256 checksum). Install it by downloading the matching asset from the release, verifying
the checksum, and extracting it onto an ARM64 Android device (for example inside Termux).
The Android build uses the same default features as desktop; there is no Android-reduced
feature profile.
Windows release
Download the matching x86_64-pc-windows-msvc asset from the
v1.1.0 release,
verify its .sha256, and extract it. The v1.1.0 x86_64 Windows release was manually
validated on a Windows host; all of the following commands were successfully exercised:
.\proxybroker.exe --version
.\proxybroker.exe --help
.\proxybroker.exe grab --limit 10
.\proxybroker.exe find --types HTTP HTTPS --limit 10
.\proxybroker.exe serve --types HTTP --host 127.0.0.1:8888
This does not claim every Windows version, architecture, network, or long-running workload.
proxybroker.exe is a command-line application, not a GUI application. Double-clicking
proxybroker.exe may briefly open a console and then close because no persistent command
was supplied; that behavior by itself is not evidence of a crash. After extracting the ZIP,
open PowerShell in the extracted directory and invoke the executable with commands such as:
.\proxybroker.exe --version
.\proxybroker.exe --help
.\proxybroker.exe grab --limit 10
.\proxybroker.exe find --types HTTP HTTPS --limit 10
.\proxybroker.exe serve --types HTTP --host 127.0.0.1:8888
serve remains running until the user stops it with Ctrl+C.
proxybroker-v1.1.0-x86_64-pc-windows-msvc.zip contains the executable. The matching
.sha256 file is only checksum-verification material; it is not another Windows
program or version.
Build from source
Requires Rust 1.85 or newer, Cargo, and Git:
git clone https://github.com/zuli2021/zuli-proxybroker-extended.git
cd zuli-proxybroker-extended
cargo build --release --locked
./target/release/proxybroker --version
cargo install --path . --locked # optional, installed name stays "proxybroker"
Docker
docker run --rm -p 8888:8888 ghcr.io/zuli2021/zuli-proxybroker-extended:1.1.0 serve --host 0.0.0.0:8888
The image targets Linux amd64 (Linux aarch64 users should use the release binary);
it is published only after the release and all binary assets succeed. A container
must bind 0.0.0.0 to be reachable through a published port.
GHCR is canonical. A public Docker Hub mirror is also available at
docker.io/zuli2021/zuli-proxybroker-extended (both 1.1.0 and latest exist), copied from
the canonical GHCR image without independent builds:
docker run --rm -p 8888:8888 \
docker.io/zuli2021/zuli-proxybroker-extended:1.1.0 \
serve --host 0.0.0.0:8888
The Docker Hub mirror never gates the canonical release path.
Usage
proxybroker grab --limit 10 # scrape providers, no checking
proxybroker find --types HTTP HTTPS --limit 10 # scrape + check + classify anonymity
proxybroker find --types SOCKS5 --format json # machine-readable output
proxybroker serve --types HTTP --host 127.0.0.1:8888 # local rotating proxy server
proxybroker --provider-dir ./my-providers find --types HTTP # bring your own providers
Rust Library
Library-first: the CLI is a thin shell over a reusable API. The stable Rust package is published
on crates.io as zuli-proxybroker-extended 1.1.0. The library crate name remains proxybroker.
[dependencies]
proxybroker = { package = "zuli-proxybroker-extended", version = "1.1.0" }
To pin directly to the canonical GitHub release tag instead:
[dependencies]
proxybroker = { package = "zuli-proxybroker-extended", git = "https://github.com/zuli2021/zuli-proxybroker-extended.git", tag = "v1.1.0" }
use proxybroker::{Broker, FindQuery, Proto, TypeSpec};
use futures_util::StreamExt;
let mut stream = Broker::builder()
.build()
.find(FindQuery {
types: vec![TypeSpec::any(Proto::Http)],
limit: Some(10),
..Default::default()
})
.await?;
while let Some(proxy) = stream.next().await {
println!("{}", proxy.addr());
}
For unreleased development work, use an exact commit rather than an unpinned branch.
Features
| feature | default | what it does |
|---|
cli | yes | the proxybroker binary (clap, logging, output formats) |
server | yes | the local rotating proxy server |
geo | yes | country lookup code |
geo-bundled | yes | bundles the DB-IP database (~3.9 MB). Turn off to supply your own. |
--no-default-features yields a library with no geo data, server, or CLI
dependencies. Optional features include metrics, persistence (SQLite/Redis),
TUI, MCP, and a rotating connector.
Safety
> Public-proxy warning: Public proxies are untrusted third-party
> infrastructure. They must not be used for credentials, account logins,
> payment information, private API tokens, or other sensitive traffic.
v1.0.0 is the first stable release; v1.1.0 is the current release (distribution closure).
The documented library API and CLI interface are compatibility contracts governed by Semantic
Versioning. This stability declaration does not guarantee the availability, trustworthiness,
or safety of third-party public proxies.
Project & Provenance
Zuli ProxyBroker Extended is an independently maintained derivative of
proxybroker-rs, whose lineage
includes proxybroker2 and
ProxyBroker.
Zuli-specific engineering: configurable pool-fill concurrency/retry limits;
corrected relay-protocol selection for HTTPS-capable upstream proxies (designed
to preserve client-owned end-to-end TLS); and focused automated tests covering
pool-fill, CLI parsing, defaults, and relay negotiation.
In the 2026-07-29 landscape review, no third Rust project combined a reusable
library API, CLI, public-proxy discovery/validation, and rotating proxy-server
operation. That comparison (including the closest analogue, proxy-rs) is a dated
snapshot documented in docs/systematic-refactor/research.md.
Data & Licensing
Apache-2.0 — see LICENSE and NOTICE. Bundled geo data is
DB-IP Country Lite under CC BY 4.0 (no update-or-destroy clause) — see
LICENSE-DATA. The code licence does not cover the data, and the
data licence does not cover the code. This is why the bundled DB-IP data ships
separately from any user-supplied MaxMind databases (e.g. --geo-db), and why
City/ASN data is opt-in and unbundled. For the licensing rationale and detailed
analysis, see docs/systematic-refactor/research.md.
Documentation
Full CLI reference, feature guide, and architecture notes are on
GitHub Pages.