allproxy
Version:
AllProxy: MITM HTTP Debugging Tool.
70 lines • 2.9 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const interceptors_1 = require("./interceptors");
const Paths_1 = __importDefault(require("./Paths"));
const browsers_1 = require("./interceptors/browsers");
const GenerateCertKey_1 = require("./GenerateCertKey");
let config;
let interceptors;
class BrowserLauncher {
static init() {
config = getConfig();
interceptors = (0, interceptors_1.buildInterceptors)(config);
}
static detect() {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve) => {
(0, browsers_1.getAvailableBrowsers)(config.configPath)
.then((browsers) => {
const terminal = interceptors['fresh-terminal'];
if (terminal) {
browsers.push({
profile: 'terminal',
type: 'terminal',
name: 'terminal',
command: 'tbd',
version: 'unknown',
});
}
//console.log(browsers);
resolve(browsers);
});
});
});
}
static launch(browser) {
const name = browser.type.replace('msedge', 'edge');
const id = 'fresh-' + name;
const interceptor = interceptors[id];
interceptor.activate(8888);
}
static shutdown() {
(0, interceptors_1.shutdownInterceptors)(Object.values(interceptors));
}
}
exports.default = BrowserLauncher;
function getConfig() {
return {
configPath: Paths_1.default.getDataDir(),
authToken: undefined,
https: {
keyPath: Paths_1.default.keysDirAndSlash() + 'ca.private.key',
certPath: Paths_1.default.certsDirAndSlash() + 'ca.pem',
certContent: (0, GenerateCertKey_1.getCertContent)(),
keyLength: 2048,
}
};
}
//# sourceMappingURL=BrowserLauncher.js.map