Skip to main content

Yacy – P2P decentralized and open source search engine

I’ve recently introduced Searx, a meta search engine to install on your own server and respecting your privacy.

Although Searx is a great service to protect your privacy, the main issue with meta search engines is that they are based on the index of big search engines like Google, Yahoo, Bing, etc….They actually don’t build their own database of websites. It means they heavily rely on uncontrollable source of information and if Google or any others decide to remove 1 website from their index…., well, the website disappear for you too…

And this is where Yacy step in.

Yacy is an opensource search engine, fully decentralized and using Peer to Peer.

yacy decentralized peer to peer search engineEvery node can crawl the web to index billions of web pages and share their index through P2P to others nodes.

The network does not store user search requests and it is impossible for anyone to censor the content of shared index.

You can have a try on their official demo page.

It’s seems they have indexed around 1.4billion documents (And growing) and more than 600 peer operators are contributing every month. About 130,000 search queries are performed with this network each day.

This is obviously very far from what Google, Bing and others have.

So let’s see how to install Yacy on your own server to help indexing the world wide web!

Yacy is very simple to install, but it requires Java.

Also, the more memory, bandwidth, space you allocate to Yacy, the better. (But you can set what you want tho)



Lucky you if you have Ubuntu/Debian type of system. They are maintaining a repository for you.

1) Add their repository to your source.list

In root (or with sudo in front), run:

then add the repository key:

2) Update your source and install OpenJDK (Java) and Yacy

Still in root

You will need to set the name of your node, with an admin password and a network type (freeworld for a public network).

yacy installation

Then you will be able to set the initial java memory (default 180mb, you can add more or less depending of your configuration). For my case, since I got quite a lot of memory, I’ve set as 512mb and 1500mb as maximum Java memory. But you can modify back these values later on the web interface.

When done, Yacy would have started already.

Simply go to http://YourIP:8090 to access to your own search engine!

You can click on the administrator buttom and log in with “admin” as username and your previously created password.


Yacy admin interface

You will be able to change the language of the interface, set a name, etc…

Then simply go to Load Web Pages, Crawler to launch your first website crawl


yacy crawling

If you want to improve Yacy performance, they have a dedicated page to explain all the possible setting that can be tweaked.

One possible next step for you could be to set up a subdomain like search.domain.tld to access to your Yacy instance. You can easily do it with a virtualhost.


Virtualhost configuration

What you will need:

1) Create a A redirection in your DNS server/registrar with something like search.domain.tld to your IP

2) Have SSL certificate ready. If not you can read this tutorial. (Optional)

3) Install Mod Proxy HTML and activate proxy HTTP

In root, run:

4) Create your virtualhost as following:

In /etc/apache2/sites-enabled/, create a file called yacy (In root):

and paste the following content:

Adapt the content (Servername, webmaster email, SSL certificate, directory,…).

When done, save the file (CTRL+X then Yes) and reload apache: (In root)

From now one, all the connections to search.domain.tld will be redirected first to https://search.domain.tld, which will be redirected to localhost:8090, your Yacy instance.

And voila! Ready to freely crawl the web!


OpenSource RSS Reader – Sismics Reader

Siscmics Reader LogoSismics Reader is a simple and effective open source RSS Reader to centralized all your RSS feed in a single Web based interface.
Multi users, easy to install (deb available), intuitive, mobile friendly and with its own search engine, Sismics Reader sounds to be a good alternatives to Google Reader. It also has OPML import / export, is skinnable, with a RESTful Web API and keyboard shortcuts.
Search Engine

However you will need to install Java (I’m usually not a big fan of Java, but since I’m running Subsonic as my audio streaming that require also Java….won’t change much then…)

Here is how to install it:


1) Install Java 7:

2) Download the latest .deb and install it. (V1.3 at this date)

It will create automatically the init script in /etc/init.d/reader and the logs will be saved under /var/reader/reader_startup.log
You should now have access to your Sismics RSS Reader instance at http://YourIP:4001
At first login (admin/admin, you will need to change the password to secure the admin panel), enable UPnP if needed, create your first user and add your first feed (This blog obviously!! ==>
If you want to access to your Siscmics Reader without having to enter the port number, please read the next part.

Virtualhost configuration

To avoid typing the port or to pass thru some firewall that accept connections only on the port 80 (HTTP) or 443 (HTTPS), you can create a virtualhost to access to your service with rss.mydomain.tld and here is how to do so.

You will need to create the similar Virtualhost in /etc/apache2/site-enabled:

and add

(You need to keep the exact syntax. If for example you forget the / after http://localhost:4001, you will come up with a blank page when you will try to access to the subdomain)

Make sure you have mod-proxy-http installed and activated:

And finally, restart Apache

You should now be able to access to your RSS Reader at rss.domain.tld directly. Obviously you can decide to add SSL encryption too. In that case, you will need to adjust your Virtualhost to redirect all the 80 incoming connections to port 443.