diff options
author | tinyzimmer <38474291+tinyzimmer@users.noreply.github.com> | 2018-04-23 06:40:26 +0300 |
---|---|---|
committer | tinyzimmer <38474291+tinyzimmer@users.noreply.github.com> | 2018-04-23 06:40:26 +0300 |
commit | f88610077cd2ce64bfbce64eb3bb1c55b6afd375 (patch) | |
tree | ae1a1db32b0c5ca5ff8c84da470718f5217b042f | |
parent | fbfdd995dbb94254df558086197b671f96ea6c1f (diff) |
allow dynamic host for simple socks env var
-rw-r--r-- | src/common.h | 3 | ||||
-rw-r--r-- | src/libproxychains.c | 12 |
2 files changed, 11 insertions, 4 deletions
diff --git a/src/common.h b/src/common.h index 4db13ff..a97b602 100644 --- a/src/common.h +++ b/src/common.h @@ -1,7 +1,8 @@ #define PROXYCHAINS_CONF_FILE_ENV_VAR "PROXYCHAINS_CONF_FILE" #define PROXYCHAINS_QUIET_MODE_ENV_VAR "PROXYCHAINS_QUIET_MODE" #define PROXYCHAINS_CONF_FILE "proxychains.conf" -#define PROXYCHAINS_SOCKS5_ENV_VAR "PROXYCHAINS_SOCKS5" +#define PROXYCHAINS_SOCKS5_PORT_ENV_VAR "PROXYCHAINS_SOCKS5_PORT" +#define PROXYCHAINS_SOCKS5_HOST_ENV_VAR "PROXYCHAINS_SOCKS5_HOST" #define PROXYCHAINS_DNS_ENV_VAR "PROXYCHAINS_DNS" #define LOG_PREFIX "[proxychains] " diff --git a/src/libproxychains.c b/src/libproxychains.c index 05d992e..46d11c7 100644 --- a/src/libproxychains.c +++ b/src/libproxychains.c @@ -308,21 +308,27 @@ static void get_chain_data(proxy_data * pd, unsigned int *proxy_count, chain_typ static void simple_socks5_env(proxy_data *pd, unsigned int *proxy_count, chain_type *ct) { char *port_string; + char *host_string; if(proxychains_got_chain_data) return; load_default_settings(ct); - port_string = getenv(PROXYCHAINS_SOCKS5_ENV_VAR); + port_string = getenv(PROXYCHAINS_SOCKS5_PORT_ENV_VAR); if(!port_string) return; + + host_string = getenv(PROXYCHAINS_SOCKS5_HOST_ENV_VAR); + + if(!host_string) + host_string = "127.0.0.1"; - memset(pd, 0, sizeof(proxy_data)); + memset(pd, 0, sizeof(proxy_data)); pd[0].ps = PLAY_STATE; - pd[0].ip.as_int = (uint32_t) inet_addr("127.0.0.1"); + pd[0].ip.as_int = (uint32_t) inet_addr(host_string); pd[0].port = htons((unsigned short) strtol(port_string, NULL, 0)); pd[0].pt = SOCKS5_TYPE; proxychains_max_chain = 1; |