2021-06-06 23:50:15 +00:00
|
|
|
# openproxyherder
|
|
|
|
|
|
|
|
A Python webapp that "herds" a list of open proxies, with an API for external programs to add and update entries.
|
|
|
|
|
2021-06-23 18:44:52 +00:00
|
|
|
`scripts/` contains some example scripts that might be useful.
|
2021-06-06 23:50:15 +00:00
|
|
|
|
2021-06-26 13:08:38 +00:00
|
|
|
There's a [todo list](https://todo.sr.ht/~emerson/openproxyherder) for issue and feature tracking.
|
|
|
|
|
2021-06-23 18:44:52 +00:00
|
|
|
## Setup openproxyherder
|
2021-06-06 23:50:15 +00:00
|
|
|
|
|
|
|
This is tested with Python 3.8 and 3.9, but should work with Python 3.5 and above.
|
|
|
|
|
|
|
|
You'll need a postgresql database available via TCP, with the following table:
|
|
|
|
```
|
|
|
|
create table proxies (
|
2021-06-07 00:35:24 +00:00
|
|
|
id serial primary key,
|
2021-06-06 23:50:15 +00:00
|
|
|
ip inet,
|
|
|
|
port int,
|
|
|
|
exit_ip inet,
|
2021-06-07 00:35:24 +00:00
|
|
|
exit_ipv6 inet,
|
|
|
|
proxy_type text,
|
2021-06-23 18:04:21 +00:00
|
|
|
status text default 'unscanned',
|
2021-07-08 14:24:01 +00:00
|
|
|
last_seen timestamptz default 'epoch',
|
|
|
|
last_checked timestamptz default 'epoch',
|
|
|
|
submitted_at timestamptz,
|
2021-06-06 23:50:15 +00:00
|
|
|
comment text,
|
2021-06-07 00:35:24 +00:00
|
|
|
num_failures int default 0,
|
|
|
|
recheck bool default false
|
2021-06-06 23:50:15 +00:00
|
|
|
);
|
|
|
|
```
|
|
|
|
|
|
|
|
Copy `config.example.yaml` to `config.yaml`, edit `config.yaml` as needed.
|
|
|
|
|
|
|
|
Install the packages in `requirements.txt` (probably a good idea to create a venv).
|
|
|
|
|
2021-06-23 18:44:52 +00:00
|
|
|
Run `python openproxyherder.py`
|
|
|
|
|
|
|
|
## Scripts
|
|
|
|
|
|
|
|
See README in `scripts/` for information about the scripts
|