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 startpage.com 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 https://github.com/asciimoo/searx.git

  3. Create and activate the virtual environment:

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

  4. Install dependencies:

    ./manage.sh 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/webapp.py

    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:

    #!/bin/bash
    cd /home//bin/searx
    source searx-ve/bin/activate
    python searx/webapp.py

    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.

Out of commission

I had such great plans for the time after Christmas when things at work usually calm down a bit and I come home somewhat less stressed. Then this happened. Last time I went for a morning run, which was about two weeks ago, I was distracted and wasn’t paying attention to where I was going and promptly tripped over some minor obstacle. I broke my little finger. Did it pretty well, too – I needed surgery, which I got last week on Wednesday (the 19th, for those of you who start their weeks on Sundays 😉.)

Luckily, it’s my left hand. While any serious computer work (like that tutorial I was planning to write on how to set up your own Friendica instance on a Raspberry Pi) is out of the question at the moment since that would require use of an actual keyboard, I found that I can write from my tablet quite well. I re-installed SwiftKey, which I had dumped a while back due to data concerns, but I’m denying it internet access through the use of NetGuard, which is a no-root Android firewall. (I did use the default ASUS keyboard initially, which does have a fairly decent swiping functionality, but SwiftKey has better configuration options and better multi-language support.)

I can also still draw, which is something I had just started to get back into. Overall, though, I feel pretty impeded, and I’m also starting to develop a serious case of cabin fever.

Not a great way to end the year (and start the new one.)

Adding contacts with their ID on diaspora*, Friendica, and Hubzilla

After I wrote my overview of decentralized social networking yesterday, I realized that there is one vital thing that needs to be added. If one of your friends invited you to try decentralized social networking, and your only experience is with the commercial ones where you can just “search” for the people you know by their names or e-mail addresses, then it may not be quite as obvious to you how to get in touch with your friends on the new service you just signed up for.


Quick jump:


As I stated in my article which I linked in the beginning, my user experience is with diaspora*, Friendica, and Hubzilla, so I’ll show you how to do this on those three. Read more…

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…

On The Book Challenge Currently Making The Rounds

These days, on social media (the federated kind at least, I don’t know about the more mainstream ones), there are two “challenges” making the rounds. Post a still frame from a movie or a single page of a book that had an “impact” on you. Twenty in total.

First came the movie challenge, and I thought, no way I’ll find twenty movies that had an “impact” on me. I thought, well, if they made it about books…

Somebody clearly had the same thought, since it didn’t take very long until the book challenge started.

I kept thinking about which books I would choose, but I finally decided against taking part and instead wrote this post. (I could have written it on my Hubzilla account, but I thought, well, this is a good opportunity to finally get this blog going.)
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…

Hello world!

Welcome to WordPress. This is your first post. Edit or delete it, then start writing!