Skip to content

Commit ad67bc5

Browse files
committed
use 51dese.com as default dn
1 parent 650c745 commit ad67bc5

File tree

6 files changed

+1491
-1491
lines changed

6 files changed

+1491
-1491
lines changed

bin/forward-proxy

Lines changed: 172 additions & 172 deletions
Original file line numberDiff line numberDiff line change
@@ -1,172 +1,172 @@
1-
#!/usr/bin/env node
2-
3-
//
4-
// Please install node-httpp binary in your system exec dir, like /usr/bin/ or /usr/local/bin/
5-
//
6-
var util = require('util'),
7-
argv = require('optimist').argv,
8-
Proxy = require('../proxy');
9-
10-
var help = [
11-
"usage: forward-proxy [options] ",
12-
"",
13-
"Starts a forward-proxy server using the specified command-line options",
14-
"",
15-
"options:",
16-
" --http_port 51866 Http proxy port, Optional",
17-
" --socks_port 51888 Socks proxy port, Optional",
18-
" --export_vurl URL Export service's vURL, Optional",
19-
" --turnon_timer 1 or 0 Turn on export service query timer, Optional",
20-
" --enable_export 1 or 0 Turn on export service, Optional",
21-
" --access_local 1 or 0 Local access on Export host, 1: allow, 0: deny, default deny it",
22-
" -k, --key User key Key for the registered user, MUST",
23-
" -s --secmode ssl or acl Secure mode: ssl or host-based ACL",
24-
" -u, --user USER User to drop privileges once server socket is bound, Optional",
25-
" -h, --help You're staring at it"
26-
].join('\n');
27-
28-
if (argv.h || argv.help || Object.keys(argv).length === 2) {
29-
return util.puts(help);
30-
}
31-
32-
var http_port = argv.http_port,
33-
socks_port = argv.socks_port,
34-
export_vurl = argv.export_vurl,
35-
enable_export = argv.enable || argv.enable_export,
36-
turnon_timer = argv.turnon || argv.turnon_timer,
37-
access_local = argv.access || argv.access_local,
38-
secmode = argv.s || argv.secmode,
39-
user = argv.u || argv.user,
40-
usrkey = argv.k || argv.key;
41-
42-
//
43-
// Check arguments
44-
//
45-
if (!(http_port || socks_port) && !enable_export) {
46-
http_port = 51866;
47-
socks_port = 51888;
48-
}
49-
50-
//
51-
// Create the server with the specified options
52-
//
53-
54-
// fill Export service's vURL as options.export
55-
var prxy = new Proxy({export: export_vurl, usrkey: usrkey,
56-
secmode: secmode, access_local: access_local}, function(err, proxy){
57-
if (err || !proxy) {
58-
console.log(err+',create proxy failed');
59-
return
60-
}
61-
var nmcln = prxy.nmcln;
62-
var importApp = proxy.importApp;
63-
var exportApp = proxy.exportApp;
64-
65-
// Import service ...
66-
if (socks_port || http_port) {
67-
// query available export service firstly
68-
prxy.queryExport(function(err, srv){
69-
if (err || !srv) {
70-
console.log('Warning: No available export service, please run export service in advance');
71-
} /*else*/ {
72-
///console.log('%d available export services', Object.keys(srv).length);
73-
74-
// start socks proxy service
75-
if (socks_port) {
76-
var socks = require('socks5');
77-
var sockspxySrv = socks.createServer(importApp.socksApp);
78-
79-
sockspxySrv.listen(socks_port);
80-
81-
sockspxySrv.on('error', function (e) {
82-
console.error('SERVER ERROR: %j', e);
83-
if (e.code == 'EADDRINUSE') {
84-
console.log('Address in use, retrying in 10 seconds...');
85-
setTimeout(function () {
86-
console.log('Reconnecting to %s:%s', HOST, PORT);
87-
sockspxySrv.close();
88-
sockspxySrv.listen(socks_port, 50);
89-
}, 10000);
90-
}
91-
});
92-
93-
console.log('Socks forward proxy server listen on port '+socks_port);
94-
console.log('You can set browser SOCKS proxy settings point to 127.0.0.1:'+socks_port);
95-
}
96-
97-
// start http proxy service
98-
if (http_port) {
99-
var http = require('http');
100-
var pxySrv = http.createServer();
101-
102-
pxySrv.on('request', importApp.httpApp.proxy);
103-
pxySrv.on('connect', importApp.httpApp.tunnel);
104-
105-
pxySrv.listen(http_port);
106-
107-
console.log('Http forwar proxy server listen on port '+http_port);
108-
console.log('You can set browser HTTP proxy settings point to 127.0.0.1:'+http_port);
109-
}
110-
111-
// turn on export service query timer
112-
if (turnon_timer) prxy.turnQuerytimer(true);
113-
}
114-
});
115-
116-
// query export service in case reconnection
117-
nmcln.on('reready', function(){
118-
prxy.queryExport(function(err, srv){
119-
if (err || !srv) {
120-
console.log('No available export service, please run export service in advance');
121-
} else {
122-
console.log('%d available export services', Object.keys(srv).length);
123-
}
124-
});
125-
});
126-
}
127-
128-
// Export service ...
129-
// start export service on name-client
130-
if (enable_export) {
131-
nmcln.bsrv.srv.on('request', exportApp.httpApp.proxy);
132-
nmcln.bsrv.srv.on('connect', exportApp.httpApp.tunnel);
133-
134-
console.log('Export service ready on vURL: '+nmcln.vurl+'\nUsrkey: '+nmcln.usrinfo.usrkey);
135-
136-
// report peer-service
137-
// like {vurl:x,cate:x,name:x,desc:x,tags:x,acls:x,accounting:x,meta:x}
138-
nmcln.reportService({
139-
vurl: nmcln.vurl,
140-
cate: 'forward-proxy-export',
141-
name: 'forward-proxy'
142-
});
143-
// re-report in case reconnection
144-
nmcln.on('reready', function(){
145-
nmcln.updateService({
146-
live: true,
147-
vurl: nmcln.vurl,
148-
cate: 'forward-proxy-export',
149-
name: 'forward-proxy'
150-
});
151-
});
152-
// turn on export service update timer
153-
if (turnon_timer) {
154-
var updateTimer = setInterval(function(){
155-
nmcln.updateService({
156-
live: true,
157-
vurl: nmcln.vurl,
158-
cate: 'forward-proxy-export',
159-
name: 'forward-proxy'
160-
});
161-
}, 166000); // every 3mins
162-
}
163-
}
164-
});
165-
166-
//
167-
// Drop privileges if requested
168-
//
169-
if (typeof user === 'string') {
170-
process.setuid(user);
171-
}
172-
1+
#!/usr/bin/env node
2+
3+
//
4+
// Please install node-httpp binary in your system exec dir, like /usr/bin/ or /usr/local/bin/
5+
//
6+
var util = require('util'),
7+
argv = require('optimist').argv,
8+
Proxy = require('../proxy');
9+
10+
var help = [
11+
"usage: forward-proxy [options] ",
12+
"",
13+
"Starts a forward-proxy server using the specified command-line options",
14+
"",
15+
"options:",
16+
" --http_port 51866 Http proxy port, Optional",
17+
" --socks_port 51888 Socks proxy port, Optional",
18+
" --export_vurl URL Export service's vURL, Optional",
19+
" --turnon_timer 1 or 0 Turn on export service query timer, Optional",
20+
" --enable_export 1 or 0 Turn on export service, Optional",
21+
" --access_local 1 or 0 Local access on Export host, 1: allow, 0: deny, default deny it",
22+
" -k, --key User key Key for the registered user, MUST",
23+
" -s --secmode ssl or acl Secure mode: ssl or host-based ACL",
24+
" -u, --user USER User to drop privileges once server socket is bound, Optional",
25+
" -h, --help You're staring at it"
26+
].join('\n');
27+
28+
if (argv.h || argv.help || Object.keys(argv).length === 2) {
29+
return util.puts(help);
30+
}
31+
32+
var http_port = argv.http_port,
33+
socks_port = argv.socks_port,
34+
export_vurl = argv.export_vurl,
35+
enable_export = argv.enable || argv.enable_export,
36+
turnon_timer = argv.turnon || argv.turnon_timer,
37+
access_local = argv.access || argv.access_local,
38+
secmode = argv.s || argv.secmode,
39+
user = argv.u || argv.user,
40+
usrkey = argv.k || argv.key;
41+
42+
//
43+
// Check arguments
44+
//
45+
if (!(http_port || socks_port) && !enable_export) {
46+
http_port = 51866;
47+
socks_port = 51888;
48+
}
49+
50+
//
51+
// Create the server with the specified options
52+
//
53+
54+
// fill Export service's vURL as options.export
55+
var prxy = new Proxy({export: export_vurl, usrkey: usrkey,
56+
secmode: secmode, access_local: access_local}, function(err, proxy){
57+
if (err || !proxy) {
58+
console.log(err+',create proxy failed');
59+
return
60+
}
61+
var nmcln = prxy.nmcln;
62+
var importApp = proxy.importApp;
63+
var exportApp = proxy.exportApp;
64+
65+
// Import service ...
66+
if (socks_port || http_port) {
67+
// query available export service firstly
68+
prxy.queryExport(function(err, srv){
69+
if (err || !srv) {
70+
console.log('Warning: No available export service, please run export service in advance');
71+
} /*else*/ {
72+
///console.log('%d available export services', Object.keys(srv).length);
73+
74+
// start socks proxy service
75+
if (socks_port) {
76+
var socks = require('socks5');
77+
var sockspxySrv = socks.createServer(importApp.socksApp);
78+
79+
sockspxySrv.listen(socks_port);
80+
81+
sockspxySrv.on('error', function (e) {
82+
console.error('SERVER ERROR: %j', e);
83+
if (e.code == 'EADDRINUSE') {
84+
console.log('Address in use, retrying in 10 seconds...');
85+
setTimeout(function () {
86+
console.log('Reconnecting to %s:%s', HOST, PORT);
87+
sockspxySrv.close();
88+
sockspxySrv.listen(socks_port, 50);
89+
}, 10000);
90+
}
91+
});
92+
93+
console.log('Socks forward proxy server listen on port '+socks_port);
94+
console.log('You can set browser SOCKS proxy settings point to 127.0.0.1:'+socks_port);
95+
}
96+
97+
// start http proxy service
98+
if (http_port) {
99+
var http = require('http');
100+
var pxySrv = http.createServer();
101+
102+
pxySrv.on('request', importApp.httpApp.proxy);
103+
pxySrv.on('connect', importApp.httpApp.tunnel);
104+
105+
pxySrv.listen(http_port);
106+
107+
console.log('Http forwar proxy server listen on port '+http_port);
108+
console.log('You can set browser HTTP proxy settings point to 127.0.0.1:'+http_port);
109+
}
110+
111+
// turn on export service query timer
112+
if (turnon_timer) prxy.turnQuerytimer(true);
113+
}
114+
});
115+
116+
// query export service in case reconnection
117+
nmcln.on('reready', function(){
118+
prxy.queryExport(function(err, srv){
119+
if (err || !srv) {
120+
console.log('No available export service, please run export service in advance');
121+
} else {
122+
console.log('%d available export services', Object.keys(srv).length);
123+
}
124+
});
125+
});
126+
}
127+
128+
// Export service ...
129+
// start export service on name-client
130+
if (enable_export) {
131+
nmcln.bsrv.srv.on('request', exportApp.httpApp.proxy);
132+
nmcln.bsrv.srv.on('connect', exportApp.httpApp.tunnel);
133+
134+
console.log('Export service ready on vURL: '+nmcln.vurl+'\nUsrkey: '+nmcln.usrinfo.usrkey);
135+
136+
// report peer-service
137+
// like {vurl:x,cate:x,name:x,desc:x,tags:x,acls:x,accounting:x,meta:x}
138+
nmcln.reportService({
139+
vurl: nmcln.vurl,
140+
cate: 'forward-proxy-export',
141+
name: 'forward-proxy'
142+
});
143+
// re-report in case reconnection
144+
nmcln.on('reready', function(){
145+
nmcln.updateService({
146+
live: true,
147+
vurl: nmcln.vurl,
148+
cate: 'forward-proxy-export',
149+
name: 'forward-proxy'
150+
});
151+
});
152+
// turn on export service update timer
153+
if (turnon_timer) {
154+
var updateTimer = setInterval(function(){
155+
nmcln.updateService({
156+
live: true,
157+
vurl: nmcln.vurl,
158+
cate: 'forward-proxy-export',
159+
name: 'forward-proxy'
160+
});
161+
}, 166000); // every 3mins
162+
}
163+
}
164+
});
165+
166+
//
167+
// Drop privileges if requested
168+
//
169+
if (typeof user === 'string') {
170+
process.setuid(user);
171+
}
172+

