https://github.com/jesewe/proxy-checker
This script is designed to check the availability of HTTP, SOCKS4, and SOCKS5 proxies from various online sources.
https://github.com/jesewe/proxy-checker
proxy proxy-checker proxy-list python python3
Last synced: 7 months ago
JSON representation
This script is designed to check the availability of HTTP, SOCKS4, and SOCKS5 proxies from various online sources.
- Host: GitHub
- URL: https://github.com/jesewe/proxy-checker
- Owner: Jesewe
- License: mit
- Created: 2024-03-15T12:47:51.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-18T09:26:01.000Z (about 2 years ago)
- Last Synced: 2024-05-18T10:40:10.285Z (about 2 years ago)
- Topics: proxy, proxy-checker, proxy-list, python, python3
- Language: Python
- Homepage: https://github.com/Jesewe/proxy-checker
- Size: 19.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
ProxyChecker
A concurrent and efficient proxy checker for testing HTTP, SOCKS4, and SOCKS5 proxies with a modern, GUI-based interface.



Features •
Installation •
Usage •
Configuration •
Troubleshooting •
Contributing
---
# Overview
**ProxyChecker** is a Python tool designed to verify the functionality of proxy lists (HTTP, SOCKS4, and SOCKS5) by sending test requests. It supports concurrent testing via multi-threading, provides detailed results including response times, anonymity classification, and geo-location lookup, and saves working proxies in various formats. The application is entirely GUI-based using PyQt6 and now includes several new features to improve usability and control.
# Features
- **Multi-threaded Proxy Checking:**
Uses Python’s `ThreadPoolExecutor` to check multiple proxies concurrently.
- **Configurable Timeout and Retries:**
Customize the timeout, number of retries, and delay between retries.
- **Supports HTTP, SOCKS4, and SOCKS5 Proxies:**
Fetch proxy lists from configurable URLs.
- **Detailed Proxy Analysis:**
When enabled, detailed mode provides:
- **Response Times:** Measures how long each proxy takes to respond.
- **Anonymity Detection:** Determines whether a proxy is transparent or anonymous.
- **Geo-Location Lookup:** Retrieves country, region, and city details for working proxies.
- **Multiple Export Formats:**
Save working proxy results as plain text (TXT), CSV, or JSON.
- **GUI Application:**
An intuitive interface featuring progress bars, log output, and settings dialogs.
- **Automatic Update Checker:**
Checks for the latest release at startup and informs you if an update is available.
- **New Features:**
- **Pause/Resume Functionality:**
Temporarily suspend and resume the proxy-checking process.
- **Custom User-Agent Option:**
Provide a custom User-Agent header for HTTP requests.
- **History Logging:**
Appends summary statistics from each run to a `history.log` file.
- **Filtering Detailed Results:**
When in detailed mode, filter working proxies by maximum response time in the results dialog.
# Installation
### Prerequisites
- Python 3.6 or later
- `requests` package for HTTP requests
- `PyQt6` package for the graphical user interface
### Steps
1. Clone the repository:
```bash
git clone https://github.com/Jesewe/proxy-checker.git
cd proxy-checker
```
2. Install the required packages:
```bash
pip install -r requirements.txt
```
# Usage
### Launching the Application
Simply run the following command to start the GUI:
```bash
python proxy-checker.py
```
Once launched, configure parameters such as timeout, retries, test URL, and more. You can also:
- Enable detailed results (including response times, anonymity, and geo-location).
- Choose your preferred export format (TXT, CSV, or JSON).
- Set a custom User-Agent if desired.
- Use the Pause/Resume button to temporarily suspend or restart the checking process.
# Configuration
Within the GUI, you can set:
- **Timeout:** Maximum time (in seconds) for proxy requests.
- **Max Retries & Retry Delay:** Adjust the number of retry attempts and delay between retries.
- **Max Workers:** Number of concurrent threads.
- **Test URL:** URL used for testing the proxies (default is Google).
- **Custom User-Agent:** Specify a custom User-Agent header for requests.
- **Detailed Results:** Toggle to include extra details such as response time, anonymity, and geo-location.
- **Export Format:** Select from TXT, CSV, or JSON.
- **Proxy Sources:** Enter URLs for the proxy lists.
# Troubleshooting
- **Connection Errors:**
Adjust timeout or reduce the number of workers if many connection errors occur.
- **Empty Output Files:**
Verify that the proxy URLs are valid and accessible.
- **Performance:**
Detailed mode (with extra API calls) might slightly increase processing time.
# Contributing
Contributions are welcome! Fork the repository and submit pull requests with enhancements or bug fixes. Please follow the project's coding standards and include appropriate tests.
# License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.