Skip to content

Quick Start

Get CloakProbe up and running on your server in just a few minutes.

  • Linux server (Ubuntu, Debian, Fedora, etc.)
  • Root or sudo access
  • curl installed
  1. Run the installation script

    Terminal window
    curl -fsSL https://raw.githubusercontent.com/drmckay/cloakprobe/main/install.sh | sudo bash

    This automatically:

    • Detects your system architecture (x86_64 or aarch64)
    • Downloads the latest release from GitHub
    • Installs to /opt/cloakprobe
    • Creates configuration at /etc/cloakprobe/cloakprobe.toml
    • Creates a cloakprobe system user
    • Sets up the systemd service
  2. Download the ASN database

    Terminal window
    sudo /opt/cloakprobe/scripts/update_asn_db.sh

    This downloads the IP-to-ASN mapping database (~15MB) that enables network lookups.

  3. Download the multi-RIR organization database (optional but recommended)

    Terminal window
    sudo /opt/cloakprobe/scripts/update_org_db.sh

    This adds organization details (name, ID, type, country, abuse contact) from all 5 Regional Internet Registries (RIPE, APNIC, LACNIC, AFRINIC, ARIN).

  4. Configure CloakProbe (optional)

    Terminal window
    sudo nano /etc/cloakprobe/cloakprobe.toml

    Key settings:

    [server]
    bind_address = "127.0.0.1" # Listen on localhost only
    port = 8080
    mode = "cloudflare" # or "nginx" for direct proxy
    [privacy]
    mode = "strict"
  5. Start the service

    Terminal window
    sudo systemctl start cloakprobe
  6. Verify it’s running

    Terminal window
    curl http://localhost:8080/healthz
    # Should return: {"status":"ok"}

Open http://your-server:8080 in a browser to see the HTML interface.

Terminal window
# Check status
sudo systemctl status cloakprobe
# View logs
sudo journalctl -u cloakprobe -f
# Restart service
sudo systemctl restart cloakprobe
# Stop service
sudo systemctl stop cloakprobe

CloakProbe uses a TOML configuration file at /etc/cloakprobe/cloakprobe.toml:

[server]
bind_address = "127.0.0.1"
port = 8080
mode = "cloudflare" # "cloudflare" or "nginx"
region = "eu-central" # optional
[privacy]
mode = "strict" # "strict" or "balanced"
[database]
asn_db_path = "/opt/cloakprobe/data/asn_db.bin"
org_db_path = "/opt/cloakprobe/data/orgs_db.bin"