ProxyPool is a production-grade proxy pool application that automatically collects free HTTP/HTTPS proxies from over a dozen public sources, validates their availability, and stores them in Redis or SSDB. It provides a Flask RESTful API for consuming proxies (get, pop, all, count, delete) and uses APScheduler for periodic fetching and validation. The architecture is a monolith with two main processes: a scheduler that runs fetch/check cycles and an API server (Flask with Gunicorn on Linux). The codebase demonstrates strong software engineering practices: a plugin-based fetcher system with dynamic module loading and caching, a clean Proxy data model with JSON serialization, a decorator-based validator registration pattern, and a layered test suite (unit, API, integration) with fakeredis mocking. External dependencies include Redis/SSDB, APScheduler, Flask, requests, and lxml. The project is actively maintained with recent commits and a comprehensive test suite.
SLRP is a rotating open proxy multiplexer that automatically discovers, validates, and rotates proxies from dozens of online sources. It runs as a single Go binary with an embedded Web UI and provides both a REST API and an MITM HTTP/HTTPS proxy endpoint. Internally, it uses a modular architecture with components for source scraping, proxy checking, pool management, request history recording, and IP geolocation. It features a custom query language for filtering proxy pool, history, and blacklist data, and includes a code generator to create type-safe dataset accessors from Go struct definitions. The system persists state to disk and can be configured via YAML or environment variables.