Metadata-Version: 2.1
Name: proxy-servant
Version: 1.0.0
Summary: proxy-servant is your best friend that will give you a working proxy every time you request it
Home-page: https://github.com/FizzyShow/proxy_servant
Download-URL: https://pypi.org/project/proxy_servant/
Author: Dmitriy Popov
Author-email: dpopov@fizdm.ru
License: MIT
Keywords: Proxy,Proxy Checker,Proxy Servant,Servant,Python 3
Description-Content-Type: text/markdown
License-File: LICENSE

# proxy-servant
proxy-servant is your best friend that will give you a working proxy every time you request it

## Why and For What?
Proxy-servant developed for a community from a part of that community
My main goal was to develop a package that would accept a set of proxy data, 
send thousands http requests throught those proxies, and know which ones were alive

## Which proxies are supported?
* SOCKS5
* SOCKS4
* HTTP

## How to use?
### Load dataset

```
http://127.0.0.1
http://127.0.0.2
http://127.0.0.3
http://127.0.0.4
```
*dataset.txt*

```py
import proxy_servant

data = proxy_servant.FileDataSource("./proxies.csv")
```

### Instantiate checker
```py
pc = proxy_servant.BasicProxyChecker(data, "https://google.com", timeout=aiohttp.ClientTimeout(connect=8))
```

### Send requests
If you in async function
```py
check_result = await pc.check()
```
or
```
import asyncio
check_result = asyncio.run(pc.check())
```
Now you have list with result of proxy-checking

### Iterate over working proxy
```py
pp = proxy_servant.BasicProxyProvider(check_result) # filtering and saves only working proxies
pp.get_all()

# or

next(pp)

# or

for proxy in pp:
    pass
```

To manage an infinite or finite loop, use the `remove_proxy_after_use` parameter in `BasicProxyProvider`


# Change log


## [1.0.0] - 2022-12-03

### Added
- Improved README


## [0.0.1] - 2022-11-04

### Added
- Initial version
