これは、すべての優れた部分を使用して、非常に優れた HIBP pwned パスワード API エンドポイントから pwned パスワード ハッシュ データのローカル コピーを効率的にダウンロードするための CLI ツールです。マルチプロセッシング、非同期プロセス、ローカル キャッシュ、コンテンツ etag、および http2 接続プーリングにより、おそらく Python で可能な限り高速になります。
query
ためのインターフェイス。download
操作を--data-path
へ簡単に再開します。 pipx install hibp-downloader
サンプルのダウンロード アクティビティ ログ。 500Mbit/秒接続で 32 コアのホスト。
...
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
への 1 秒あたり 918 回のリクエストlc
: 13616 from local-cache (lc) - リクエストとレスポンスはネットワークにアクセスせずにローカルで処理されます。et
: 3 etag-matched (et) - ローカル データが最新であり、新たにダウンロードする必要がないことを確認するリクエスト/レスポンス。rc
: 1002958 from remote-cache (rc) - ローカルにダウンロードされましたが、リモート サーバー キャッシュから来た要求と応答。ro
: リモートオリジンからの 25 (ro) - ローカルにダウンロードされたリクエストとレスポンス、およびダウンロードはリモートオリジンソースから取得する必要がありました。xx
: 1 つの失敗した応答 - 失敗した (および正常に再試行された) 要求と応答。無断転載を禁じます。