mirror of
https://github.com/3proxy/3proxy.git
synced 2025-02-23 10:35:40 +08:00
-N(NAT_address) option added for socks
This commit is contained in:
parent
d0725163d1
commit
ebd7b34159
@ -346,6 +346,9 @@ int MODULEMAINFUNC (int argc, char** argv){
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 'N':
|
||||||
|
getip46(46, (unsigned char *)argv[i]+2, (struct sockaddr *)&srv.extNat);
|
||||||
|
break;
|
||||||
case 'p':
|
case 'p':
|
||||||
*SAPORT(&srv.intsa) = htons(atoi(argv[i]+2));
|
*SAPORT(&srv.intsa) = htons(atoi(argv[i]+2));
|
||||||
break;
|
break;
|
||||||
|
@ -173,9 +173,9 @@ void * sockschild(struct clientparam* param) {
|
|||||||
case 3:
|
case 3:
|
||||||
|
|
||||||
#ifndef NOIPV6
|
#ifndef NOIPV6
|
||||||
param->sinsl = *SAFAMILY(¶m->req)==AF_INET6? param->srv->extsa6 : param->srv->extsa;
|
param->sinsl = *SAFAMILY(¶m->req)==AF_INET6? param->srv->extsa6 : (SAISNULL(¶m->srv->extNat)?param->srv->extsa:param->srv->extNat);
|
||||||
#else
|
#else
|
||||||
param->sinsl = param->srv->extsa;
|
param->sinsl = SAISNULL(¶m->srv->extNat)?param->srv->extsa:param->srv->extNat;
|
||||||
#endif
|
#endif
|
||||||
if ((param->remsock=so._socket(SASOCK(¶m->req), command == 2? SOCK_STREAM:SOCK_DGRAM, command == 2?IPPROTO_TCP:IPPROTO_UDP)) == INVALID_SOCKET) {RETURN (11);}
|
if ((param->remsock=so._socket(SASOCK(¶m->req), command == 2? SOCK_STREAM:SOCK_DGRAM, command == 2?IPPROTO_TCP:IPPROTO_UDP)) == INVALID_SOCKET) {RETURN (11);}
|
||||||
param->operation = command == 2?BIND:UDPASSOC;
|
param->operation = command == 2?BIND:UDPASSOC;
|
||||||
@ -461,7 +461,7 @@ struct proxydef childdef = {
|
|||||||
1080,
|
1080,
|
||||||
0,
|
0,
|
||||||
S_SOCKS,
|
S_SOCKS,
|
||||||
""
|
"-N(EXTERNAL_IP) External NAT address to report to client for BIND\n"
|
||||||
};
|
};
|
||||||
#include "proxymain.c"
|
#include "proxymain.c"
|
||||||
#endif
|
#endif
|
||||||
|
@ -445,9 +445,11 @@ struct srvparam {
|
|||||||
struct sockaddr_in6 intsa;
|
struct sockaddr_in6 intsa;
|
||||||
struct sockaddr_in6 extsa6;
|
struct sockaddr_in6 extsa6;
|
||||||
struct sockaddr_in6 extsa;
|
struct sockaddr_in6 extsa;
|
||||||
|
struct sockaddr_in6 extNat;
|
||||||
#else
|
#else
|
||||||
struct sockaddr_in intsa;
|
struct sockaddr_in intsa;
|
||||||
struct sockaddr_in extsa;
|
struct sockaddr_in extsa;
|
||||||
|
struct sockaddr_in extNat;
|
||||||
#endif
|
#endif
|
||||||
pthread_mutex_t counter_mutex;
|
pthread_mutex_t counter_mutex;
|
||||||
struct pollfd fds;
|
struct pollfd fds;
|
||||||
|
Loading…
Reference in New Issue
Block a user