demo/export.js

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
var Proxy = require('../proxy');
2-
3-
var srv = new Proxy(function(err, proxy){
4-
if (err || !proxy) {
5-
console.log(err+',create proxy failed');
6-
return
7-
}
8-
var nmcln = srv.nmcln;
9-
var exportApp = proxy.exportApp;
10-
11-
// hook export http app on name-client
12-
nmcln.bsrv.srv.on('request', exportApp.httpApp.proxy);
13-
nmcln.bsrv.srv.on('connect', exportApp.httpApp.tunnel);
14-
15-
console.log('Export service ready on vURL: '+nmcln.vurl+'\nUsrkey: '+nmcln.usrinfo.usrkey);
16-
});
1+
var Proxy = require('../proxy');
2+
3+
var srv = new Proxy(function(err, proxy){
4+
if (err || !proxy) {
5+
console.log(err+',create proxy failed');
6+
return
7+
}
8+
var nmcln = srv.nmcln;
9+
var exportApp = proxy.exportApp;
10+
11+
// hook export http app on name-client
12+
nmcln.bsrv.srv.on('request', exportApp.httpApp.proxy);
13+
nmcln.bsrv.srv.on('connect', exportApp.httpApp.tunnel);
14+
15+
console.log('Export service ready on vURL: '+nmcln.vurl+'\nUsrkey: '+nmcln.usrinfo.usrkey);
16+
});

0 commit comments

Comments
 (0)