Elasticsearch Cluster consta de 2 instancia de Elasticsearch para HA y equilibrio de carga. Los datos de la página desechados se almacenan y buscan.
Se ejecuta en el puerto 5601 y se puede usar para verificar los datos en Elasticsearch
La interfaz web para el motor de búsqueda de dominio. Se ejecuta en el puerto 7000
Almacena los dominios, las URL de página, las direcciones de bitcoin, etc.
Se utiliza para acceder a las páginas de cebolla. Hay 10 contenedores proxy implementados y se usa haproxy para distribuir el tráfico.
Obtiene la lista de dominio de MySQL DB, páginas de cosecha y nuevos dominios de los dominios de cebolla a través de los proxies TOR y almacena los dominios y datos de página en Elasticsearch y MySQL. Basado en el marco Python Scrapy.
Clone el proyecto y construya imágenes Docker involucradas en Docker-Compose.
docker-compose build
docker-compose up -d
Construya y ejecuta el raspador.
docker build --tag scraper_crawler ./
Ejecute el raspador.
docker run -d --name darkweb-search-engine-onion-crawler --network=darkweb-search-engine_default scraper_crawler /opt/torscraper/scripts/start_onion_scrapy.sh
Después de la primera implementación, debe inicializar los índices en Elasticsearch.
docker exec darkweb-search-engine-onion-crawler /opt/torscraper/scripts/elasticsearch_migrate.sh
Importar lista de dominio inicial
docker exec darkweb-search-engine-onion-crawler /opt/torscraper/scripts/push_list.sh /opt/torscraper/onions_list/onions.txt &