Ahmia is the search engine for .onion
domains on the Tor anonymity
network. It is led by Juha Nurmi and is based
in Finland. This repository contains ahmia.fi source code.
The newest version of Ahmia is built with Python 2.7, Django and Elasticsearch. You will need to know these technologies to create a working Ahmia installation. Ahmia crawls using OnionBot.
Ahmia-index should be installed and running
# apt-get install build-essential python-pip python-virtualenv
# apt-get install libxml2-dev libxslt1-dev python-dev libpq-dev libffi-dev libssl-dev
# dnf install @development-tools redhat-rpm-config python-pip python-virtualenv
# dnf install libxml-devel libxslt-devel python-devel postgresql-devel libffi-devel openssl-devel
$ virtualenv /path/to/venv
$ source /path/to/venv/bin/activate
(venv)$ pip install -r requirements/dev.txt
$ python ahmia/manage.py makemigrations ahmia
$ python ahmia/manage.py makemigrations search
$ python ahmia/manage.py migrate
$ python ahmia/manage.py runserver
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
0 22 * * * cd ahmia/ && ./manage.py shell < remove_onionsadded.py
You should use OnionElasticBot to populate your index.
The django settings.py is configured in a way that it only serve statics if DEBUG is True. Please verify here if it's the case. You can change this behaviour here.
Config samples are in config/. We suggest Apache2 or Nginx with Uwsgi
cp conf/uwsgi/vassals/*.ini /etc/uwsgi/vassals/
cp conf/nginx/django-ahmia /etc/nginx/sites-enabled/django-ahmia
uwsgi --emperor /etc/uwsgi/vassals --uid www-data --gid www-data --daemonize /var/log/uwsgi-emperor.log
service nginx start
No support is currently provided. It is up to you for now. This will change as Ahmia stabilizes.
Ahmia is licensed under the 3-clause BSD license.