The Ultimate Private Search

I started my “degooglification” process some time last year, and while there are still things which I can’t fix yet (such as my dependence on at least one full Google-Android because of my Android Wear watch), I have come a long way since I started.

I’m doing a lot of self-hosting already, and I managed to replace most Google services with Nextcloud apps. The latest service I now completely made private is search. I had already been using as my default search engine, which helps, but I was wondering if it’s possible to take it further. The answer to that is called Searx. It’s a metasearch engine, and even using a public instance is already pretty safe. If you want more privacy, you can host your own, installing it on your existing web server following these instructions. I did that, but I also just took it a step further, just to see if I can 😉

If you either don’t have your own server or want even more privacy, you can run it straight from your own computer, and if you then hide behind a private VPN server, nobody will ever be able to track your searches anymore 😉 . Ok, that last bit might be a little overkill. Let’s just assume you want to know how to do this because you don’t have your own server.

The following process was done on Ubuntu 18.04. It should work on any other Linux distribution, although the process of installing dependencies will differ if you’re not on a Debian based system. Note that only this first step will be done as the root user, everything else happens as your normal user.

  1. Install the dependencies, as per the official instructions:

    sudo apt-get install git build-essential libxslt-dev python-dev python-virtualenv python-babel zlib1g-dev libffi-dev libssl-dev

  2. Decide where you want to put the code. I put it in ~/bin.

    cd ~/bin
    git clone

  3. Create and activate the virtual environment:

    cd searx
    virtualenv searx-ve
    source searx-ve/bin/activate

  4. Install dependencies:

    ./ update_packages

  5. One final configuration step:

    sed -i -e "s/ultrasecretkey/`openssl rand -hex 16`/g" searx/settings.yml

  6. Now you can test it by running

    python searx/

    and calling http://localhost:8888 from a web browser-

  7. Now, if you want to start it from your applications menu on whichever desktop environment you use, first create a shell script with the following content:

    cd /home//bin/searx
    source searx-ve/bin/activate
    python searx/

    I called it start-searx and placed it in my ~/bin folder, which is where I put all my shell scripts.

  8. Now, you could either start this from a terminal or via Alt + F2. You can also use your DE’s menu editor, like Alacarte in GNOME to create an entry you can click on, or add it to your autostart.

Voilà, your perfectly local search engine.

All credit for the installation instructions goes to the developer; I only added the local bits and removed the parts related to a production server accessible from the Internet.

An Overview Of Decentralized Social Networking

(For the impatient, there’s a link list at the bottom 😉 )

I already wrote two blog posts about federated social media after I first got onto diaspora* and then Friendica. Somehow they both got somewhat out of hand and went into way too much detail. You can read them here and here.

Since I know of some people now who really want to get off the closed networks, I figured I’d write a slightly more general overview. Read more…

A Quick Introduction To Federated Social Networking

Update 2018-06-10: Please see also the follow-up article I wrote.

About two years ago, I quit Facebook. I simply got tired of it, and the more time passes, the more I’m glad I did it. Still, I missed parts of the social networking experience, so I kept looking around for alternatives. I never really got very far with Google+, and Reddit was definitely not my thing. I was also more and more trying to get away from Google & Co because of the accumulation of personal data on the internet, and I really wanted more control. (I’m aware that I’ll never be completely Google-free, but I can at least reduce the amount of data I give them.)

Then I discovered the Diaspora* project, which is a federated social network. It’s not a company with central servers that you have to trust with your information and your pictures and everything. Instead, it is an interconnected network of so-called “pods” that all communicate with each other. In order to join Diaspora*, you can either join a public pod that’s open for registration, or, if you have the technical skill and resources, you can even host your own.

Diaspora is Free Software, which means anybody can look at an modify it’s source code, and it is distributed freely.

Those two things, the federated approach and the fact that it’s open source software, totally take big corporations which make gazillions with your data out of the equation. It a brilliant way to take control of our data back but still enjoy the benefits of a social network.

I was totally excited about the idea. Firstly because of the total control over my data, but also because I enjoy the technical challenge. A few weeks ago I finally got around to to get started with my own pod. I bought a Raspberry Pi, model 3 B, put Ubuntu Server (16.04) on there and got started. (Admittedly, I moved to a VPS since then for stability reasons.)

Now that I have everything set up and working, I think it’s time to write a little introduction for my friends in the hopes that I can draw some of them away from Facebook or maybe even get some of those interested, who never had a Facebook account.

Diaspora* is one of several federated networks that can communicate with each other. (Sean Tilley, who worked on the project, is much better at explaining the technical details.)

You don’t need to run your own instance; if you just want to use it, you can join any public pod / node that’s open for registration. There’s a list of open Diaspora* pods here, and here’s one for Friendica servers. I can’t say too much about any of the others, like Mastodon or GNUsocial because I’ve never used any of them, but I’ve been a fairly active Diaspora user for about a month, and there are a few things I would tell new users, especially Read more…