
Поисковая система и стек краулеров на базе Django, которые индексируют скрытые сервисы .onion в сети Tor, предоставляя метаданные с возможностью поиска для обнаружения контента даркнета.

Ahmia — это поисковая система для доменов .onion в анонимной сети Tor.
Её возглавляет Juha Nurmi, и базируется она
в Финляндии. Этот репозиторий содержит краулеры, используемые поисковой системой Ahmia.
Новейшая версия Ahmia построена на Python 3, Django 5 и Elasticsearch 8. Вам потребуется знание этих технологий, чтобы создать рабочую установку Ahmia. Ahmia выполняет обход с помощью ahmia-crawler.
Ahmia-index должен быть установлен и запущен
pip install -r requirements.txt
Это общий шаг как для локальной (dev), так и для производственной среды.
cp ahmia/example.env ahmia/.env
Пожалуйста, измените значения в .env в соответствии с вашими потребностями. Вам необходимо указать
как минимум учётные данные postgresql, если вы используете производственные настройки.
python manage.py makemigrations ahmia
python manage.py migrate
python manage.py collectstatic
/usr/local/share/ca-certificates/http_ca.crt
В настройках разработки в качестве базы данных используется sqlite. Настройки по умолчанию должны работать из коробки.
python manage.py runserver
ПРИМЕЧАНИЕ: Если ваш каталог развёртывания не /usr/local/lib/ahmia-site, замените его соответствующим образом
# 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
Увеличьте worker_connections в /etc/nginx/nginx.conf:
events {
worker_connections 2048;
}
ЛИБО:
bash ./bin/run-ahmia.sh
bash ./bin/run-ahmia-onion.sh
ИЛИ
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 распространяется под лицензией BSD из 3 пунктов.