Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
darc — Darkweb-Crawler, der Requests- und Selenium-Worker nutzt, um Seiten abzurufen, Header und Cookies zu erfassen, Links zu extrahieren und gerenderte Screenshots für die OSINT-Sammlung zu speichern. | Kitploit
Tools/GitHubGitHub/jarryshaw/darc
OSINT (Open-Source-Intelligence)AufklärungScripting & AutomatisierungInformationsbeschaffungWebsicherheitPrivatsphäreCrawler
GitHubjarryshaw/darc

darc

Darkweb-Crawler, der Requests- und Selenium-Worker nutzt, um Seiten abzurufen, Header und Cookies zu erfassen, Links zu extrahieren und gerenderte Screenshots für die OSINT-Sammlung zu speichern.

Repository anzeigen
2393929vor 18 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

darc - Darkweb-Crawler-Projekt

Für technische und/oder Wartungsinformationen beachten Sie bitte die |docs|_.

.. |docs| replace:: Offizielle Dokumentation .. _docs: https://darc.jarryshaw.me

Hinweis: Ab Version 1.0.0 werden neue Funktionen des Projekts nicht mehr in diesem öffentlichen Repository entwickelt. Auf Updates und neue Releases werden nur Fehlerbehebungen und Sicherheitspatches angewendet.

darc ist als Schweizer Taschenmesser für das Darkweb-Crawling konzipiert. Es integriert requests, um HTTP-Anfrage- und -Antwortinformationen wie Cookies, Header-Felder usw. zu sammeln. Außerdem bündelt es selenium, um eine vollständig gerenderte Webseite und einen Screenshot dieser Ansicht bereitzustellen.

.. image:: https://darc.jarryshaw.me/en/latest/_images/darc.jpeg

Der allgemeine Ablauf von darc lässt sich wie folgt beschreiben:

Es gibt zwei Arten von Workern:

  • crawler -- führt den darc.crawl.crawler aus, um eine frische Ansicht eines Links bereitzustellen und seine Verbindungsfähigkeit zu testen

  • loader -- führt den darc.crawl.loader aus, um eine eingehende Ansicht eines Links bereitzustellen und mehr visuelle Informationen zu liefern

