Onionloom - fastest GPU-accelerated v3 vanity onion generator, built in Rust

Built onionloom, because tools like mkp224o are solid but CPU-only, and the GPU forks that exist are CUDA-locked, framework-heavy, or barely beat CPU anyway. Onionloom is a new engine, not a fork.

What it’s got:

  • GPU via Vulkan/DX12/Metal, auto-detected, every result reverified on CPU so a bad driver can’t hand you a broken key. Linux optimized. But works well on Mac, Windows.
  • Custom paired-coordinate CPU engine with simultaneous field division, this is most of the CPU-side speedup
  • Auto-tunes to your hardware, no config
  • Resumable checkpoints, atomic writes, no half-written keys
  • Single static binary, no runtime deps

Over 2x mkp224o on my hardware for the same prefix length. Shows an ETA before it starts.

4 chars is seconds. 8 chars is an overnight run depending on your GPU.

Source and prebuilt binaries on the releases page, check hashes if you’re not building it yourself:

https://github.com/chrisch88dev/onionloom

cargo install onionloom --locked if you want to build from source.

Benchmarks from other GPU vendors welcome, only tested on my own setups so far.

Thank you :slight_smile:

Added on the list at https://onionservices.torproject.org/apps/base/onionmine/alternatives.

It does not seem to work on Windows (overflow) - I even tried the prebuilt binary too - opened a GitHub issue for it.

Also, your README intro starts with “The fastest Tor v3 vanity address generator.” … word for word the exact same as my Prefix32 - make sure your stats beat it before claiming the Crown ;D

Great work, optimization at this level is a real PITA!

Hey, thanks again for catching the Windows stack overflow. It is fixed in v1.0.1 now. Onionloom is optimized and tested primarily on Linux, but Windows and macOS should have worked too, and I now have proper release checks for both.

I also looked through Prefix32. The custom field arithmetic, batched inversion, fast prefix filtering, and OpenCL tuning are well thought out. Your reported per-thread CPU performance is seriously impressive. You have built a very fast and focused tool.

My goal with Onionloom was slightly different: build a self-contained tool that does not wrap another vanity generator, automatically chooses between CPU and GPU, falls back safely, verifies every result, and remains easy to use across platforms. While still being one of the fastests ones. That do not require a bunch of third party compilation libs.

It is genuinely cool to see both projects pushing Tor vanity generation forward. Thanks again for the report.