# Proxidize: Proxy Tester
A professional, multi-threaded proxy testing tool for HTTP and SOCKS5 proxies with built-in speed testing and geo-location lookup.
## Features
- ๐ **Multi-threaded Testing**: Efficient parallel proxy testing with intelligent thread management
- ๐ **HTTP & SOCKS5 Support**: Test both HTTP and SOCKS5 proxies seamlessly
- ๐ **Geo-location Lookup**: Get detailed location information for working proxies
- โก **Speed Testing**: Built-in download speed testing using speedtest-cli
- ๐จ **Beautiful UI**: Rich terminal interface with colored output and formatted tables
- ๐ **Export Results**: Save results to CSV format for analysis
- ๐ก๏ธ **Robust Error Handling**: Graceful handling of failures and interruptions
- ๐ง **Flexible Input**: Support for single proxy, file input, or interactive proxy entry
## Installation
### Recommended Installation (macOS)
```bash
# Install pipx via Homebrew (recommended method for macOS)
brew install pipx
# Install proxidize_pt
pipx install proxidize_pt
```
### Recommended Installation (All Platforms)
```bash
# Install pipx if you don't have it
pip install --user pipx
pipx ensurepath
# Install proxidize_pt
pipx install proxidize_pt
```
### Alternative Installation Methods
#### Using pip with virtual environment:
```bash
# Create a virtual environment
python3 -m venv proxy_tester_env
source proxy_tester_env/bin/activate # On Windows: proxy_tester_env\Scripts\activate
# Install the package
pip install proxidize_pt
```
#### Using pip with user flag:
```bash
pip install --user proxidize_pt
```
#### System-wide installation (not recommended):
```bash
pip install --break-system-packages proxidize_pt
```
### From Source:
```bash
git clone https://github.com/fawaz7/Proxy-tester.git
cd Proxy-tester
pip install -e .
```
## Usage
### Command Line Interface
Once installed, you can use the main command:
```bash
proxidize_pt [options] <proxy_file_or_single_proxy>
```
### Basic Examples
```bash
# Test a single HTTP proxy
proxidize_pt --http pg.proxi.es:20000:username:password
# Test a single SOCKS5 proxy with geo-location
proxidize_pt --socks --geo pg.proxi.es:20002:username:password
# Test proxies from a file with speed test and verbose output
proxidize_pt --http --geo --speed-test -v proxies.txt
# Export results to CSV format
proxidize_pt --http --geo proxies.txt -o results.csv
# Export results to TXT format
proxidize_pt --http --geo proxies.txt -o results.txt
# Without specifying extension (defaults to CSV)
proxidize_pt --http --geo proxies.txt -o results
# Interactive mode (no arguments)
proxidize_pt
```
### Command Line Options
```
positional arguments:
proxy Single proxy or path to proxy list file
options:
-h, --help show this help message and exit
--socks Use SOCKS5 proxy
--http Use HTTP proxy
--geo Enable IP geolocation lookup
--speed-test Include download speed test
-o OUTPUT, --output OUTPUT
Output file path - specify format with extension (.txt default, .csv available)
-v, --verbose Enable verbose debug output
```
### Output Formats
Results can be saved in two formats by specifying the file extension:
- **TXT format**: Use `.txt` extension (e.g., `results.txt`) - Tab-separated values, human-readable plain text format (default)
- **CSV format**: Use `.csv` extension (e.g., `results.csv`) - Comma-separated values, ideal for spreadsheet applications and data analysis
The output format is automatically determined by the file extension you provide. If no extension is specified, TXT format is used by default.
### Proxy Format
Proxies should be in the format: `host:port:username:password`
Examples:
```
proxy.example.com:8080:user123:pass123
192.168.1.100:3128:admin:secret
pg.proxi.es:20000:username:password
pg.proxi.es:20002:username:password
```
### Input Methods
1. **Single Proxy**: Pass a proxy directly as an argument (without quotes)
2. **File Input**: Create a text file with one proxy per line
3. **Interactive Mode**: Run without arguments to enter proxies manually. After testing, you'll be prompted to save results in TXT format by default (or CSV if you specify .csv extension).
### Example File (proxies.txt):
```
proxy1.example.com:8080:user1:pass1
proxy2.example.com:3128:user2:pass2
pg.proxi.es:20000:username:password
pg.proxi.es:20002:username:password
```
## Platform Support
Proxidize works on all major platforms:
- โ
**Windows** (Windows 10, 11)
- โ
**Linux** (Ubuntu, Debian, CentOS, etc.)
- โ
**macOS** (10.14+)
## Requirements
- Python 3.7 or higher
- Internet connection for proxy testing
- All dependencies are automatically installed via pip
## Output
Results are displayed in a beautiful table format and can be exported to CSV:
```
Proxy Test Results
โโโโโณโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโณโโโโโโโโโโโโณโโโโโโโโโโ
โ # โ Proxy Type โ IP Address โ Location โ Latency โ Speed โ Status โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ 1 โ HTTP โ 172.56.168.96 โ Brooklyn, New York, United States โ 966ms โ 5.03 Mbps โ Working โ
โ 2 โ SOCKS5 โ 172.58.255.34 โ College Park, Maryland, US โ 1240ms โ 3.2 Mbps โ Working โ
โโโโโดโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโโโดโโโโโโโโโโ
```
## Troubleshooting Installation
### Error: "externally-managed-environment"
This error occurs on newer Python installations (especially with Homebrew on macOS). Use one of these solutions:
1. **Recommended**: Use `pipx` for application installation:
```bash
pip install --user pipx
pipx install proxidize_pt
```
2. **Use virtual environment**:
```bash
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install proxidize_pt
```
3. **User installation**:
```bash
pip install --user proxidize_pt
```
### PATH Issues
If you can't run `proxidize_pt` after installation:
- **With pipx**: Run `pipx ensurepath` and restart your terminal
- **With --user**: Add `~/.local/bin` (Linux/Mac) or `%APPDATA%\Python\Scripts` (Windows) to your PATH
- **With virtual environment**: Make sure the environment is activated
## License
This project is licensed under the MIT License - see the LICENSE file for details.
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## Support
If you encounter any issues or have questions:
1. Check the [documentation](https://github.com/fawaz7/Proxy-tester/wiki)
2. Search [existing issues](https://github.com/fawaz7/Proxy-tester/issues)
3. Create a [new issue](https://github.com/fawaz7/Proxy-tester/issues/new)
If you can't run `proxidize_pt` after installation:
- **With pipx**: Run `pipx ensurepath` and restart your terminal
- **With --user**: Add `~/.local/bin` (Linux/Mac) or `%APPDATA%\Python\Scripts` (Windows) to your PATH
- **With virtual environment**: Make sure the environment is activated
## License
This project is licensed under the MIT License - see the LICENSE file for details.
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## Support
If you encounter any issues or have questions:
1. Check the [documentation](https://github.com/fawaz7/Proxy-tester/wiki)
2. Search [existing issues](https://github.com/fawaz7/Proxy-tester/issues)
3. Create a [new issue](https://github.com/fawaz7/Proxy-tester/issues/new)
Raw data
{
"_id": null,
"home_page": "https://github.com/fawaz7/Proxy-tester",
"name": "proxidize-pt",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "proxy, testing, http, socks, socks5, network, tool, multi-threaded",
"author": "Proxidize",
"author_email": "Proxidize <support@proxidize.com>",
"download_url": "https://files.pythonhosted.org/packages/6f/de/c99f9f4d2abb6c13e59446cb2c08f90f959303dbf824b2a6965e1b211540/proxidize_pt-1.0.8.tar.gz",
"platform": "Windows",
"description": "# Proxidize: Proxy Tester\r\n\r\nA professional, multi-threaded proxy testing tool for HTTP and SOCKS5 proxies with built-in speed testing and geo-location lookup.\r\n\r\n## Features\r\n\r\n- \ud83d\ude80 **Multi-threaded Testing**: Efficient parallel proxy testing with intelligent thread management\r\n- \ud83c\udf0d **HTTP & SOCKS5 Support**: Test both HTTP and SOCKS5 proxies seamlessly\r\n- \ud83d\udccd **Geo-location Lookup**: Get detailed location information for working proxies\r\n- \u26a1 **Speed Testing**: Built-in download speed testing using speedtest-cli\r\n- \ud83c\udfa8 **Beautiful UI**: Rich terminal interface with colored output and formatted tables\r\n- \ud83d\udcca **Export Results**: Save results to CSV format for analysis\r\n- \ud83d\udee1\ufe0f **Robust Error Handling**: Graceful handling of failures and interruptions\r\n- \ud83d\udd27 **Flexible Input**: Support for single proxy, file input, or interactive proxy entry\r\n\r\n## Installation\r\n\r\n### Recommended Installation (macOS)\r\n\r\n```bash\r\n# Install pipx via Homebrew (recommended method for macOS)\r\nbrew install pipx\r\n\r\n# Install proxidize_pt\r\npipx install proxidize_pt\r\n```\r\n\r\n### Recommended Installation (All Platforms)\r\n\r\n```bash\r\n# Install pipx if you don't have it\r\npip install --user pipx\r\npipx ensurepath\r\n\r\n# Install proxidize_pt\r\npipx install proxidize_pt\r\n```\r\n\r\n### Alternative Installation Methods\r\n\r\n#### Using pip with virtual environment:\r\n\r\n```bash\r\n# Create a virtual environment\r\npython3 -m venv proxy_tester_env\r\nsource proxy_tester_env/bin/activate # On Windows: proxy_tester_env\\Scripts\\activate\r\n\r\n# Install the package\r\npip install proxidize_pt\r\n```\r\n\r\n#### Using pip with user flag:\r\n\r\n```bash\r\npip install --user proxidize_pt\r\n```\r\n\r\n#### System-wide installation (not recommended):\r\n\r\n```bash\r\npip install --break-system-packages proxidize_pt\r\n```\r\n\r\n### From Source:\r\n\r\n```bash\r\ngit clone https://github.com/fawaz7/Proxy-tester.git\r\ncd Proxy-tester\r\npip install -e .\r\n```\r\n\r\n## Usage\r\n\r\n### Command Line Interface\r\n\r\nOnce installed, you can use the main command:\r\n\r\n```bash\r\nproxidize_pt [options] <proxy_file_or_single_proxy>\r\n```\r\n\r\n### Basic Examples\r\n\r\n```bash\r\n# Test a single HTTP proxy\r\nproxidize_pt --http pg.proxi.es:20000:username:password\r\n\r\n# Test a single SOCKS5 proxy with geo-location\r\nproxidize_pt --socks --geo pg.proxi.es:20002:username:password\r\n\r\n# Test proxies from a file with speed test and verbose output\r\nproxidize_pt --http --geo --speed-test -v proxies.txt\r\n\r\n# Export results to CSV format\r\nproxidize_pt --http --geo proxies.txt -o results.csv\r\n\r\n# Export results to TXT format\r\nproxidize_pt --http --geo proxies.txt -o results.txt\r\n\r\n# Without specifying extension (defaults to CSV)\r\nproxidize_pt --http --geo proxies.txt -o results\r\n\r\n# Interactive mode (no arguments)\r\nproxidize_pt\r\n```\r\n\r\n### Command Line Options\r\n\r\n```\r\npositional arguments:\r\n proxy Single proxy or path to proxy list file\r\n\r\noptions:\r\n -h, --help show this help message and exit\r\n --socks Use SOCKS5 proxy\r\n --http Use HTTP proxy\r\n --geo Enable IP geolocation lookup\r\n --speed-test Include download speed test\r\n -o OUTPUT, --output OUTPUT\r\n Output file path - specify format with extension (.txt default, .csv available)\r\n -v, --verbose Enable verbose debug output\r\n```\r\n\r\n### Output Formats\r\n\r\nResults can be saved in two formats by specifying the file extension:\r\n\r\n- **TXT format**: Use `.txt` extension (e.g., `results.txt`) - Tab-separated values, human-readable plain text format (default)\r\n- **CSV format**: Use `.csv` extension (e.g., `results.csv`) - Comma-separated values, ideal for spreadsheet applications and data analysis\r\n\r\nThe output format is automatically determined by the file extension you provide. If no extension is specified, TXT format is used by default.\r\n\r\n### Proxy Format\r\n\r\nProxies should be in the format: `host:port:username:password`\r\n\r\nExamples:\r\n\r\n```\r\nproxy.example.com:8080:user123:pass123\r\n192.168.1.100:3128:admin:secret\r\npg.proxi.es:20000:username:password\r\npg.proxi.es:20002:username:password\r\n```\r\n\r\n### Input Methods\r\n\r\n1. **Single Proxy**: Pass a proxy directly as an argument (without quotes)\r\n2. **File Input**: Create a text file with one proxy per line\r\n3. **Interactive Mode**: Run without arguments to enter proxies manually. After testing, you'll be prompted to save results in TXT format by default (or CSV if you specify .csv extension).\r\n\r\n### Example File (proxies.txt):\r\n\r\n```\r\nproxy1.example.com:8080:user1:pass1\r\nproxy2.example.com:3128:user2:pass2\r\npg.proxi.es:20000:username:password\r\npg.proxi.es:20002:username:password\r\n```\r\n\r\n## Platform Support\r\n\r\nProxidize works on all major platforms:\r\n\r\n- \u2705 **Windows** (Windows 10, 11)\r\n- \u2705 **Linux** (Ubuntu, Debian, CentOS, etc.)\r\n- \u2705 **macOS** (10.14+)\r\n\r\n## Requirements\r\n\r\n- Python 3.7 or higher\r\n- Internet connection for proxy testing\r\n- All dependencies are automatically installed via pip\r\n\r\n## Output\r\n\r\nResults are displayed in a beautiful table format and can be exported to CSV:\r\n\r\n```\r\n Proxy Test Results\r\n\u250f\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\r\n\u2503 # \u2503 Proxy Type \u2503 IP Address \u2503 Location \u2503 Latency \u2503 Speed \u2503 Status \u2503\r\n\u2521\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\r\n\u2502 1 \u2502 HTTP \u2502 172.56.168.96 \u2502 Brooklyn, New York, United States \u2502 966ms \u2502 5.03 Mbps \u2502 Working \u2502\r\n\u2502 2 \u2502 SOCKS5 \u2502 172.58.255.34 \u2502 College Park, Maryland, US \u2502 1240ms \u2502 3.2 Mbps \u2502 Working \u2502\r\n\u2514\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\r\n```\r\n\r\n## Troubleshooting Installation\r\n\r\n### Error: \"externally-managed-environment\"\r\n\r\nThis error occurs on newer Python installations (especially with Homebrew on macOS). Use one of these solutions:\r\n\r\n1. **Recommended**: Use `pipx` for application installation:\r\n\r\n ```bash\r\n pip install --user pipx\r\n pipx install proxidize_pt\r\n ```\r\n\r\n2. **Use virtual environment**:\r\n\r\n ```bash\r\n python3 -m venv venv\r\n source venv/bin/activate # On Windows: venv\\Scripts\\activate\r\n pip install proxidize_pt\r\n ```\r\n\r\n3. **User installation**:\r\n ```bash\r\n pip install --user proxidize_pt\r\n ```\r\n\r\n### PATH Issues\r\n\r\nIf you can't run `proxidize_pt` after installation:\r\n\r\n- **With pipx**: Run `pipx ensurepath` and restart your terminal\r\n- **With --user**: Add `~/.local/bin` (Linux/Mac) or `%APPDATA%\\Python\\Scripts` (Windows) to your PATH\r\n- **With virtual environment**: Make sure the environment is activated\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License - see the LICENSE file for details.\r\n\r\n## Contributing\r\n\r\nContributions are welcome! Please feel free to submit a Pull Request.\r\n\r\n## Support\r\n\r\nIf you encounter any issues or have questions:\r\n\r\n1. Check the [documentation](https://github.com/fawaz7/Proxy-tester/wiki)\r\n2. Search [existing issues](https://github.com/fawaz7/Proxy-tester/issues)\r\n3. Create a [new issue](https://github.com/fawaz7/Proxy-tester/issues/new)\r\n\r\nIf you can't run `proxidize_pt` after installation:\r\n\r\n- **With pipx**: Run `pipx ensurepath` and restart your terminal\r\n- **With --user**: Add `~/.local/bin` (Linux/Mac) or `%APPDATA%\\Python\\Scripts` (Windows) to your PATH\r\n- **With virtual environment**: Make sure the environment is activated\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License - see the LICENSE file for details.\r\n\r\n## Contributing\r\n\r\nContributions are welcome! Please feel free to submit a Pull Request.\r\n\r\n## Support\r\n\r\nIf you encounter any issues or have questions:\r\n\r\n1. Check the [documentation](https://github.com/fawaz7/Proxy-tester/wiki)\r\n2. Search [existing issues](https://github.com/fawaz7/Proxy-tester/issues)\r\n3. Create a [new issue](https://github.com/fawaz7/Proxy-tester/issues/new)\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Proxidize Proxy Tester - A multi-threaded proxy testing tool for HTTP/SOCKS proxies",
"version": "1.0.8",
"project_urls": {
"Bug Reports": "https://github.com/fawaz7/Proxy-tester/issues",
"Documentation": "https://github.com/fawaz7/Proxy-tester/wiki",
"Homepage": "https://github.com/fawaz7/Proxy-tester",
"Source": "https://github.com/fawaz7/Proxy-tester"
},
"split_keywords": [
"proxy",
" testing",
" http",
" socks",
" socks5",
" network",
" tool",
" multi-threaded"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "6f3a8b302054740cf24be74800c021637c29ea438ad6942ab2e3535e640d8cbd",
"md5": "91b6914c775b707e430c68878ac25937",
"sha256": "73548fb6cf8fddfff2f8d699b7215d0db26343a9a246df9576aeb403946f6ab7"
},
"downloads": -1,
"filename": "proxidize_pt-1.0.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "91b6914c775b707e430c68878ac25937",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 18796,
"upload_time": "2025-07-11T16:44:37",
"upload_time_iso_8601": "2025-07-11T16:44:37.546869Z",
"url": "https://files.pythonhosted.org/packages/6f/3a/8b302054740cf24be74800c021637c29ea438ad6942ab2e3535e640d8cbd/proxidize_pt-1.0.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6fdec99f9f4d2abb6c13e59446cb2c08f90f959303dbf824b2a6965e1b211540",
"md5": "cb13be912bd0e7855013b551dfbfc21f",
"sha256": "8a33ed401b6545689665abf097d91d600c6f3fe98df1812f64f14beb6c154c50"
},
"downloads": -1,
"filename": "proxidize_pt-1.0.8.tar.gz",
"has_sig": false,
"md5_digest": "cb13be912bd0e7855013b551dfbfc21f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 19965,
"upload_time": "2025-07-11T16:44:39",
"upload_time_iso_8601": "2025-07-11T16:44:39.538555Z",
"url": "https://files.pythonhosted.org/packages/6f/de/c99f9f4d2abb6c13e59446cb2c08f90f959303dbf824b2a6965e1b211540/proxidize_pt-1.0.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-11 16:44:39",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "fawaz7",
"github_project": "Proxy-tester",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "httpx",
"specs": []
},
{
"name": "rich",
"specs": []
},
{
"name": "requests",
"specs": []
},
{
"name": "pysocks",
"specs": []
},
{
"name": "pyfiglet",
"specs": []
},
{
"name": "colorama",
"specs": []
},
{
"name": "speedtest-cli",
"specs": []
}
],
"lcname": "proxidize-pt"
}