
Stack di motore di ricerca e crawler basato su Django che indicizza i servizi nascosti .onion sulla rete Tor, fornendo metadati ricercabili per la scoperta di contenuti del dark web.

Ahmia è il motore di ricerca per i domini .onion sulla rete di anonimato Tor. È guidato da Juha Nurmi e ha sede in Finlandia. Questo repository contiene i crawler utilizzati dal motore di ricerca Ahmia.
La versione più recente di Ahmia è realizzata con Python 3, Django 5 ed Elasticsearch 8. Per creare un'installazione funzionante di Ahmia è necessario conoscere queste tecnologie. Ahmia esegue la scansione tramite ahmia-crawler.
Ahmia-index deve essere installato e in esecuzione
pip install -r requirements.txt
Questo è un passaggio comune, sia per l'ambiente locale (dev) che per quello di produzione.
cp ahmia/example.env ahmia/.env
Si prega di modificare i valori in .env, per adattarli alle proprie esigenze. È necessario specificare
almeno le credenziali di postgresql, se si utilizzano le impostazioni di produzione.
python manage.py makemigrations ahmia
python manage.py migrate
python manage.py collectstatic
/usr/local/share/ca-certificates/http_ca.crt
Le impostazioni di sviluppo utilizzano sqlite come database. Le impostazioni predefinite dovrebbero funzionare senza ulteriori configurazioni.
python manage.py runserver
NOTA: Se la directory di deployment non è /usr/local/lib/ahmia-site, sostituirla di conseguenza
# Check the confs and *.map filtering files you plan to utilise
cp *.map /etc/nginx/
cp conf/nginx/nginx.conf /etc/nginx/nginx.conf
cp conf/nginx/django-ahmia /etc/nginx/sites-enabled/django-ahmia
service nginx start
Aumentare worker_connections in /etc/nginx/nginx.conf:
events {
worker_connections 2048;
}
OPPURE:
bash ./bin/run-ahmia.sh
bash ./bin/run-ahmia-onion.sh
OPPURE
cp conf/gunicorn/*.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable ahmia.service
systemctl status ahmia.service
systemctl enable ahmia-onion.service
systemctl status ahmia-onion.service
systemctl restart gunicorn
systemctl edit nginx
[Unit]
After=network-online.target remote-fs.target nss-lookup.target ahmia.service ahmia-onion.service
Requires=ahmia.service ahmia-onion.service
systemctl daemon-reload
systemctl cat nginx
# Every three days
40 5 */3 * * cd /usr/local/lib/ahmia-site && venv/bin/python manage.py deleteonions >> weeklydelete.log 2>&1
Ahmia è distribuito con la licenza BSD a 3 clausole.