Search engine on my own

The algorithms where getting too close. It felt like someone constantly was watching me. Looking over my shoulder. Noting down what I was writing. Feeding it back to me in the form of advertisements.

I decided something had to change. I decided that I needed my own search engine.

When conducting searches, you give away a trace of metadata. Since I no longer trust Google, Bing, etc with my data (and neither should you), I’ve long been using the privacy-focused search engine DuckDuckGo.

duckduckgo logo

But why trust anyone if you don’t have to? I therefore started to look for alternatives that would give me even more control over my online data trail.

Enter SearX

This was how I found out about SearX, a free metasearch engine which can be hosted locally and which indexes results from over 70 different search engines.

Using your own search engine may not give you the same “personalized” results. But, on the other hand your searches stays more private and is much less likely to be used to compromise you. For example, SearX does block tracking cookies. Plus, it is open source, making it possible to review, or even contribute to, the code.

There is a list of public instances of SearX here, curated by Adam Tauber himself (the creator of SearX).

However, with the aim here of minimal trust I went for a local instance. This way, the source code, the logging settings, and data privacy, are all in my own hands. The only admin I have to trust is myself.

Install

First I clone the SearX repository:

git clone https://github.com/asciimoo/searx.git

cd searx

For convenience, I’m using Docker for my local instance.

docker build -t searx .

docker run -d --name searx -p 8888:8888 searx

Once Searx is running on Docker, it can be accessed locally by going to http://localhost:8888/.

searx home

It will work similar to any other search engine. Enter a search and you will be given the result as a list of links.

searx result

Since the data is fetched via a multitude of search engines, it limits their possibility to create special user profiles.

Default browser search engine

Of course I want to make this my default search engine in the browser. Thus I fire up Chrome and go to the Preferences menu, then scroll down to Search engine. I click on the Manage Search engines tab and remove the data-sucking search engines and instead add http://localhost:8888/?q=%swhere the %s acts as placeholder for the query.

default search engine