Der allgemeine Ablauf lässt sich für Worker vom Typ crawler wie folgt beschreiben:

  1. darc.process.process_crawler: ruft URLs aus der requests- Link-Datenbank ab (vgl. darc.db.load_requests) und speist solche URLs in darc.crawl.crawler ein.

    HINWEIS:

    Wenn darc.const.FLAG_MP True ist, wird die Funktion mit Multiprocessing-Unterstützung aufgerufen; wenn darc.const.FLAG_TH True ist, wird die Funktion mit Multithreading- Unterstützung aufgerufen; wenn keines von beiden zutrifft, wird die Funktion im Single-Threading aufgerufen.

  2. darc.crawl.crawler: parst die URL mit darc.link.parse_link und prüft, ob die URL gecrawlt werden muss (vgl. darc.const.PROXY_WHITE_LIST, darc.const.PROXY_BLACK_LIST, darc.const.LINK_WHITE_LIST und darc.const.LINK_BLACK_LIST); wenn ja, wird die URL mit requests gecrawlt.

    Wenn die URL von einem brandneuen Host stammt, versucht darc zunächst, robots.txt und Sitemaps des Hosts abzurufen und zu speichern (vgl. darc.proxy.null.save_robots und darc.proxy.null.save_sitemap), und extrahiert dann die Links aus den Sitemaps und speichert sie (vgl. darc.proxy.null.read_sitemap) in der Link-Datenbank für zukünftiges Crawling (vgl. darc.db.save_requests). Außerdem wird, wenn die Submission-API bereitgestellt wird, darc.submit.submit_new_host aufgerufen und die soeben abgerufenen Dokumente übermittelt.

    Wenn robots.txt vorhanden ist und darc.const.FORCE False ist, prüft darc, ob das Crawlen der URL erlaubt ist.

    HINWEIS:

    Der Wurzelpfad (z. B. / in https://www.example.com/) wird immer gecrawlt, wobei robots.txt ignoriert wird.

    An diesem Punkt ruft darc die benutzerdefinierte Hook-Funktion aus darc.sites auf, um zu crawlen und das endgültige Antwortobjekt zu erhalten. darc speichert die Session-Cookies und Header-Informationen mit darc.save.save_headers.

    HINWEIS:

    Wenn requests.exceptions.InvalidSchema ausgelöst wird, wird der Link durch darc.proxy.null.save_invalid gespeichert. Die weitere Verarbeitung wird abgebrochen.

    Wenn der Inhaltstyp des Antwortdokuments nicht ignoriert wird (vgl. darc.const.MIME_WHITE_LIST und darc.const.MIME_BLACK_LIST), wird darc.submit.submit_requests aufgerufen und das soeben abgerufene Dokument übermittelt.

    Wenn das Antwortdokument HTML ist (text/html und application/xhtml+xml), wird anschließend darc.parse.extract_links aufgerufen, um alle möglichen Links aus dem HTML-Dokument zu extrahieren und solche Links in der Datenbank zu speichern (vgl. darc.db.save_requests).

    Und wenn der Antwort-Statuscode zwischen 400 und 600 liegt, wird die URL zurück in die Link-Datenbank gespeichert (vgl. darc.db.save_requests). Wenn NICHT, wird die URL in die selenium-Link-Datenbank gespeichert, um die nächsten Schritte fortzusetzen (vgl. darc.db.save_selenium).

Der allgemeine Ablauf für Worker vom Typ loader lässt sich wie folgt beschreiben:

  1. darc.process.process_loader: in der Zwischenzeit wird darc URLs aus der selenium-Linkdatenbank beziehen (vgl. darc.db.load_selenium) und diese URLs an darc.crawl.loader übergeben.

    HINWEIS:

    Wenn darc.const.FLAG_MP True ist, wird die Funktion mit Multiprocessing-Unterstützung aufgerufen; wenn darc.const.FLAG_TH True ist, wird die Funktion mit Multithreading- Unterstützung aufgerufen; wenn keines von beiden gesetzt ist, wird die Funktion im Single-Threading-Modus aufgerufen.

  2. darc.crawl.loader: parst die URL mit darc.link.parse_link und beginnt mit dem Laden der URL mittels selenium mit Google Chrome.

    An diesem Punkt ruft darc die angepasste Hook-Funktion aus darc.sites auf, um das ursprüngliche selenium.webdriver.chrome.webdriver.WebDriver-Objekt zu laden und zurückzugeben.

    Bei Erfolg wird das gerenderte Quell-HTML-Dokument gespeichert und ein Ganzseiten-Screenshot aufgenommen und gespeichert.

    Wenn die Submission-API bereitgestellt wird, wird darc.submit.submit_selenium aufgerufen und das soeben geladene Dokument übermittelt.

    Anschließend wird darc.parse.extract_links aufgerufen, um alle möglichen Links aus dem HTML-Dokument zu extrahieren und diese Links in der requests-Datenbank zu speichern (vgl. darc.db.save_requests).


Installation

HINWEIS:

darc unterstützt alle Python-Versionen oberhalb von und einschließlich 3.6. Derzeit wird es nur unter Linux (Ubuntu 18.04) und macOS (Catalina) unterstützt und getestet.

Bei der Installation mit Python-Versionen unterhalb von 3.8 verwendet darc |walrus|_, um sich selbst für die Backport-Kompatibilität zu kompilieren.

.. |walrus| replace:: walrus .. _walrus: https://github.com/pybpc/walrus

.. code-block:: shell

pip install python-darc

Bitte stellen Sie sicher, dass Google Chrome und die entsprechende Version des Chrome Drivers auf Ihrem System installiert sind.

Ab Version 0.3.0 haben wir Redis_ als Backend für die Task-Queue-Datenbank eingeführt.

.. _Redis: https://redis.io

Seit Version 0.6.0 haben wir neben der Redis-Datenbank auch relationale Datenbankspeicherung (z. B. MySQL, SQLite, PostgreSQL usw.) als Backend für die Task-Queue-Datenbank eingeführt, da diese zu speicherintensiv sein kann, wenn die Task-Queue sehr groß wird.

.. _MySQL: https://mysql.com/ .. _SQLite: https://www.sqlite.org/ .. _PostgreSQL: https://www.postgresql.org/

Bitte stellen Sie sicher, dass eine der Backend-Datenbanken installiert, konfiguriert und in Betrieb ist, wenn Sie das darc-Projekt verwenden.

Das darc-Projekt wird jedoch mit Docker- und Compose-Unterstützung ausgeliefert. Relevante Dateien und weitere Informationen finden Sie im Projektstammverzeichnis.

Alternativ können Sie auf das Docker Hub_-Repository verweisen und/oder von dort installieren:

.. code-block:: shell

docker pull jsnbzh/darc[:TAGNAME]

.. _Docker Hub: https://hub.docker.com/r/jsnbzh/darc

oder die GitHub Container Registry mit aktuelleren und umfassenderen Images:

.. code-block:: shell

docker pull ghcr.io/jarryshaw/darc[:TAGNAME]

or the debug image

docker pull ghcr.io/jarryshaw/darc-debug[:TAGNAME]


Usage

Das darc-Projekt bietet eine einfache CLI::

usage: darc [-h] [-v] -t {crawler,loader} [-f FILE] ...

Tool herunterladen