1 unstable release

Uses new Rust 2024

new 0.2.0 Apr 10, 2025

#150 in HTTP client

Apache-2.0

2MB
3.5K SLoC

Contains (WOFF font, 400KB) NanumBarunGothic-13b3dcba.ttf.woff2, (WOFF font, 140KB) FiraSans-Italic-81dc35de.woff2, (WOFF font, 135KB) FiraSans-Medium-e1aa3f0a.woff2, (WOFF font, 140KB) FiraSans-MediumItalic-ccf7e434.woff2, (WOFF font, 130KB) FiraSans-Regular-0fe48ade.woff2, (WOFF font, 82KB) SourceSerif4-Bold-6d4fd4c0.ttf.woff2 and 8 more.

Gooty Proxy 🚀

Gooty Proxy is a library for discovering, testing, and managing HTTP and SOCKS proxies. It provides tools for working with proxy servers, including discovery, validation, metadata collection, and management.

Features ✨

  • Proxy Discovery: Fetch proxies from various sources.
  • Validation: Test proxies for connectivity, anonymity, and performance.
  • Metadata Collection: Gather information like location, organization, and ASN.
  • Management: Rotate, persist, and manage proxy pools (rotation planned for future versions).

Installation 📦

Add Gooty Proxy to your Cargo.toml:

[dependencies]
gooty-proxy = "0.2.0"

Usage 🛠️

Here's a quick example of how to use Gooty Proxy:

use gooty_proxy::ProxyManager;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut manager = ProxyManager::new()?;

    manager.init_judge().await?;
    manager.init_sleuth()?;

    let proxy_url = "http://example.com:8080";
    manager.add_proxy_from_url(proxy_url)?;

    manager.check_proxy(proxy_url).await?;
    manager.enrich_proxy(proxy_url).await?;

    if let Some(proxy) = manager.get_proxy(proxy_url) {
        println!("Proxy type: {}", proxy.proxy_type);
        println!("Anonymity: {}", proxy.anonymity);
        if let Some(country) = &proxy.country {
            println!("Country: {}", country);
        }
    }

    Ok(())
}

Planned Features 🛠️

  • Proxy Rotation: Mangement enhanced with rotation strategies.

Contributing 🤝

Contributions are welcome! Feel free to open issues or submit pull requests.

License 📜

This project is licensed under the Apache License 2.0.


Happy proxying! 🌐

Dependencies

~17–31MB
~437K SLoC