Go Proxy Manager(GPM) — 軽量プロキシプール管理ツール

Tool

概要

GPM(Go Proxy Manager)は、プロキシの収集、検証、配信を一貫して行う軽量なプロキシプール管理アプリケーションです。複数のテキスト/JSONソースからプロキシを集め、Goの高並列処理を活かしたワーカープールで速やかに接続検証を行います。検証結果は遅延(レイテンシ)やヘルススコアに基づいて自動的にソートされ、シンプルなHTTP APIを通じてクライアントに返却されます。HTTP/HTTPSだけでなくSOCKS4/5にも対応しており、運用で必要な拡張やカスタマイズがしやすい設計です。

GitHub

リポジトリの統計情報

  • スター数: 4
  • フォーク数: 2
  • ウォッチャー数: 4
  • コミット数: 7
  • ファイル数: 15
  • メインの言語: Go

主な特徴

  • 複数ソースからのフェッチ(テキスト/JSON)に対応
  • HTTP/HTTPS と SOCKS4/5 プロトコルをサポート
  • 並列ワーカープールによる高速なプロキシ検証
  • 検証結果を遅延順(レイテンシ)で自動ソートして提供

技術的なポイント

GPMはGo言語の並行処理機能(goroutine と channel)を活かして、高スループットなプロキシ検証を実現しています。設計上の中心は「フェッチ→検証→ソート→配信」のパイプラインで、各ステージが独立したワーカー群で処理されることでスケーラビリティと応答性を確保します。ソースはテキストやJSON形式を想定しており、AGENTS.mdのようなソース管理ドキュメントが用意されていることから、外部ソースの追加やメンテナンスが容易です。

検証ではプロトコル検出と直接接続テストを行い、成功可否に加えて接続遅延(ラウンドトリップ)を計測します。結果は遅延や成功率に基づくスコアでランク付けされ、API呼び出し時には高品質なプロキシが先に返るようになっています。ワーカープールは同時接続数やタイムアウトで制御され、ネットワーク負荷や外部サービスへの過負荷を抑える実装が想定されます。

HTTP APIは軽量でシンプルな設計を採り、クライアントは取得したJSONリストをそのまま利用してプロキシを消費できます。Makefileや.dockerignoreの存在から、ビルド自動化やコンテナ化を想定した運用が行える点も実運用で便利です。セキュリティ面では、公開プロキシを扱うため不正アクセスや個人情報漏洩に注意が必要で、ソースの信頼性チェックや出力プロキシのフィルタリング(国・リージョン・匿名度など)が実運用では求められます。

拡張性としては、プラグイン的にフェッチャーを追加したり、検証ポリシー(タイムアウト、リトライ、スコアリング)を設定ファイルや環境変数で切り替えることが想定されます。Go製であるためバイナリ配布が容易で、軽量なためCI/CDや軽量VM、コンテナ上での運用にも適しています。

プロジェクトの構成

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

  • .dockerignore: file
  • .editorconfig: file
  • .gitignore: file
  • AGENTS.md: file
  • Makefile: file

…他 10 ファイル

まとめ

軽量で並列性に優れたGo製プロキシプール管理ツール。実運用向けの基本機能が揃っている。

リポジトリ情報:

READMEの抜粋:

Go Proxy Manager (GPM)

English | 中文文档

GPM is a lightweight, high-performance proxy pool manager written in Go. It aggregates, validates, and serves proxy lists via a simple HTTP API.

Features

  • Multi-source fetching: Supports text and JSON sources.
  • Protocol support: HTTP, HTTPS, SOCKS4, SOCKS5.
  • Concurrent validation: High-performance worker pool for proxy checking.
  • Automatic sorting: Proxies are returned sorted by latency.
  • **Health mo…