Hey everyone!

I wanted to share a small open source project I’ve been working on: Searloc.

Searloc is an open source lightweight, client-side web tool (pure JavaScript, no server-side code) that helps you search via a random public SearXNG instance, directly from your browser. The goal is to decentralize search and improve privacy without requiring you to host your own instance.

How it works

There are currently around 50 public SearXNG instances in the pool. Each time you search, Searloc randomly chooses one. This means no single instance sees all your queries — just about 1 in 50, statistically. The more public instances there are, the better the decentralization and privacy.

Who is this for?

If you already self-host your own SearXNG instance, you probably don’t need this.
But if you want private, decentralized search without hosting anything yourself, Searloc might be a great fit.

Key Features

  • Automatic quality checks to filter public instances from searx.space
  • Use !! to retry your search on a different random instance
  • Bangs (!!bang syntax) fully handled in-browser
  • Light/Dark mode support
  • English and French localization
  • Autocomplete for bangs on the homepage
  • Automatically forwards your theme and localization preference to the selected SearXNG instance
  • Add your own custom instances via the settings page

This is still an early-stage project, but I use it daily and it’s been ok for regular use.
Feedback, bug reports, and ideas are always welcome! Check out the Projects tab on Codeberg to see the current “roadmap”.

Give it a try, and let me know what you think.

Have a great day!

    • wazaby@piefed.socialOP
      link
      fedilink
      English
      arrow-up
      20
      ·
      edit-2
      2 days ago

      Yes, it’s an alternative, so the end goal is the same. But there are some differences:

      • Settings: In Searloc, you can set the language, theme, etc., and those settings are passed to the SearXNG instance.
      • Bangs: Bangs are handled locally (directly by the Searloc JS in your browser), whereas Neocities forwards your bangs to an instance.
      • Automatic instance updates: It seems that the Neocities instances haven’t changed since 2024. Searloc builds its pool daily from searx.space. From what I can see in the Neocities source, they only use 12 instances in their pool, which isn’t enough in my opinion.
      • Retry: A real pain point for me is that sometimes, even with the quality check I’ve added to select the instance pool, an instance doesn’t return the results I’m expecting. So I implemented a retry feature (it’s opt-in—you need to enable it in the settings). If the results aren’t good enough, just type !! and it will rerun the search on another random instance.