Dies ist ein CLI-Tool zum effizienten Herunterladen einer lokalen Kopie der pwned-Passwort-Hash-Daten vom sehr beeindruckenden HIBP-pwned-Passwort-API-Endpunkt unter Verwendung aller guten Bits; Multiprocessing, asynchrone Prozesse, lokales Caching, Content-Etags und http2-Verbindungspooling, um die Dinge wahrscheinlich so schnell wie möglich zu machen.
query
kompromittierter Passwortwerte aus dem komprimierten Dateidatenspeicher!download
Vorgänge lassen sich problemlos in einem --data-path
fortsetzen, ohne die API-Quelle erneut zu überlasten. pipx install hibp-downloader
Beispiel für ein Download-Aktivitätsprotokoll; Host mit 32 Kernen auf 500Mbit/s-Verbindung.
...
2024-05-16T10:18:01-0400 | INFO | hibp-downloader | prefix=f80c7 source=[lc:13616 et:3 rc:1002358 ro:25 xx:1] processed=[17836.6MB ~414462H/s] api=[918req/s 17597.4MB] runtime=36.4min
2024-05-16T10:18:02-0400 | INFO | hibp-downloader | prefix=f81af source=[lc:13616 et:3 rc:1002558 ro:25 xx:1] processed=[17840.1MB ~414454H/s] api=[918req/s 17600.9MB] runtime=36.4min
2024-05-16T10:18:02-0400 | INFO | hibp-downloader | prefix=f826f source=[lc:13616 et:3 rc:1002758 ro:25 xx:1] processed=[17843.6MB ~414454H/s] api=[918req/s 17604.4MB] runtime=36.4min
2024-05-16T10:18:03-0400 | INFO | hibp-downloader | prefix=f833f source=[lc:13616 et:3 rc:1002958 ro:25 xx:1] processed=[17847.1MB ~414450H/s] api=[918req/s 17607.9MB] runtime=36.4min
api.pwnedpasswords.com
lc
: 13616 vom lokalen Cache (lc) – Anforderungsantworten werden lokal verarbeitet, ohne das Netzwerk zu erreichen.et
: 3 etag-matched (et) – Anfrage-Antworten, die bestätigten, dass unsere lokalen Daten aktuell waren und kein neuer Download erforderlich war.rc
: 1002958 from remote-cache (rc) – Anforderungsantworten, die lokal heruntergeladen wurden, aber aus dem Remote-Server-Cache kamen.ro
: 25 from remote-origin (ro) – Anforderungsantworten, die lokal heruntergeladen wurden und der Download von der Remote-Ursprungsquelle abgerufen werden musste.xx
: 1 fehlgeschlagene Antworten – Anforderungsantworten, die fehlgeschlagen sind (und erfolgreich wiederholt wurden).Alle Rechte vorbehalten.