1
0
mirror of https://github.com/alibaba/anyproxy.git synced 2025-05-10 06:48:26 +00:00

Merge pull request from alexyan/master

updates
This commit is contained in:
想当当 2014-09-06 10:49:16 +08:00
commit 8f53faea9f
5 changed files with 37 additions and 20 deletions

2
bin.js

@ -32,7 +32,7 @@ if(program.clear){
try{ //for abs path
ruleModule = require(program.rule);
}catch(e){ //for relative path
ruleModule = require("./" + program.rule);
ruleModule = require(process.cwd() + '/' + program.rule.replace(/^\.\//,''));
}
console.log(color.green("rule file loaded"));
}else{

@ -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();

@ -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;
}

@ -3,6 +3,7 @@ try{
GLOBAL.util = require('./lib/util');
GLOBAL.util['iconv-lite'] = require("iconv-lite");
GLOBAL.util['colorful'] = require("colorful");
GLOBAL.util['path'] = require("path");
}catch(e){}
var http = require('http'),
@ -19,6 +20,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 +33,18 @@ var T_TYPE_HTTP = 0,
DEFAULT_HOST = "localhost",
DEFAULT_TYPE = T_TYPE_HTTP;
var default_rule = require('./lib/rule_default');
var anyproxyHome = path.join(util.getUserHome(),"/.anyproxy/");
if(!fs.existsSync(anyproxyHome)){
fs.mkdirSync(anyproxyHome);
}
if(fs.existsSync(path.join(anyproxyHome,"rule_default.js"))){
default_rule = require(path.join(anyproxyHome,"rule_default"));
}
if(fs.existsSync(process.cwd() + '/rule.js')){
default_rule = require(process.cwd() + '/rule');
}
//option
//option.type : 'http'(default) or 'https'
//option.port : 8001(default)
@ -43,7 +57,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;

File diff suppressed because one or more lines are too long