zeloxy 0.5.1

A library for creating lightweight, async, and lag-free proxy connections.
Documentation
use zeloxy::create_chain;
use zeloxy::tools::{compare_proxies, compare_proxy_chains};

#[tokio::test]
async fn test_compare_proxies() -> std::io::Result<()> {
  let proxies = vec![
    "socks5://212.58.132.5:1080",
    "socks4://98.170.57.249:4145",
    "socks4://184.178.172.14:4145",
  ];

  if let Some(best_proxy) = compare_proxies(proxies, None).await {
    println!("Лучший прокси: {:?}", best_proxy);
  } else {
    println!("Не удалось получить лучший прокси");
  }

  Ok(())
}

#[tokio::test]
async fn test_compare_proxy_chains() -> std::io::Result<()> {
  let chain_1 = create_chain![
    "socks4://98.181.137.83:4145",
    "socks4://98.170.57.249:4145",
    "socks5://212.58.132.5:1080",
  ];

  let chain_2 = create_chain![
    "socks4://98.181.137.83:4145",
    "socks5://212.58.132.5:1080",
    "socks4://98.170.57.249:4145",
  ];

  let chain_3 = create_chain![
    "socks5://212.58.132.5:1080",
    "socks4://98.170.57.249:4145",
    "socks4://184.178.172.14:4145",
  ];

  let chains = vec![chain_1, chain_2, chain_3];

  if let Some(best_chain) = compare_proxy_chains(chains, Some(10000)).await {
    println!("Лучшая цепочка прокси: {:?}", best_chain);
  } else {
    println!("Не удалось получить лучшую цепочку прокси");
  }

  Ok(())
}