

Ahmiaは、Tor匿名ネットワーク上の.onionドメイン向けの検索エンジンです。Juha Nurmiによって主導され、フィンランドに拠点を置いています。このリポジトリには、Ahmia検索エンジンが使用するクローラーが含まれています。
Ahmiaの最新バージョンは、Python 3、Django 5、Elasticsearch 8で構築されています。動作するAhmiaのインストール環境を作成するには、これらの技術に関する知識が必要です。Ahmiaはahmia-crawlerを使用してクロールを行います。
Ahmia-indexがインストールされ、実行されている必要があります
pip install -r requirements.txt
これはローカル(開発)環境と本番環境の両方で共通の手順です。
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でない場合は、適宜読み替えてください
# 使用予定の設定ファイルと*.mapフィルタリングファイルを確認する
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
/etc/nginx/nginx.conf内のworker_connectionsを増やします:
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
# 3日ごと
40 5 */3 * * cd /usr/local/lib/ahmia-site && venv/bin/python manage.py deleteonions >> weeklydelete.log 2>&1
Ahmiaは3条項BSDライセンスの下でライセンスされています。