Socks-5 プロキシ スクレイパー・パーサー・チェッカー

Tool

概要

Socks-5-Proxy-Scraper-Parser-And-Checker は、SOCKS5プロキシの収集(スクレイピング)・解析(パース)・検証(チェック)をワンパッケージで行う軽量なPythonツールです。非同期処理により多数のプロキシを短時間で並列チェックでき、端末向けにリッチな進捗表示を行うUIを備えています。IPv4形式の正規表現による入力検証や、外部サービス(httpbin等)を用いた実際のリクエストテストでプロキシの機能性を確認可能。設定ファイルで並列数やタイムアウトを調整でき、検出済みプロキシのフィルタリングやログ出力も想定されたユーティリティです(約300字)。

GitHub

リポジトリの統計情報

  • スター数: 1
  • フォーク数: 0
  • ウォッチャー数: 1
  • コミット数: 8
  • ファイル数: 10
  • メインの言語: Python

主な特徴

  • 非同期(asyncioベース)で高並列なプロキシチェックを実行
  • SOCKS5プロキシのパース(IP:PORT形式)とIPv4正規表現による検証
  • httpbin等を利用した実際のHTTPリクエストで到達性やIP反映をテスト
  • Rich等を用いた端末向けのリッチUIで進捗・統計を見やすく表示

技術的なポイント

本リポジトリは「大量のプロキシを効率よく扱う」ことを目的に設計されています。非同期処理(async/await)を採用することで、I/O待ち(ネットワーク通信)中心の処理を効率化し、同時接続数を大きくしてもCPUを浪費せずに高速に検証できます。典型的な実装ではaiohttpや非同期対応のソックスクライアント、あるいはaiohttp-socksやPySocksのラッパーを組み合わせ、ソケットレベルでSOCKS5経由のHTTPリクエストを流すことで到達性を確認します。

入力パースでは正規表現によるIPv4およびポート番号の検証を行い、不正な行や重複を排除してからチェックキューに投入する仕組みが想定されます。チェック時にはタイムアウトやリトライ、接続エラーのハンドリングが重要で、セマフォ(asyncio.Semaphore)やコネクションプールで並列上限を制御します。httpbin等のエコーサービスを用いるテストは「プロキシを経由した実際の外向き接続が成功しているか」「相手に渡る送信元IPがプロキシのIPに変わるか」などを確認するのに有効です。

また、Richを用いた端末UIは進捗バー、成功/失敗カウント、処理速度(毎秒チェック数)などの可視化を提供し、長時間実行するタスクの状況把握を容易にします。設定ファイル(config.py)は並列数、タイムアウト、テストURL、ログレベルなどを外部化しており、環境や目的に合わせた運用が可能です。ログ出力や結果のエクスポート(テキスト/CSV等)により、後続のワークフローへ組み込みやすい点も利点です。

セキュリティ・倫理面では、公開プロキシの利用は注意が必要です。意図しない通信の中継や個人情報の漏洩、利用規約違反につながる場合があるため、検証は自身が権限を持つ環境で行うか、合法的かつ倫理的な範囲で利用してください。パフォーマンス改善余地としては、プロキシの種類(SOCKS5認証有無、UDPサポート等)やTLS終端の有無をより詳細に判定する追加テスト、結果のスコアリングやヒートマップ可視化の導入などが考えられます。(約700〜1000字)

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitignore: file
  • LICENSE: file
  • README.md: file
  • checker.py: file
  • config.py: file

その他のファイル(例)

  • requirements.txt(依存パッケージ)やutils系モジュールが含まれている想定
  • 実行スクリプトやサンプル入力ファイル等

…他 5 ファイル

まとめ

SOCKS5プロキシの収集→検証を非同期で高速に行える、シンプルで実用的なツール群です。(約50字)

リポジトリ情報:

READMEの抜粋:

Socks-5-Proxy-Wrapper-Parser-And-Checker-…