mdhash / ahmia-site

Ahmia.fi - Hidden service search engine

Home Page:https://ahmia.fi

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status Code Health Requirements Status

https://ahmia.fi/

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.

Compatibility

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.

Prerequisites

Ahmia-index should be installed and running

Installation guide

Install dependencies:

Ubuntu 16.04

# apt-get install build-essential python-pip python-virtualenv
# apt-get install libxml2-dev libxslt1-dev python-dev libpq-dev libffi-dev libssl-dev

Fedora 23

# 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

Install requirements in a virtual environment

$ virtualenv /path/to/venv
$ source /path/to/venv/bin/activate
(venv)$ pip install -r requirements/dev.txt

Run site in dev mode

Migrate db

$ python ahmia/manage.py makemigrations ahmia
$ python ahmia/manage.py makemigrations search
$ python ahmia/manage.py migrate

Start development server

$ python ahmia/manage.py runserver
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

Crontab to remove '/onionsadded' weekly

0 22 * * * cd ahmia/ && ./manage.py shell < remove_onionsadded.py

FAQ

How can populate my index to do searches ?

You should use OnionElasticBot to populate your index.

Why can't my browser load django statics ?

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.

What should I use to host ahmia in a production environment ?

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

Support

No support is currently provided. It is up to you for now. This will change as Ahmia stabilizes.

License

Ahmia is licensed under the 3-clause BSD license.

About

Ahmia.fi - Hidden service search engine

https://ahmia.fi

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Python 37.3%Language:TeX 35.5%Language:CSS 18.8%Language:Shell 4.7%Language:XSLT 2.7%Language:Perl 1.0%