diff --git a/lib/requestHandler.js b/lib/requestHandler.js index ff1e885..03e6640 100644 --- a/lib/requestHandler.js +++ b/lib/requestHandler.js @@ -274,6 +274,7 @@ function connectReqHandler(req, socket, head){ //find port function(callback){ + if(shouldIntercept){ //TODO : remote port other than 433 httpsServerMgrInstance.fetchPort(host,userRequestHandler,function(err,port){ diff --git a/package.json b/package.json index dde3930..0e45499 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "anyproxy", - "version": "2.8.7", + "version": "2.8.8", "description": "A fully configurable proxy in NodeJS, which can handle HTTPS requests perfectly.", "main": "proxy.js", "bin": { @@ -33,7 +33,8 @@ "socks5-http-client": "^0.1.6", "socks5-https-client": "^0.2.2", "http-proxy-agent":"^0.2.6", - "https-proxy-agent":"^0.3.5" + "https-proxy-agent":"^0.3.5", + "tcp-ping":"^0.1.1" }, "repository": { "type":"git", diff --git a/proxy.js b/proxy.js index 3a17bb5..bb0f355 100644 --- a/proxy.js +++ b/proxy.js @@ -10,10 +10,10 @@ try{ GLOBAL.util['mysql'] = require('mysql'); GLOBAL.util['Socks5ClientHttpAgent'] = require('socks5-http-client/lib/Agent'); GLOBAL.util['Socks5ClientHttpsAgent'] = require('socks5-https-client/lib/Agent'); - GLOBAL.util['HttpProxyAgent'] = require("http-proxy-agent"); - GLOBAL.util['HttpsProxyAgent'] = require("https-proxy-agent"); - - + GLOBAL.util['HttpProxyAgent'] = require('http-proxy-agent'); + GLOBAL.util['HttpsProxyAgent'] = require('https-proxy-agent'); + GLOBAL.util['tcp-ping'] = require('tcp-ping'); + GLOBAL.util['async'] = require('async'); }catch(e){} var http = require('http'), @@ -150,8 +150,15 @@ function proxyServer(option){ //TODO : uncaught exception //kill web server when father process exits - process.on("exit uncaughtException",function(){ + process.on("exit",function(code){ child_webServer.kill(); + console.log('AnyProxy is about to exit with code:', code); + process.exit(); + }); + + process.on("uncaughtException",function(err){ + child_webServer.kill(); + console.log('Caught exception: ' + err); process.exit(); });