diff --git a/src/core.c b/src/core.c index b0e3f21..d5f85f7 100644 --- a/src/core.c +++ b/src/core.c @@ -278,6 +278,10 @@ static int tunnel_to(int sock, ip_type ip, unsigned short port, proxy_type pt, c //memset (buff, 0, sizeof(buff)); switch (pt) { + case RAW_TYPE: { + return SUCCESS; + } + break; case HTTP_TYPE:{ if(!dns_len) { inet_ntop(AF_INET, &ip.octet[0], ip_buf, sizeof(ip_buf)); diff --git a/src/core.h b/src/core.h index 61e4534..e2aeed6 100644 --- a/src/core.h +++ b/src/core.h @@ -67,6 +67,7 @@ typedef enum { typedef enum { HTTP_TYPE, + RAW_TYPE, SOCKS4_TYPE, SOCKS5_TYPE } proxy_type; diff --git a/src/libproxychains.c b/src/libproxychains.c index 48396d0..7af91ab 100644 --- a/src/libproxychains.c +++ b/src/libproxychains.c @@ -221,6 +221,8 @@ static void get_chain_data(proxy_data * pd, unsigned int *proxy_count, chain_typ if(!strcmp(type, "http")) { pd[count].pt = HTTP_TYPE; + } else if(!strcmp(type, "raw")) { + pd[count].pt = RAW_TYPE; } else if(!strcmp(type, "socks4")) { pd[count].pt = SOCKS4_TYPE; } else if(!strcmp(type, "socks5")) {