Aus jeder Quelle beschaffen, sicher.
Demnächst
Reichen Sie einen Link ein oder rufen Sie die API auf. Corvidint löst die Quelle auf, kartiert jede Datei und beschafft, was Ihre Richtlinie auswählt, verifiziert und protokolliert.
Quellen
- Direkte Linkshttps://archive.example.org/…
- Web-ListingsIndex of /pub/2026/
- Onion-Dienste….onion
- Peer-to-Peer-Schwärmemagnet:?xt=urn:btih:…
Veröffentlicht, neueste zuerst
- attachments/samples.zip1,4 GiBPrüfsumme der Quelle verifiziert
- attachments/bulletins/bulletin-2026-07.pdf16,9 MiBPrüfsumme bei Ankunft berechnet
- captures/listing-0001.html428 KiBPrüfsumme bei Ankunft berechnet
- attachments/indicators-0417.json2,3 MiBVom Transferprotokoll verifiziert
- screens/page-0001.png717 KiBPrüfsumme bei Ankunft berechnet
- attachments/bulletins/bulletin-2026-06.pdf14,2 MiBPrüfsumme der Quelle verifiziert
- shared/case-0417/notes.txt6,2 KiBPrüfsumme der Quelle verifiziert
Alles, wohin ein Link führen kann.
Eine generische Pipeline löst jede Quelle auf, bekannt oder nicht. Standards, geprüfte Rezepte und versionierte Konnektoren erweitern sie, ohne neuen Code im Kern.
Nur Quellen, aus denen Sie sammeln dürfen. Fehlender Zugang wird zur Handlungsaufforderung, nie zur Umgehung.
Direkte Links
Erreicht überVPN-TunnelTor-Pool
Direkte, geteilte und temporäre Links, Weiterleitungen und die Zwischenseiten dazwischen.
- https://
- http://
- 302 Found
- ?expires=…
Web-Listings
Erreicht überVPN-TunnelTor-Pool
Server-Indizes, Kataloge, Tabellen, Detailseiten, Galerien, Feeds und paginierte JSON-Listen.
- Index of /
- ?page=2
- <enclosure>
- next_cursor
Dateiserver
Erreicht überVPN-Tunnel
FTP und FTPS, SFTP mit fixierten Host-Schlüsseln und WebDAV-Sammlungen, Ordner für Ordner.
- ftp://
- ftps://
- sftp://
- PROPFIND
Cloud-Speicher
Erreicht überVPN-Tunnel
Konfigurierte Speicher-Remotes und geteilte Ordner, aufgelistet über ihre eigenen Schnittstellen.
- remote:bucket/
- /shared/
- next_page_token
Filehoster
Erreicht überVPN-Tunnel
Hosting-Dienste mit eigenen Linkformaten, aufgelöst durch dedizierte Adapter und isolierte Engines.
- /file/…
- /folder/…
- #key
Dynamische Seiten
Erreicht überVPN-TunnelTor-Pool
Links, die nur ein Skript erzeugt, findet ein Browser in der Sandbox, innerhalb strikter Budgets.
- <script>
- fetch()
- subresources
Onion-Dienste
Erreicht überTor-Pool
Onion-Adressen gehen nur in den isolierten Tor-Pool und berühren nie das gewöhnliche DNS.
- .onion
- client auth
Peer-to-Peer-Schwärme
Erreicht überPeer-Sitzungen
Magnet-Links und Torrent-Dateien laufen in eigenen getunnelten Sitzungen, nie über Tor, ohne anschließendes Seeding.
- magnet:?xt=
- .torrent
- info-hash
Archive und Sets
Erreicht überBeliebiges Netz
Archive werden Mitglied für Mitglied aufgelistet, und die Teile eines mehrteiligen Sets werden als eines gewählt.
- .zip
- .tar.gz
- .7z
- .rar
- .iso
- .part1
Autorisierter Zugang
Erreicht überVPN-TunnelTor-Pool
Passwörter, Tokens, Schlüssel und Onion-Client-Schlüssel werden einmal gesendet, als Referenzen gehalten und nie wieder angezeigt.
- username_password
- token
- ssh_key
- onion_client_auth
Aus einem Link wird ein vollständiges Inventar.
Die Auflösung sammelt Belege, bevor sie etwas glaubt. Eine Größe bleibt unbekannt, bis sie bewiesen ist, und eine Liste ist erst vollständig, wenn jeder Zweig geschlossen ist.
- archive.example.org/
collections/ Sammlung0417/ - attachments/
83 Dateien1,9 GiB - bulletins/
79 Dateien282 MiB - indicators-0417.jsonDaten2,3 MiB
- samples-part2.7zArchivGröße unbekannt286 MiB
- samples.zipArchiv1,4 GiB
- readme.txtArchivmitglied
- docs/
overview.pdf Archivmitglied - 10 weitere Mitglieder
- unknown-0042.binunbekannter Typ3,1 MiB
- captures/
148 Dateien46,1 MiB - index.htmlZwischenseite48,0 KiB
- README.txtText2,1 KiB
- screens/
64 Dateien41,1 MiB - video/
2 Dateien1,5 GiB - recording-02.mp4Video1,1 GiB
- walkthrough.mp4Video412 MiB
- ValidierenSchema, Port und Host-Klasse werden geprüft, ohne die Quelle zu kontaktieren.
- Netz wählenEin Onion-Name wählt den Tor-Pool, jeder andere Name einen VPN-Tunnel.
- Belege sammelnHeader, Signaturen, Listen und Range-Reads, das Günstigste zuerst.
- KlassifizierenDatei, Ordner, Sammlung oder Zwischenseite, jeweils mit ihren Belegen.
- AufzählenOrdner Seite für Seite, Archive Mitglied für Mitglied, Zyklen gekappt.
- Liste schließenVollständig im Umfang, erst wenn kein Zweig offen bleibt.
{"location_id": "loc_01JAH8K2","name": "samples.zip","depth": 1,"has_children": false,"listing_complete": true,"resource": {"resource_id": "res_01JAH8K2","kind": "file","kind_status": "confirmed","discovery_state": "resolved","size": {"bytes": "1481763717","status": "validated","basis": "representation"},"media": {"category": "archive","identification_status": "confirmed","detected_media_type": "application/zip"}}}Neue Sites, ohne neuen Code
Standardprotokolle brauchen nur Konfiguration. Bekannte Seitenlayouts bekommen deklarative Rezepte. Neue Protokolle bekommen einen versionierten Konnektor, nie eine Änderung am Kern.
- StandardsWeb-Listings, FTP, SFTP, WebDAV und Speicher-Remotes, ab Werk verstanden.
- RezepteAbrufen, auswählen, extrahieren, ausgeben. Keine Skripte, kein Code, nur Operationen, die die Plattform erlaubt.
- KonnektorenVersionierte Pakete, die außerhalb des Prozesses laufen und zuerst ein Konformitätsprüfpaket bestehen.
Wie ein Rezept sich seinen Platz verdient
- Vorgeschlagen
- An Fixtures getestet
- Canary auf einem Teil der Arbeit
- Per Beleg befördert
- Bei Drift zurückgezogen
Ein Modell darf die Schritte eines Rezepts vorschlagen. Menschen prüfen es, und nur Belege befördern es.
{"recipe_key": "archive-listing.paged","version": 3,"language_version": "1.0","scope": {"hosts": ["archive.example.org"],"path_patterns": ["/collections/*"]},"steps": [{"op": "fetch","target": "input_url","accept": "html"},{"op": "select","language": "css","expression": "table.listing a.file","as": "links"},{"op": "extract","from": "links","attribute": "href","as": "hrefs"},{"op": "emit","kind": "unknown","native_id_from": "hrefs","relation": "contains"}],"expected_evidence": {"exhaustiveness": "provider_declared"}}Fiktive Werte, Feldnamen genau wie von der API definiert
Nichts wird geladen, bevor die Reihenfolge belegt ist.
Regeln entscheiden, was erlaubt, ausgeschlossen oder in Quarantäne gestellt wird. Die strikte Auswahl wartet auf eine geschlossene Liste und bekannte Größen und ordnet dann jede Datei nach Größe.
Richtlinienregeln, höchste Priorität zuerst
- 1exclude-videoAbspielbare Videos werden ausgelassen.
- 2inspect-unknownUnbekannte Typen werden untersucht; unklar heißt Quarantäne.
- 3opaque_
encrypted_ Verschlüsselte Archive bleiben undurchsichtig, bis jemand das Passwort liefert.when_ acquired - 4default_
action Alles andere ist erlaubt.
Mit der Auswahl festgehalten
strict_order_closed_inventory
Jede Datei des vollständigen Inventars wurde vor dem Download nach Größe geordnet.
Auswahlmodi
- 1Jede Datei, größte zuerst
- 2Die größte Datei
- 3Die größte Datei jedes Ordners
- 4Dateien innerhalb eines Größenbereichs
Der strikte Modus wartet auf eine geschlossene Liste und bekannte Größen. Der progressive Modus startet früh und sagt das auch.
{"candidate_id": "rep_0008D","display_name": "walkthrough.mp4","candidate_kind": "representation","selection_revision": 2,"action": "exclude","rule_id": "exclude-video","reason_codes": ["video_excluded"],"evidence": [{"mechanism": "format_header","attribute": "kind","status": "confirmed","summary": "video/mp4"}]}Jede Anfrage verlässt das Netz durch einen Tunnel.
Probes, Listings und Transfers nutzen gleichermaßen autorisierten Egress. Fällt ein Tunnel aus, stoppen die Anfragen: Es gibt keine direkte Route als Rückfall.
Jede Anfrage passiert das Policy-Gate und verlässt das Netz dann über die Spur, die ihre Quelle verlangt.
Onion-Verkehr nimmt mehrschichtige Tor-Circuits, in einem eigenen isolierten Pool.
Schwärmen wird aus eigenen Peer-Sitzungen beigetreten. Teile treffen ein, und anschließend wird nichts geseedet.
Tunnel ausgefallen. Neue Anfragen stoppen, Transfers setzen Checkpoints, und nichts verlässt das Netz direkt.
Tunnel wieder da. Transfers setzen an ihren Checkpoints fort.
- Private, Loopback- und Metadaten-Adressen werden beim Verbindungsaufbau abgelehnt.
- Onion-Namen berühren nie das gewöhnliche DNS.
- Peer-Sitzungen hören auf zu teilen, sobald die angeforderten Dateien vollständig sind.
- Eine widerrufene Bindung schließt laufende Verbindungen, und das Gateway bestätigt es.
- Lässt sich ein Stopp nicht bestätigen, bleibt seine Kapazität reserviert, bis er bestätigt ist.
- Teildateien liegen im Objektspeicher, sodass eine andere Einheit sie fortsetzen kann.
Verifiziert, protokolliert, nie ausgeführt.
Ein unabhängiger Verifizierer hasht jede bereitgestellte Datei. Bytes werden inhaltsadressiert gespeichert, einmal veröffentlicht und nur als Anhänge ausgeliefert.
Eine Abweichung kommt in Quarantäne und wird erneut beschafft, nie veröffentlicht.
Zwei Orte, ein Blob
Identische Bytes werden einmal nach ihrem SHA-256 gespeichert. Jeder Ort, der auf sie verwies, bleibt erhalten.
Als Nachweis aufbewahrt, nie ausgeführt
- Nichts Beschafftes wird geöffnet, ausgeführt, installiert oder eingehängt.
- Analyzer laufen ohne Netzwerk, als eigener Benutzer, mit Zeit- und Speicherlimits.
- Archivpfade werden geprüft, bevor ein einziges Mitglied entpackt wird.
- Dateien verlassen das System nur als Anhänge, über kurzlebige Links auf einer separaten Origin.
{"file_id": "file_0008","logical_path": "attachments/samples.zip","stored_name": "21d80013bfc9266b","size_bytes": "1481763717","sha256": "21d80013bfc9266bc453a3db98d1f3d14a2be4483d5020d74ec194a763336753","integrity_level": "origin_checksum_verified","origin_checksum": {"algorithm": "sha256","value": "21d80013bfc9266bc453a3db98d1f3d14a2be4483d5020d74ec194a763336753"},"source_resource_id": "res_01JAH8K2","published_at": "2026-10-05T08:31:00Z"}Fiktive Werte, Feldnamen genau wie von der API definiert
Zum Aufrufen gebaut, bereit für den Parser.
Jedes Projekt reicht Aufträge über die API ein und verfolgt sie per Events. Der Parser übernimmt jede veröffentlichte Datei mit ihrer Prüfsumme und Herkunft.
- Ihr Projekt
- Downloader
- Parser
- Ihr ProjektDownloaderReicht einen Auftrag einEin Auftrag mit Idempotenzschlüssel: Ein Retry erzeugt nie einen zweiten Auftrag.
Der Auftrag, den Ihr Projekt sendet {"sources": [{"url": "https://archive.example.org/collections/0417/"},{"url": "https://share.example.net/s/K7q2xWm9"}],"policy_profile": "evidence-default","destination_id": "evidence-store","client_reference": "Archive capture, case 0417"} - DownloaderIhr ProjektNimmt ihn an, sobald gespeichertAntwort erst, wenn Auftrag und Richtlinie gespeichert sind.
Was zurückkommt {"job_id": "job_01JAH7Q2M4K8V3","policy_revision": "prv_4","accepted_at": "2026-10-05T08:12:04Z","idempotent_replay": false} - DownloaderParserMeldet eine veröffentlichte DateiSignierte Webhooks oder Events, die Sie per Polling oder als Stream ab einem Cursor beziehen.
Das Event, das der Parser erhält {"event_id": "0f6e2a90-41d7-4c0b-9e5a-000000000010","event_type": "file.published","schema_version": "1.0","occurred_at": "2026-10-05T08:31:12Z","job_id": "job_01JAH7Q2M4K8V3","aggregate_type": "file","aggregate_id": "file_0008","aggregate_version": 3,"stream_seq": "10","data": {"file_id": "file_0008","logical_path": "attachments/samples.zip","size_bytes": "1481763717","verification_level": "origin_checksum_verified","selection_revision": 2}} - ParserDownloaderLiest den DateidatensatzDer Parser prüft, ob die Datei festgeschrieben ist, und liest ihren SHA-256.
Der Dateidatensatz, den der Parser prüft {"file_id": "file_0008","job_id": "job_01JAH7Q2M4K8V3","logical_path": "attachments/samples.zip","original_name": "samples.zip","size_bytes": "1481763717","sha256": "21d80013bfc9266bc453a3db98d1f3d14a2be4483d5020d74ec194a763336753","integrity_level": "origin_checksum_verified","state": "committed","detected_media_type": "application/zip"} - ParserDownloaderRuft sie über einen kurzlebigen Link abEin kurzlebiger Link; der Parser hasht die Bytes vor dem Parsen erneut.
Inventar, Manifest und Beschlüsse lassen sich auch als NDJSON exportieren.
Fiktive Werte, Feldnamen genau wie von der API definiert
Sehen Sie es an Ihren Quellen.
Sagen Sie uns, was Sie brauchen. Wir führen Sie durch eine Live-Erfassung, vom Beitrag bis zum versiegelten Datensatz.
Lieber per E-Mail? Schreiben Sie an [email protected].