Plumb Search

Find websites by name.

Type “us bank” and get usbank.com. Plumb is a free, open-source search engine that runs on your own computer, so your searches stay with you.

This box searches the Plumb node on this server.

Names, not pages

Plumb keeps a small card for each site: its name, its homepage title and description, and the words other sites use when they link to it. That's about 1 KB per site, so a million sites fit in about a gigabyte.

The real site first

Popularity data and Wikidata's list of official websites help the real site beat look-alikes, so “irs refund” leads to irs.gov rather than a look-alike stuffed with keywords.

Yours to run

Use the desktop app on Windows, macOS or Linux, or run it with Docker on a home server. It builds its own index from public data, then keeps it fresh by visiting homepages in the background.

Get Plumb

Desktop app

For Windows, macOS (Apple silicon and Intel) and Linux (.deb, .rpm and AppImage). It shows the search page in its own window and opens results in your usual browser.

Releases on GitHub

No release is out yet; the installers arrive with the first one. They won't be code-signed at first, so your computer will warn you the first time you open the app.

Server or homelab

One container for Linux on x86 or ARM, including a 64-bit Raspberry Pi. The search page is on port 8080.

docker run -d --name plumb --init \
  --restart unless-stopped \
  -p 8080:8080 -v plumb-data:/data \
  ghcr.io/sueheir/plumb-search:latest

The image is published with the first release. Until then, you can build Plumb from source.

Make it your browser's search engine. Open your Plumb page in Firefox, right-click the address bar and choose “Add Plumb Search”. Other browsers can add it by hand with the search address http://127.0.0.1:7586/search?q=%s for the desktop app, or your server's address followed by /search?q=%s.

For site owners

Plumb visits homepages to fill in each site's title and to find new sites through its links. Its crawler:

Every copy of Plumb does its own crawling, so visits can come from many addresses, all following the same rules. To keep Plumb out, add this to your robots.txt:

User-agent: PlumbSearch
Disallow: /

Questions or problems? Open an issue on GitHub.

Where it's going

Today Plumb is a working prototype: each copy builds and searches its own index. Next, copies will share their index with each other, take turns checking sites in the background, and agree on what's popular without revealing who searched for what. No accounts and no ads.

  1. One machine. Build an index from public data and put the official site first.
  2. Shared index. Copies stay in sync with each other, with no central server needed.
  3. Community crawling. Copies take turns checking sites, so the index stays fresh on its own.
  4. Private popularity. Count what people pick without tracking anyone, and keep bots from gaming it.