diff --git a/lib/certMgr.js b/lib/certMgr.js index 686065e..8e048b9 100644 --- a/lib/certMgr.js +++ b/lib/certMgr.js @@ -5,9 +5,10 @@ var exec = require('child_process').exec, os = require("os"), color = require('colorful'), readline = require('readline'), + util = require('./util'), asyncTask = require("async-task-mgr"); -var certDir = path.join(getUserHome(),"/.anyproxy_certs/"), +var certDir = path.join(util.getUserHome(),"/.anyproxy_certs/"), cmdDir = path.join(__dirname,"..","./cert/"), asyncTaskMgr = new asyncTask(); @@ -37,10 +38,6 @@ function getCertificate(hostname,cb){ } } -function getUserHome() { - return process.env.HOME || process.env.HOMEPATH || process.env.USERPROFILE; -} - function createCert(hostname,callback){ console.log(hostname); checkRootCA(); diff --git a/lib/util.js b/lib/util.js index 8f58988..ce4a315 100644 --- a/lib/util.js +++ b/lib/util.js @@ -18,3 +18,8 @@ module.exports.merge = function(baseObj, extendObj){ return baseObj; } + +module.exports.getUserHome = function(){ + return process.env.HOME || process.env.HOMEPATH || process.env.USERPROFILE; +} + diff --git a/proxy.js b/proxy.js index 42b5303..5343cbe 100644 --- a/proxy.js +++ b/proxy.js @@ -19,6 +19,7 @@ var http = require('http'), util = require("./lib/util"), entities = require("entities"), express = require("express"), + path = require("path"), WebSocketServer= require('ws').Server; GLOBAL.recorder = new Recorder(); @@ -31,6 +32,11 @@ var T_TYPE_HTTP = 0, DEFAULT_HOST = "localhost", DEFAULT_TYPE = T_TYPE_HTTP; +var default_rule = require('./lib/rule_default'); +if(fs.existsSync(path.join(util.getUserHome(),"/.anyproxy/rule_default.js"))){ + default_rule = require(path.join(util.getUserHome(),"/.anyproxy/rule_default")); +} + //option //option.type : 'http'(default) or 'https' //option.port : 8001(default) @@ -43,7 +49,7 @@ function proxyServer(option){ proxyType = /https/i.test(option.type || DEFAULT_TYPE) ? T_TYPE_HTTPS : T_TYPE_HTTP , proxyPort = option.port || DEFAULT_PORT, proxyHost = option.hostname || DEFAULT_HOST, - proxyRules = option.rule || require('./lib/rule_default'); + proxyRules = option.rule || default_rule; requestHandler.setRules(proxyRules); //TODO : optimize calling for set rule self.httpProxyServer = null;