diff options
Diffstat (limited to 'src/Proxy/Proxy.h')
| -rw-r--r-- | src/Proxy/Proxy.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/Proxy/Proxy.h b/src/Proxy/Proxy.h new file mode 100644 index 0000000..d9a438d --- /dev/null +++ b/src/Proxy/Proxy.h @@ -0,0 +1,31 @@ +#ifndef PROXY_H +#define PROXY_H + +#include <curl/curl.h> + +typedef enum { PROXY_HTTP, PROXY_SOCKS4, PROXY_SOCKS5 } ProxyType; + +typedef struct { + ProxyType type; + char host[256]; + int port; + char username[64]; + char password[64]; + int failures; +} Proxy; + +extern Proxy *proxy_list; +extern int proxy_count; +extern int max_proxy_retries; +extern int randomize_username; +extern int randomize_password; +extern char proxy_url[512]; + +int load_proxy_list(const char *filename); +void free_proxy_list(void); +Proxy *get_random_proxy(void); +void record_proxy_failure(Proxy *proxy); +void apply_proxy_settings(CURL *curl); +void set_proxy_config(const char *proxy_str, int rand_user, int rand_pass); + +#endif |
