Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/haad/proxychains.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortinyzimmer <38474291+tinyzimmer@users.noreply.github.com>2018-04-23 06:40:26 +0300
committertinyzimmer <38474291+tinyzimmer@users.noreply.github.com>2018-04-23 06:40:26 +0300
commitf88610077cd2ce64bfbce64eb3bb1c55b6afd375 (patch)
treeae1a1db32b0c5ca5ff8c84da470718f5217b042f
parentfbfdd995dbb94254df558086197b671f96ea6c1f (diff)
allow dynamic host for simple socks env var
-rw-r--r--src/common.h3
-rw-r--r--src/libproxychains.c12
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;