mirror of
https://github.com/alibaba/anyproxy.git
synced 2025-08-04 21:39:04 +00:00
improve https support on Windows
This commit is contained in:
@@ -9,16 +9,16 @@ var exec = require('child_process').exec,
|
||||
logUtil = require("./log"),
|
||||
asyncTask = require("async-task-mgr");
|
||||
|
||||
//TODO : unstable in windows
|
||||
var certDir = path.join(util.getUserHome(),"/.anyproxy_certs/"),
|
||||
var isWin = /^win/.test(process.platform);
|
||||
certDir = path.join(util.getUserHome(),"/.anyproxy_certs/"),
|
||||
cmdDir = path.join(__dirname,"..","./cert/"),
|
||||
cmd_genRoot = path.join(cmdDir,"./gen-rootCA"),
|
||||
cmd_genCert = path.join(cmdDir,"./gen-cer"),
|
||||
cmd_genRoot = isWin ? path.join(cmdDir,"./gen-rootCA.cmd") : path.join(cmdDir,"./gen-rootCA"),
|
||||
cmd_genCert = isWin ? path.join(cmdDir,"./gen-cer.cmd") : path.join(cmdDir,"./gen-cer"),
|
||||
createCertTaskMgr = new asyncTask();
|
||||
|
||||
if(!fs.existsSync(certDir)){
|
||||
try{
|
||||
fs.mkdirSync(certDir,0777); //may fail in windows
|
||||
fs.mkdirSync(certDir,0777);
|
||||
}catch(e){
|
||||
logUtil.printLog("===========", logUtil.T_ERR);
|
||||
logUtil.printLog("failed to create cert dir ,please create one by yourself - " + certDir, logUtil.T_ERR);
|
||||
@@ -70,9 +70,14 @@ function createCert(hostname,callback){
|
||||
}
|
||||
|
||||
function clearCerts(cb){
|
||||
exec("rm *.key *.csr *.crt",{cwd : certDir},cb);
|
||||
if(isWin){
|
||||
exec("del * /q",{cwd : certDir},cb);
|
||||
}else{
|
||||
exec("rm *.key *.csr *.crt",{cwd : certDir},cb);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function isRootCAFileExists(){
|
||||
var crtFile = path.join(certDir,"rootCA.crt"),
|
||||
keyFile = path.join(certDir,"rootCA.key");
|
||||
@@ -119,7 +124,9 @@ function generateRootCA(){
|
||||
logUtil.printLog(color.green("temp certs cleared"));
|
||||
|
||||
var spawnSteam = spawn(cmd_genRoot,['.'],{cwd:certDir,stdio: 'inherit'});
|
||||
|
||||
spawnSteam.on('close', function (code) {
|
||||
|
||||
if(code == 0){
|
||||
logUtil.printLog(color.green("rootCA generated"));
|
||||
logUtil.printLog(color.green(color.bold("please trust the rootCA.crt in " + certDir)));
|
||||
|
||||
Reference in New Issue
Block a user