diff -r proxychains-2.1/proxychains/libproxychains.c proxychains-2.2/proxychains/libproxychains.c 43a44,67 > #ifdef PTRUE > #undef PTRUE > #endif > #define PTRUE 1 > > #ifdef PFALSE > #undef PFALSE > #endif > #define PFALSE 0 > > /* total number of available slots for subnets */ > #define MAX_LOCAL_NETS 20 > > /* structur for representing networks to be excluded */ > typedef struct > { > int valid; > unsigned int subnetwork; > unsigned int subnetmask; > } my_network; > > my_network localnet[MAX_LOCAL_NETS]; /* array of sub nets */ > > 56c80,81 < chain_type *ct) --- > chain_type *ct, > my_network *subnets) 60c85 < int count=0,port_n=0,list=0; --- > int count=0,port_n=0,list=0,subcount=0; 90c115,118 < pd[count].ps=PLAY_STATE; --- > > bzero(&subnets[subcount], sizeof(my_network)); > > pd[count].ps=PLAY_STATE; 102c130,137 < }else continue; --- > } else if(!strcmp(type,"localnet")) { > subnets[subcount].subnetwork=inet_addr(host); > subnets[subcount].subnetmask=inet_addr(pd[count].user); > subnets[subcount].valid=PTRUE; > subnets[subcount + 1].valid=PFALSE; > > subcount++; > }else continue; 142a178 > int lnnum=0; 145a182 > 148c185,196 < get_chain_data(proxychains_pd,&proxychains_proxy_count,&proxychains_ct); --- > > get_chain_data(proxychains_pd,&proxychains_proxy_count,&proxychains_ct,localnet); > > /* loop though the subnets and bypass the proxychain if we got a match */ > for (lnnum = 0; localnet[lnnum].valid == PTRUE; lnnum++) > { > if (( satosin(*addr)->sin_addr.s_addr & localnet[lnnum].subnetmask) == > localnet[lnnum].subnetwork) { > return __libc_connect(sock,addr,len); > > } > } Only in proxychains-2.2/proxychains: libproxychains.so Only in proxychains-2.2/proxychains: make.sh Only in proxychains-2.2/proxychains: proxychains diff -r proxychains-2.1/proxychains/proxychains.conf proxychains-2.2/proxychains/proxychains.conf 25c25 < #dynamic_chain --- > dynamic_chain 27c27 < random_chain --- > #random_chain 51a52 > # localnet 192.168.1.0 0000 255.255.255.0 57,59c58,62 < http 10.0.0.5 3128 < http 10.0.0.3 3128 < http 10.0.0.5 3128 --- > # localnet is used for excluding a netrange from the proxy > # > http 192.168.1.5 3128 > #http 10.0.0.3 3128 > #http 10.0.0.5 3128 62,63c65,69 < #http 192.168.203.18 8080 < --- > #http 192.168.203.18 8080 > # exclude localhost from the proxychain > localnet 127.0.0.1 000 255.255.255.255 > # exclude the localnet from the proxychain > localnet 192.168.1.0 000 255.255.255.128 .