Proxy Scraper
The Proxy Scraper is a Rust command-line tool and library that allows users to scrape proxy information from URLs.
Features
- Scraping: Fetch and scrape proxy information from a specified URL.
- Proxy Types: Currently supports multiple proxy types, including MTProxy, Shadowsocks, VMess, VLess, Trojan, Hysteria, and TUIC, with extensibility for additional types.
- Asynchronous: Utilizes asynchronous programming using the Tokio runtime for improved performance.
Supported Proxies
- MTProxy: A specific type of proxy.
- Shadowsocks: A proxy protocol designed to provide encryption and security.
- VMess: A protocol for encrypted communications.
- VLess: A protocol similar to VMess but with reduced overhead.
- Trojan: A protocol that disguises traffic as HTTPS.
- Hysteria: A protocol with high-speed data transfer capabilities.
- TUIC: A protocol for encrypted communications.
Library Usage
The Proxy Scraper is also available as a library for Rust projects. It provides a set of modules and functions for scraping proxy information programmatically.
// Example usage of the Proxy Scraper library
use *;
Usage
Installation
-
Ensure you have Rust and Cargo installed. If not, follow the instructions at Rust Installation.
-
Clone the repository:
-
Navigate to the project directory:
-
Build the project:
Command-line Usage
Run the built executable with the desired parameters:
<PROXY_SOURCE_URL>
: The URL containing proxy information.<PROXY_TYPE>
: The type of proxy to scrape (default: "mtproxy").
Example
Configuration
The tool uses argh for command-line argument parsing. The available options are:
--source
: Specifies the URL source for proxy information.--proxy_type
: Specifies the type of proxy to scrape (default: "mtproxy").
Dependencies
- reqwest: HTTP client for making requests.
- tokio: Asynchronous runtime for Rust.
- argh: A simple argument parsing library.
Building from Source
To build the project from source, follow these steps:
-
Clone the repository:
-
Navigate to the project directory:
-
Build the project:
Support
If you find my works helpful and would like to support me, consider making a donation. Your contributions will help ensure the ongoing maintenance and improvement of these projects.
License
This project is licensed under the MIT License - see the LICENSE file for details.