Releases: drmckay/cloakprobe
CloakProbe v0.1.4
CloakProbe v0.1.4
Privacy-first IP information service behind Cloudflare.
What's Changed
Added
- AS name (
as-name) field extracted from RIR data for more accurate AS naming- RPSL parser now extracts
as-namefield from aut-num objects - Org DB v2 format stores
as_nameper organization record - AS name from RIR data takes precedence over ip2asn (fixes truncated names like
ASN-VODAFONE-→ASN-VODAFONE-HU)
- RPSL parser now extracts
Changed
- Comprehensive handler tests for all endpoint handlers
- Health handler tests (1 test)
- Info handler tests (4 tests: basic, ASN data, nginx mode, invalid IP)
- Plain handler tests (5 tests: basic, ASN data, nginx mode, invalid IP, client hints)
- HTML handler tests (4 tests: basic, ASN data, nginx mode, missing IP)
- Privacy handler tests (1 test)
- Total: 15 new handler tests, bringing total test count to 70
Changed
- Org DB format upgraded to v2 (adds
as_namefield, backward compatible reader for v1) - CSV format for org builders now includes 9 fields:
asn,as_name,org_id,org_name,country,rir,org_type,abuse_contact,last_updated
Fixed
- Fixed quick-xml 0.38 API compatibility (GeneralRef events for XML entity handling)
- Fixed truncated AS names from iptoasn.com (e.g., AS21334 now shows
ASN-VODAFONE-HUinstead ofASN-VODAFONE-)
Previously Added
- IP Address Details card UI improvements
- IPv4 hexadecimal format changed from dotted notation (
C0.A8.01.01) to 0x prefix format (0xC0A80101) without dots - Removed redundant
/24 SubnetandSubnet Sizerows from IPv4 details - Removed redundant
/64 NetworkandNetwork Sizerows from IPv6 details
- IPv4 hexadecimal format changed from dotted notation (
- Codebase refactoring for improved maintainability and performance
- Modular handler structure: Split
handlers/mod.rsinto separate handler moduleshandlers/info.rs- JSON API handlerhandlers/html.rs- HTML UI handlerhandlers/plain.rs- Plain text handlerhandlers/privacy.rs- Privacy policy handlerhandlers/health.rs- Health check handlerhandlers/mod.rs- Module exports andAppStatedefinition
- Extracted Cloudflare header processing to dedicated
headers/cloudflare.rsmodule - Moved utility functions to focused modules (
utils/sanitize.rs,utils/dnt.rs,utils/ip.rs) - Cached Tera template engine in
AppStateto avoid re-initialization on each request - Optimized sanitization functions to accept
Option<&str>and reduce string cloning - Improved code organization: connection, nginx, client, and cloudflare header extraction now in separate modules
- Formatter helpers now actively used: HTML, JSON, and plain text handlers now use formatter helper functions
- Reduced code duplication: ~400 lines of repetitive context building code replaced with reusable helpers
- Header item building logic extracted to
formatters/html.rs(geo location, network, connection, security, proxy items) - Plain text output now uses
formatters/plain.rshelpers for consistent formatting
- String cloning optimization: Reduced unnecessary cloning by using references (
&str) instead of owned strings- Cloudflare header extraction now uses references (
geo_ref,network_ref, etc.) instead of cloning values - Reduced memory allocations and improved performance, especially for high-traffic scenarios
- Cloudflare header extraction now uses references (
- Template context building optimization: Pre-sized context HashMap and batch operations using formatter helpers
- Context building now uses helper functions that batch insertions efficiently
- Reduced HashMap reallocations during context construction
- Modular handler structure: Split
Downloads
| Platform | Architecture | File |
|---|---|---|
| Linux | x86_64 (AMD64) | cloakprobe-0.1.4-linux-x86_64.tar.gz |
| Linux | aarch64 (ARM64) | cloakprobe-0.1.4-linux-aarch64.tar.gz |
Package Contents
Each package includes:
cloakprobe- Main binaryasn_builder- ASN database builderorg_builder,org_builder_rpsl,org_builder_arin- Multi-RIR organization database builderscloakprobe.example.toml- Example configuration filedata/asn_db.bin- Pre-built ASN database (from iptoasn.com)templates/- HTML templatesscripts/- Database update scripts (including multi-RIR org update)systemd/- Systemd service files (single and multi-instance)docs/- Deployment documentation (nginx setup guide)README.md,LICENSE,CHANGELOG.md
Note: Multi-RIR organization database is not pre-built. Run
/opt/cloakprobe/scripts/update_org_db.shafter installation to download organization data from all 5 RIRs.
Quick Start
# Download and extract (example for x86_64)
curl -LO https://github.com/drmckay/cloakprobe/releases/download/v0.1.4/cloakprobe-0.1.4-linux-x86_64.tar.gz
tar -xzf cloakprobe-0.1.4-linux-x86_64.tar.gz
cd cloakprobe-0.1.4-linux-x86_64
# Verify checksum
sha256sum -c ../cloakprobe-0.1.4-linux-x86_64.tar.gz.sha256
# Setup configuration
sudo mkdir -p /etc/cloakprobe
sudo cp cloakprobe.example.toml /etc/cloakprobe/cloakprobe.toml
# Run
./cloakprobe -c /etc/cloakprobe/cloakprobe.tomlFor full installation and deployment instructions, see the documentation.
Full Changelog: v0.1.3...v0.1.4
Nightly Build (2026-01-05)
Nightly Build - 2026-01-05
This is an automated nightly build containing the latest code and updated databases.
Contents
Each package includes:
cloakprobe- Main binaryasn_builder- ASN database builderorg_builder,org_builder_rpsl,org_builder_arin- Multi-RIR organization database builderscloakprobe.example.toml- Example configuration filedata/asn_db.bin- Pre-built ASN database (from iptoasn.com)templates/- HTML templates (index.html.tera, privacy.html.tera)scripts/- Database update scripts (including multi-RIR org update)systemd/- Systemd service files (single and multi-instance)docs/- Deployment documentation (nginx setup guide)
Note: Multi-RIR organization database is not pre-built. Run
update_org_db.shafter installation.
Installation
# Download and extract
tar -xzf cloakprobe-x86_64-unknown-linux-gnu.tar.gz
cd cloakprobe-x86_64-unknown-linux-gnu
# Copy and edit configuration
sudo mkdir -p /etc/cloakprobe
sudo cp cloakprobe.example.toml /etc/cloakprobe/cloakprobe.toml
sudo nano /etc/cloakprobe/cloakprobe.toml
# Run
./cloakprobe -c /etc/cloakprobe/cloakprobe.tomlFor full installation instructions, see the README and docs/nginx-deployment.md.
Nightly Build (2026-01-04)
Nightly Build - 2026-01-04
This is an automated nightly build containing the latest code and updated databases.
Contents
Each package includes:
cloakprobe- Main binaryasn_builder- ASN database builderorg_builder,org_builder_rpsl,org_builder_arin- Multi-RIR organization database builderscloakprobe.example.toml- Example configuration filedata/asn_db.bin- Pre-built ASN database (from iptoasn.com)templates/- HTML templates (index.html.tera, privacy.html.tera)scripts/- Database update scripts (including multi-RIR org update)systemd/- Systemd service files (single and multi-instance)docs/- Deployment documentation (nginx setup guide)
Note: Multi-RIR organization database is not pre-built. Run
update_org_db.shafter installation.
Installation
# Download and extract
tar -xzf cloakprobe-x86_64-unknown-linux-gnu.tar.gz
cd cloakprobe-x86_64-unknown-linux-gnu
# Copy and edit configuration
sudo mkdir -p /etc/cloakprobe
sudo cp cloakprobe.example.toml /etc/cloakprobe/cloakprobe.toml
sudo nano /etc/cloakprobe/cloakprobe.toml
# Run
./cloakprobe -c /etc/cloakprobe/cloakprobe.tomlFor full installation instructions, see the README and docs/nginx-deployment.md.
Nightly Build (2026-01-03)
Nightly Build - 2026-01-03
This is an automated nightly build containing the latest code and updated databases.
Contents
Each package includes:
cloakprobe- Main binaryasn_builder- ASN database builderorg_builder,org_builder_rpsl,org_builder_arin- Multi-RIR organization database builderscloakprobe.example.toml- Example configuration filedata/asn_db.bin- Pre-built ASN database (from iptoasn.com)templates/- HTML templates (index.html.tera, privacy.html.tera)scripts/- Database update scripts (including multi-RIR org update)systemd/- Systemd service files (single and multi-instance)docs/- Deployment documentation (nginx setup guide)
Note: Multi-RIR organization database is not pre-built. Run
update_org_db.shafter installation.
Installation
# Download and extract
tar -xzf cloakprobe-x86_64-unknown-linux-gnu.tar.gz
cd cloakprobe-x86_64-unknown-linux-gnu
# Copy and edit configuration
sudo mkdir -p /etc/cloakprobe
sudo cp cloakprobe.example.toml /etc/cloakprobe/cloakprobe.toml
sudo nano /etc/cloakprobe/cloakprobe.toml
# Run
./cloakprobe -c /etc/cloakprobe/cloakprobe.tomlFor full installation instructions, see the README and docs/nginx-deployment.md.
Nightly Build (2026-01-02)
Nightly Build - 2026-01-02
This is an automated nightly build containing the latest code and updated databases.
Contents
Each package includes:
cloakprobe- Main binaryasn_builder- ASN database builderorg_builder,org_builder_rpsl,org_builder_arin- Multi-RIR organization database builderscloakprobe.example.toml- Example configuration filedata/asn_db.bin- Pre-built ASN database (from iptoasn.com)templates/- HTML templates (index.html.tera, privacy.html.tera)scripts/- Database update scripts (including multi-RIR org update)systemd/- Systemd service files (single and multi-instance)docs/- Deployment documentation (nginx setup guide)
Note: Multi-RIR organization database is not pre-built. Run
update_org_db.shafter installation.
Installation
# Download and extract
tar -xzf cloakprobe-x86_64-unknown-linux-gnu.tar.gz
cd cloakprobe-x86_64-unknown-linux-gnu
# Copy and edit configuration
sudo mkdir -p /etc/cloakprobe
sudo cp cloakprobe.example.toml /etc/cloakprobe/cloakprobe.toml
sudo nano /etc/cloakprobe/cloakprobe.toml
# Run
./cloakprobe -c /etc/cloakprobe/cloakprobe.tomlFor full installation instructions, see the README and docs/nginx-deployment.md.
Nightly Build (2026-01-01)
Nightly Build - 2026-01-01
This is an automated nightly build containing the latest code and updated databases.
Contents
Each package includes:
cloakprobe- Main binaryasn_builder- ASN database builderorg_builder,org_builder_rpsl,org_builder_arin- Multi-RIR organization database builderscloakprobe.example.toml- Example configuration filedata/asn_db.bin- Pre-built ASN database (from iptoasn.com)templates/- HTML templates (index.html.tera, privacy.html.tera)scripts/- Database update scripts (including multi-RIR org update)systemd/- Systemd service files (single and multi-instance)docs/- Deployment documentation (nginx setup guide)
Note: Multi-RIR organization database is not pre-built. Run
update_org_db.shafter installation.
Installation
# Download and extract
tar -xzf cloakprobe-x86_64-unknown-linux-gnu.tar.gz
cd cloakprobe-x86_64-unknown-linux-gnu
# Copy and edit configuration
sudo mkdir -p /etc/cloakprobe
sudo cp cloakprobe.example.toml /etc/cloakprobe/cloakprobe.toml
sudo nano /etc/cloakprobe/cloakprobe.toml
# Run
./cloakprobe -c /etc/cloakprobe/cloakprobe.tomlFor full installation instructions, see the README and docs/nginx-deployment.md.
Nightly Build (2025-12-31)
Nightly Build - 2025-12-31
This is an automated nightly build containing the latest code and updated databases.
Contents
Each package includes:
cloakprobe- Main binaryasn_builder- ASN database builderorg_builder,org_builder_rpsl,org_builder_arin- Multi-RIR organization database builderscloakprobe.example.toml- Example configuration filedata/asn_db.bin- Pre-built ASN database (from iptoasn.com)templates/- HTML templates (index.html.tera, privacy.html.tera)scripts/- Database update scripts (including multi-RIR org update)systemd/- Systemd service files (single and multi-instance)docs/- Deployment documentation (nginx setup guide)
Note: Multi-RIR organization database is not pre-built. Run
update_org_db.shafter installation.
Installation
# Download and extract
tar -xzf cloakprobe-x86_64-unknown-linux-gnu.tar.gz
cd cloakprobe-x86_64-unknown-linux-gnu
# Copy and edit configuration
sudo mkdir -p /etc/cloakprobe
sudo cp cloakprobe.example.toml /etc/cloakprobe/cloakprobe.toml
sudo nano /etc/cloakprobe/cloakprobe.toml
# Run
./cloakprobe -c /etc/cloakprobe/cloakprobe.tomlFor full installation instructions, see the README and docs/nginx-deployment.md.
Nightly Build (2025-12-30)
Nightly Build - 2025-12-30
This is an automated nightly build containing the latest code and updated databases.
Contents
Each package includes:
cloakprobe- Main binaryasn_builder- ASN database builderorg_builder,org_builder_rpsl,org_builder_arin- Multi-RIR organization database builderscloakprobe.example.toml- Example configuration filedata/asn_db.bin- Pre-built ASN database (from iptoasn.com)templates/- HTML templates (index.html.tera, privacy.html.tera)scripts/- Database update scripts (including multi-RIR org update)systemd/- Systemd service files (single and multi-instance)docs/- Deployment documentation (nginx setup guide)
Note: Multi-RIR organization database is not pre-built. Run
update_org_db.shafter installation.
Installation
# Download and extract
tar -xzf cloakprobe-x86_64-unknown-linux-gnu.tar.gz
cd cloakprobe-x86_64-unknown-linux-gnu
# Copy and edit configuration
sudo mkdir -p /etc/cloakprobe
sudo cp cloakprobe.example.toml /etc/cloakprobe/cloakprobe.toml
sudo nano /etc/cloakprobe/cloakprobe.toml
# Run
./cloakprobe -c /etc/cloakprobe/cloakprobe.tomlFor full installation instructions, see the README and docs/nginx-deployment.md.
Nightly Build (2025-12-29)
Nightly Build - 2025-12-29
This is an automated nightly build containing the latest code and updated databases.
Contents
Each package includes:
cloakprobe- Main binaryasn_builder- ASN database builderorg_builder,org_builder_rpsl,org_builder_arin- Multi-RIR organization database builderscloakprobe.example.toml- Example configuration filedata/asn_db.bin- Pre-built ASN database (from iptoasn.com)templates/- HTML templates (index.html.tera, privacy.html.tera)scripts/- Database update scripts (including multi-RIR org update)systemd/- Systemd service files (single and multi-instance)docs/- Deployment documentation (nginx setup guide)
Note: Multi-RIR organization database is not pre-built. Run
update_org_db.shafter installation.
Installation
# Download and extract
tar -xzf cloakprobe-x86_64-unknown-linux-gnu.tar.gz
cd cloakprobe-x86_64-unknown-linux-gnu
# Copy and edit configuration
sudo mkdir -p /etc/cloakprobe
sudo cp cloakprobe.example.toml /etc/cloakprobe/cloakprobe.toml
sudo nano /etc/cloakprobe/cloakprobe.toml
# Run
./cloakprobe -c /etc/cloakprobe/cloakprobe.tomlFor full installation instructions, see the README and docs/nginx-deployment.md.
Nightly Build (2025-12-28)
Nightly Build - 2025-12-28
This is an automated nightly build containing the latest code and updated databases.
Contents
Each package includes:
cloakprobe- Main binaryasn_builder- ASN database builderorg_builder,org_builder_rpsl,org_builder_arin- Multi-RIR organization database builderscloakprobe.example.toml- Example configuration filedata/asn_db.bin- Pre-built ASN database (from iptoasn.com)templates/- HTML templates (index.html.tera, privacy.html.tera)scripts/- Database update scripts (including multi-RIR org update)systemd/- Systemd service files (single and multi-instance)docs/- Deployment documentation (nginx setup guide)
Note: Multi-RIR organization database is not pre-built. Run
update_org_db.shafter installation.
Installation
# Download and extract
tar -xzf cloakprobe-x86_64-unknown-linux-gnu.tar.gz
cd cloakprobe-x86_64-unknown-linux-gnu
# Copy and edit configuration
sudo mkdir -p /etc/cloakprobe
sudo cp cloakprobe.example.toml /etc/cloakprobe/cloakprobe.toml
sudo nano /etc/cloakprobe/cloakprobe.toml
# Run
./cloakprobe -c /etc/cloakprobe/cloakprobe.tomlFor full installation instructions, see the README and docs/nginx-deployment.md.