keys, add a generator for keys, reflect dmbackend changes, change some of the proxy
This commit is contained in:
parent
946197c63e
commit
56fc38eb5d
@ -4,83 +4,28 @@ const path = require('path');
|
|||||||
const express = require('express');
|
const express = require('express');
|
||||||
|
|
||||||
const url = require('url');
|
const url = require('url');
|
||||||
const child_proc = require('child_process');
|
|
||||||
const fs = require('fs');
|
|
||||||
const state = { pid: null };
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param {import("../../proxy").FilterInfo} f
|
|
||||||
*/
|
|
||||||
function filter(f) {
|
|
||||||
console.log("hi");
|
|
||||||
if (f.tls) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
async function startServerIfNeeded() {
|
|
||||||
return; // run the python3 srv manually for now
|
|
||||||
let realpath = path.resolve('.', 'dmbackend', 'start_server.sh')
|
|
||||||
let prc = child_proc.spawn("/bin/bash", [path.resolve('.', 'dmbackend', 'start_server.sh'), realpath], {stdio: "pipe"});
|
|
||||||
let wstream = fs.createWriteStream("./int_server.log");
|
|
||||||
let pidPath = path.resolve(path.dirname(realpath), "pid");
|
|
||||||
try {
|
|
||||||
fs.rmSync(pidPath);
|
|
||||||
} catch {};
|
|
||||||
prc.stdout.pipe(wstream);
|
|
||||||
|
|
||||||
prc.stderr.pipe(wstream);
|
|
||||||
// prc.stdout.once("data", async (c) => {
|
|
||||||
// let pid = 0;
|
|
||||||
// console.log("Started as PID: "+ (pid = parseInt(c.toString('utf-8').split("Server PID: ")[1].split('\n')[0])));
|
|
||||||
// state.pid = pid;
|
|
||||||
let buffer = null;
|
|
||||||
while (true) {
|
|
||||||
if ((buffer = await new Promise((resolve)=>{
|
|
||||||
fs.readFile(pidPath, (err, data)=>{
|
|
||||||
if (err)
|
|
||||||
resolve(null);
|
|
||||||
else {
|
|
||||||
resolve(data);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}))) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
state.pid = parseInt(buffer.toString('utf-8'));
|
|
||||||
|
|
||||||
await new Promise((resolve)=>setTimeout(resolve, 200));
|
|
||||||
// })
|
|
||||||
console.log("Started internal server with pid of: " + state.pid);
|
|
||||||
}
|
|
||||||
const app = express();
|
const app = express();
|
||||||
app.post("/*", async function (req, res) {
|
app.post("/*", async function (req, res) {
|
||||||
console.log("Reading a post request")
|
console.log("Reading a post request")
|
||||||
console.log(req.header('Content-Length'));
|
|
||||||
var a = parseInt(req.header('Content-Length'))
|
var a = parseInt(req.header('Content-Length'))
|
||||||
const dat = Buffer.alloc(a);
|
const dat = Buffer.alloc(a);
|
||||||
var ptr = 0;
|
var ptr = 0;
|
||||||
async function handle() {
|
async function handle() {
|
||||||
console.log("handling: " + url.parse(req.url).search);
|
|
||||||
try {
|
try {
|
||||||
// console.log(new URL(req.path).search);
|
|
||||||
fetch = (await import('node-fetch')).default;
|
fetch = (await import('node-fetch')).default;
|
||||||
await startServerIfNeeded();
|
|
||||||
|
|
||||||
const resFromRev = await fetch('http://127.0.0.1:3040/' + url.parse(req.url).search, {
|
const resFromRev = await fetch('http://127.0.0.1:3040/' + url.parse(req.url).search, {
|
||||||
body: dat,
|
body: dat,
|
||||||
"headers": req.headers,
|
"headers": req.headers,
|
||||||
method: "POST"
|
method: "POST"
|
||||||
});
|
});
|
||||||
// console.log(resFromRev.data);
|
|
||||||
res.header('Content-Type', 'application/x-protobuffer');
|
res.header('Content-Type', 'application/x-protobuffer');
|
||||||
res.writeHead(resFromRev.status, resFromRev.statusText);
|
res.writeHead(resFromRev.status, resFromRev.statusText);
|
||||||
res.end(new Uint8Array((await resFromRev.arrayBuffer())));
|
res.end(new Uint8Array((await resFromRev.arrayBuffer())));
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
if (!e.response) {
|
if (!e.response) {
|
||||||
console.log("Error occured here without a response. Weird.");
|
console.error("An error occurred contacting dmbackend! Make sure you're running it!");
|
||||||
console.log(e);
|
console.error(e);
|
||||||
res.writeHead(500, 'Internal server error');
|
res.writeHead(500, 'Internal server error');
|
||||||
res.end('An error has occured');
|
res.end('An error has occured');
|
||||||
return;
|
return;
|
||||||
@ -109,6 +54,18 @@ app.get('/*', (req, res) => {
|
|||||||
res.writeHead(200, "OK");
|
res.writeHead(200, "OK");
|
||||||
res.end("OK");
|
res.end("OK");
|
||||||
})
|
})
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param {import("../../proxy").FilterInfo} f
|
||||||
|
*/
|
||||||
|
function filter(f) {
|
||||||
|
if (f.tls) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param {import("../../proxy").ServerConfig} config
|
* @param {import("../../proxy").ServerConfig} config
|
||||||
@ -116,9 +73,8 @@ app.get('/*', (req, res) => {
|
|||||||
*/
|
*/
|
||||||
function proxy(config, sock) {
|
function proxy(config, sock) {
|
||||||
const ms = handlers.getMiniServer(function (req, res) {
|
const ms = handlers.getMiniServer(function (req, res) {
|
||||||
// console.log(req);
|
|
||||||
app(req, res);
|
app(req, res);
|
||||||
}, path.resolve(__dirname, "public", "m.google.com.pem"), path.resolve(__dirname, "public", "m.google.com.key"))
|
}, path.resolve(__dirname, "public", "google.com.pem"), path.resolve(__dirname, "public", "google.com.key"))
|
||||||
|
|
||||||
const socks = net.createConnection({
|
const socks = net.createConnection({
|
||||||
host: "127.0.0.1",
|
host: "127.0.0.1",
|
||||||
@ -127,7 +83,6 @@ function proxy(config, sock) {
|
|||||||
sock.write('HTTP/1.1 200 OK\r\n\n');
|
sock.write('HTTP/1.1 200 OK\r\n\n');
|
||||||
sock.pipe(socks);
|
sock.pipe(socks);
|
||||||
socks.pipe(sock);
|
socks.pipe(sock);
|
||||||
// sock.write('HTTP/1.1 200 OK\r\n\n');
|
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -5,4 +5,4 @@ keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
|
|||||||
subjectAltName = @alt_names
|
subjectAltName = @alt_names
|
||||||
|
|
||||||
[alt_names]
|
[alt_names]
|
||||||
DNS.1 = m.google.com
|
DNS.1 = *.google.com
|
||||||
|
52
configs/m.google.com/public/google.com.key
Normal file
52
configs/m.google.com/public/google.com.key
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQCq8oBxC2voYn6E
|
||||||
|
/l3IrjcavzPq/jdoj0L9BYaP9EckJWOws/hdX8Ei6UYGwn5PbjGZ3WOYV2paToPa
|
||||||
|
LjfSEB+RyhxAxgoDyu54rZGSSPtKKtNvkmE6u2xHyEGo0XMGQMmYa46M5sF46NDP
|
||||||
|
mxsJ/7f+x4Y6vFa8vYftk1Xxgv9q8jHf36kGGPiRpAW89fVrJhzB2E24L618T3Vm
|
||||||
|
NFpK8UdO/8ur8+7gV9dYlvgJLgEl88UfGrQLMPsJV+1bOnnVVQRrFrAwnXsNtjUN
|
||||||
|
KZn3XZDtosdW3CxPc+np8osD1EJt322DLxqIbP+pWJiUE0FzIOwPePlYtdUU6hWd
|
||||||
|
aCkVeKrM3R/ppyx0hFf9BTTbKqS6ilY2S3+lmRFQdBmBNISveRhFCdkuNUwxwncI
|
||||||
|
rjQbvC088IiKGl6+ACr91Q0cnUQkzB7Tzwa3HwdZC8NkAgimTLpqkzUJUBF5OtiI
|
||||||
|
qKLb3BZ47VKX5ll6E9kwCAtMuLUi0pNHiyH5/JB9QFbm4WjPX/WfDKgTpsEUHBwc
|
||||||
|
qIjWybiq1vMxqcrOfv6eY45MdKWmdbJzMWuaMca2HCSVyASdwA9l0FWfgLp3IAnH
|
||||||
|
UuKUN/1XRwuwWVuLc0HxQVxlyIixpaphNO8qXmH0Sg9BSNS9b25RJbo3BEldqcN+
|
||||||
|
SPvwR6DM/otRZReA35IRgcwuhhKW+QIDAQABAoICAA16HFetMZbqyvQztJOZboU4
|
||||||
|
jUCJxbcD0mFtwdfQB5rJKtSXv60m2yxkLS3jv/8Fnjn16v/r5lnTxk/ZZHO2azK8
|
||||||
|
dyFBK7F0WnwfnPImOE921F//r5QoigcXudt0Fcgoq+wNELo5iAe+/RVc8lMFus0G
|
||||||
|
kGXJiuIK5DA99SDa9cWJ7hYrBSGSrugWgRBOaMiHgu1iXvA2LAx4nDYQSw0M/BT1
|
||||||
|
lCpMiyjbLAJTNp9MpfEGyKPk4Exgkm4AZVlToR7JOtWxfnb6t2STmJeez8FhekdN
|
||||||
|
1b7akVC7P/X+dei5n3oXiwP0Xvhh9X71mePUp8yKjCnFHQ1aGoAxWz5jY5fKgVaP
|
||||||
|
n7PbZhEr424Py26rIoLC1ZGu/qWxDiFw0RNX02hnHe/xW/9dPmDxd+hQNrDoKn0S
|
||||||
|
owMRtEBfTy80vpheeLvBd9htRfOg66miZjobSv45JqxgfECvTn68Yb+g4iSUDOlq
|
||||||
|
E9igQlZwAJU+4sqvmIx4fASc91qbcB0U7DHJ2B5CUvRxY6Ry0ghBnT9jb3rEID7O
|
||||||
|
0k0vUAKGreoYOgnExyQcLhDEnZTtXmqqiZpY5U4FfWLuv5ebvuRYMZKTW3SEvkV5
|
||||||
|
74Ig6tGoF3HvOGdlKfZpObqcPtzmLjHf9AsKjKFpZyilLV9jXH/XmvqFGd4joYXS
|
||||||
|
JXykGN8m7X9A+I/NSppdAoIBAQDr/c9NeJlSsMUQtjubw01xTkeoJp5gVhZqBtZ7
|
||||||
|
xfhs8aEZ7xlQ1euIgAxN9PjghW2i79rhQFRLw5QblPRqehvYZYKgFqEHmYB9TOmn
|
||||||
|
h7Lej9Uaik7v413fC2iEfBrNt1LskIj8ofa8MSwCKdp9f0co2PJkFo58NCpyGmMG
|
||||||
|
8s2PHKMbzeLhdCckB7PSWkKNyTdHAhhNwD5/hFhR3RbMbrXdwnFK/t+k8Gw3MxjQ
|
||||||
|
crVl1T6vb5aJ0lBxZBo1KeZ3sodV2TWUfkyT0pl9oMk6ul/tFn4nwMpEawscsALo
|
||||||
|
/pWGZfP4dXAW4eQKkNjmRt/9gFhQgc/KAOCSAcY7AGb5CKHtAoIBAQC5cOjJEITl
|
||||||
|
iwdJx1k8ANtceUJO86tc3EAZYd+IKdzdCgLkjv1blk9Zy0uyFi3aL8gDbo8OV+WO
|
||||||
|
6xwWQc9hi27GVVKp9UgBMUvJ6hWlpmujVgX5QuFXiZtVb2fhLKPJ6Oel2Z7UwpCX
|
||||||
|
iNaHBksuVCpeIZXAP1RsK+PEhhUv2TVo/DlZtAJ+vuTJVNVpPuhJUAkLRdAPhItU
|
||||||
|
w61hl/DIXPLIT+J0A6+KZ5KlE1W5tvLUXdS5ZHZ5AaOM30lnscXiJMYME9f1laIe
|
||||||
|
/LA8af0Ru8KLP0FhBFoUSWFMSzbdApCaSSH2lGJokpvKyKhUZ+5P9yKuvYXv43GN
|
||||||
|
aSR4UMny6de9AoIBAQCHBrAoSYqgr5fx2fL9Sp/y5rFFWuNfh6JHhCYQp9NeslpV
|
||||||
|
NmMrx1p+vZVMvY/xFycGBWsdWutgdkU2CuJWUgvAo0Q8SPZWHNRR3UILoy8K/Q0X
|
||||||
|
pG9J/rPlPOfOdhv3/J6r0H8w3ZMJVrExg7UJ/Vs/2fHGpslb85UduE9U2HQZIG+L
|
||||||
|
JyBbk1QZ33ZaM17FNY41SNOTGR4pZBYMsQ2sZuQUQH8GRBK+kvm4E7ps+lUkMQEu
|
||||||
|
7BAcR4PTfU0pghHmBvY8fo2TqzgxlFxSbz70JVNhmm8QW9TflMfE4Eip+5CeV5Ni
|
||||||
|
Y/+AeDs8eGhCSec7asYdOkkj8aCMqgs8ExzX/MJ5AoIBAHbjxcsKtTl5bh3GGhbX
|
||||||
|
McxSzclSfd4WM15Smn5w4HIydfJVHmg2sP8P0KMHhzQoiCJzInJ+teVwJNy8KpoO
|
||||||
|
S+IKV+oxII3rLfzxABno3X+lqkTJtTFrPtSCjWYXOZc8pC93m1Yqu4r7pxaAWXkF
|
||||||
|
avhYrerIb3a+mNOpZzH7HzwE4Tv6pdLezk2p/vzv4PsHvhSlGKSqRK3+mk1EnZHH
|
||||||
|
zbvRQ40/w66HgsQk5kQf4AV5duW5XB9uho3NpgE+P3EiRHr/yehgm8UkGlVRWneh
|
||||||
|
GjQuRNtPb/Urqp7AZhdCCrVwB79QGNuUix9ykEE1NNu9xVWkmpdXCbkw3Lnqid8c
|
||||||
|
Pz0CggEBAIKD4Ae5mNwbWGzyhf+VLFiDlzwCP2K7H9LwQwe0XN4XMkFMkSfwrzig
|
||||||
|
O9iXh0FlFrmE7+ghKYIcmiDRVZi+zcPSUQx9XP4pc92dpNOXzAhvk2p3OBBeYw26
|
||||||
|
fQfonHVupRm5OIjLY250bua7a5InzzVRAsrMYZKu0WDM2hDlQTpXQhcOTuz5JREi
|
||||||
|
EcreB/PpzEBoLh4DiqQo5VVEuCISF7yxIvTWdMRD35h/P+8CQ9Nvwb96+/05uCc7
|
||||||
|
XNAgtoz1DtobHB5Mi6o2OuIXPpm6eKK6ZSBLXErSHLIlMPt9uqO2j2DHLnkmczBx
|
||||||
|
e9TsgkQSEc2ZAhsTLTdGxMI9X0ClKVU=
|
||||||
|
-----END PRIVATE KEY-----
|
28
configs/m.google.com/public/google.com.pem
Normal file
28
configs/m.google.com/public/google.com.pem
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIE1zCCA7+gAwIBAgIUFojjiuY1jmg87Pkkqfnl35KEHVMwDQYJKoZIhvcNAQEL
|
||||||
|
BQAwaTELMAkGA1UEBhMCVVMxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
|
||||||
|
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEiMCAGCSqGSIb3DQEJARYTa3h0em93
|
||||||
|
bnN1QGdtYWlsLmNvbTAeFw0yNTAzMDcwNDMxNDNaFw0yNTA0MDYwNDMxNDNaMG0x
|
||||||
|
CzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdQUklWQVRFMRAwDgYDVQQHDAdQUklWQVRF
|
||||||
|
MREwDwYDVQQKDAhTdWNjZXNzITEQMA4GA1UECwwHU3VjY2VzczEVMBMGA1UEAwwM
|
||||||
|
Ki5nb29nbGUuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqvKA
|
||||||
|
cQtr6GJ+hP5dyK43Gr8z6v43aI9C/QWGj/RHJCVjsLP4XV/BIulGBsJ+T24xmd1j
|
||||||
|
mFdqWk6D2i430hAfkcocQMYKA8rueK2Rkkj7SirTb5JhOrtsR8hBqNFzBkDJmGuO
|
||||||
|
jObBeOjQz5sbCf+3/seGOrxWvL2H7ZNV8YL/avIx39+pBhj4kaQFvPX1ayYcwdhN
|
||||||
|
uC+tfE91ZjRaSvFHTv/Lq/Pu4FfXWJb4CS4BJfPFHxq0CzD7CVftWzp51VUEaxaw
|
||||||
|
MJ17DbY1DSmZ912Q7aLHVtwsT3Pp6fKLA9RCbd9tgy8aiGz/qViYlBNBcyDsD3j5
|
||||||
|
WLXVFOoVnWgpFXiqzN0f6acsdIRX/QU02yqkuopWNkt/pZkRUHQZgTSEr3kYRQnZ
|
||||||
|
LjVMMcJ3CK40G7wtPPCIihpevgAq/dUNHJ1EJMwe088Gtx8HWQvDZAIIpky6apM1
|
||||||
|
CVAReTrYiKii29wWeO1Sl+ZZehPZMAgLTLi1ItKTR4sh+fyQfUBW5uFoz1/1nwyo
|
||||||
|
E6bBFBwcHKiI1sm4qtbzManKzn7+nmOOTHSlpnWyczFrmjHGthwklcgEncAPZdBV
|
||||||
|
n4C6dyAJx1LilDf9V0cLsFlbi3NB8UFcZciIsaWqYTTvKl5h9EoPQUjUvW9uUSW6
|
||||||
|
NwRJXanDfkj78EegzP6LUWUXgN+SEYHMLoYSlvkCAwEAAaNzMHEwHwYDVR0jBBgw
|
||||||
|
FoAUU+Xro0BksO2pSLsCaQ7l3/KBOlowCQYDVR0TBAIwADALBgNVHQ8EBAMCBPAw
|
||||||
|
FwYDVR0RBBAwDoIMKi5nb29nbGUuY29tMB0GA1UdDgQWBBQYYuv4F2n1R0YkrFaP
|
||||||
|
t6EbgaqRjzANBgkqhkiG9w0BAQsFAAOCAQEAjMFFuLGT/4Jw/6kn3WHwnSx5ejGw
|
||||||
|
Zz0Nzw2WXrnJPsoLsXbN2Ky6UO6v7s1/15Mu47o1a96d7k1E1uiBU4L9QJeydCi4
|
||||||
|
fEz5cYse11MRT0mjAKVcHOiC3rb+gbB3j+n07AuSm1c705aTpm9gyLlJYtlu7kBz
|
||||||
|
VNKx/3uLjmg6TY5VR1ndgJ7ekgwI8/1Y1AYCbBE0n2e35gFNMcUX3eTvc0rypRy4
|
||||||
|
qWVE5//yKqE2NKxbqyAiGMrWxDalPeHzBD3r8eBFCwJMnpjj/aFwT5kptCSNM1ld
|
||||||
|
8SNhqySAwaoRZk9WUTQgw+2aSozqmV/Cz/yROCeJJLDJOiohvnHOcaW1gA==
|
||||||
|
-----END CERTIFICATE-----
|
@ -1,28 +1,28 @@
|
|||||||
-----BEGIN CERTIFICATE REQUEST-----
|
-----BEGIN CERTIFICATE REQUEST-----
|
||||||
MIIEsjCCApoCAQAwbTELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB1BSSVZBVEUxEDAO
|
MIIEsjCCApoCAQAwbTELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB1BSSVZBVEUxEDAO
|
||||||
BgNVBAcMB1BSSVZBVEUxETAPBgNVBAoMCFN1Y2Nlc3MhMRAwDgYDVQQLDAdTdWNj
|
BgNVBAcMB1BSSVZBVEUxETAPBgNVBAoMCFN1Y2Nlc3MhMRAwDgYDVQQLDAdTdWNj
|
||||||
ZXNzMRUwEwYDVQQDDAxtLmdvb2dsZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC
|
ZXNzMRUwEwYDVQQDDAwqLmdvb2dsZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC
|
||||||
DwAwggIKAoICAQCd9Ui1xoBgnZLvmgLuJPXiXM4/LfE9Y2jn271RgcD+NZOxc4Rt
|
DwAwggIKAoICAQCq8oBxC2voYn6E/l3IrjcavzPq/jdoj0L9BYaP9EckJWOws/hd
|
||||||
iGHOxYOaW7CDIwHcf4JDDAjj9WRZDxh4D36kmmz+56v/0U15yoLqv9LGiPuJjyfA
|
X8Ei6UYGwn5PbjGZ3WOYV2paToPaLjfSEB+RyhxAxgoDyu54rZGSSPtKKtNvkmE6
|
||||||
aZbmNbfDznKrzxTg20NCH9Zr4i7VHT7DPgY1wu75Hh++7JZx4sbnXdGzTn+p2xT6
|
u2xHyEGo0XMGQMmYa46M5sF46NDPmxsJ/7f+x4Y6vFa8vYftk1Xxgv9q8jHf36kG
|
||||||
J9/zc9nLN9EkFbcR2GdetTGZn7EwjZMNmvceENXtZQw2r0zjwgw1d/Xx9Cenaxmj
|
GPiRpAW89fVrJhzB2E24L618T3VmNFpK8UdO/8ur8+7gV9dYlvgJLgEl88UfGrQL
|
||||||
aHgn64ojp22kL969rUITMp6MKNuM20/8+gnCaAXtCeqHvFjRThdA97q3z1e2YoBR
|
MPsJV+1bOnnVVQRrFrAwnXsNtjUNKZn3XZDtosdW3CxPc+np8osD1EJt322DLxqI
|
||||||
KdOEqv2gjQQFxqUegdGxxonQ5KPsGTl+BaLohVDqTzgvepFYJp/YI7OAEY/3I3WZ
|
bP+pWJiUE0FzIOwPePlYtdUU6hWdaCkVeKrM3R/ppyx0hFf9BTTbKqS6ilY2S3+l
|
||||||
iR7nEYWZ/pn103spzRgseN4rzKGC1qpJBRzeEdZuobY+uW5413JVRyJgHsVCMc7z
|
mRFQdBmBNISveRhFCdkuNUwxwncIrjQbvC088IiKGl6+ACr91Q0cnUQkzB7Tzwa3
|
||||||
xiZvRp5V0UFbiaeEGavzpjv5bWYTN0yE5L4lJmvSpU/1AM6Wo9pM2himQFujX46k
|
HwdZC8NkAgimTLpqkzUJUBF5OtiIqKLb3BZ47VKX5ll6E9kwCAtMuLUi0pNHiyH5
|
||||||
Dp0uPcDJR+qjuTNZbYS3bL+rYlgUgA1vBFifCHelQd1DMRfMj/GBRLOifzwmpj5l
|
/JB9QFbm4WjPX/WfDKgTpsEUHBwcqIjWybiq1vMxqcrOfv6eY45MdKWmdbJzMWua
|
||||||
Vg8Bqb6eT5AoWy4yiWqG9q3XD3Wk53ifDtmJmg9L9RncbCQb/zNobUPQ8vWN5UtK
|
Mca2HCSVyASdwA9l0FWfgLp3IAnHUuKUN/1XRwuwWVuLc0HxQVxlyIixpaphNO8q
|
||||||
WT49b4vlgcIRWOYahcGMEwb8A2vh/hQxEuY2O3BlH25vnqbVLFmRH/aYhwIDAQAB
|
XmH0Sg9BSNS9b25RJbo3BEldqcN+SPvwR6DM/otRZReA35IRgcwuhhKW+QIDAQAB
|
||||||
oAAwDQYJKoZIhvcNAQELBQADggIBAAOlpZyQ3pyjjGlouXB+ZGzyDNfuNNWTlFAE
|
oAAwDQYJKoZIhvcNAQELBQADggIBAA8R4VT3DD11V7foSXyqlegK6+tZcHissbUj
|
||||||
WX6YbqpCCwf2/mzafkzWCPMOxoXlIWSltu2fCXW/nOc9bdOD3VZMbHlsCHJ4NbVi
|
h8gqOiA+z3qML/5Xe9JODxBvBysZWKtQq8PCKeLwfM4NO+Z709jTRbN4kTf+aFVh
|
||||||
KkzxQfOWTuLuKB1l2wx9iQH/INVCunJ/RfXkPsLTENY8P+NzPXYL/7FmPV1ytHyi
|
d+Kjy4PcFzzVhqFnZSqeYrDpRvFGdRNMFQ+smX4bl4R3f1dJI0ewnPfdVp5ihp5X
|
||||||
OZGKyt/KcChbce0kJRU4f3CKDxCechIlWjR+TkZnfcliLhlBDvpqhd94Rk8NC/Uo
|
EMNrvelyv3BAb/LQHz0LZko5hAh8JsjAQmJWIgttpGApRj0C3xBuA3gbUxdEHw4z
|
||||||
X8dD+h8l3Qh3NnfJDOHm6EwUBL3ontKisMl1Mqx99ssb9sc6X8w5jGPFbV3RvrEW
|
YdaTo2+AzfJdGsks5MUIF1p7hRseE1hSPiBMIixaLURVaZsS7qHCJ8hV1VfJ+6wz
|
||||||
0WT9SoDpzVekRDBoD3BNB7PTTMlItsElaQjVFTD5AFTKAdl3Sp8F4BcyTS/tyG0u
|
P2uWZ5W1cvKJx/wRQoaLD8nHP576JnGjcOQQbPMn5lUA+88z6F7H0W92sbc/9k+R
|
||||||
k0fHJM+uPBzZqY3w7VvlT+fH+zsagvchhtOsAap9ZGwrY3p6vWkHAOEr4EDqIXvP
|
RkYMM8uwn+qO1bNYSDtWKoJSESU3tOdxEN1m3zh6E0JH7aDPI0t48oRGL91a86SL
|
||||||
7crDrtn+3unVAJ/O7w5Y/RFOJ0uRAxqxDIe66gF2y3Xnud5yATDJS0DD7Og0oIFp
|
QHyVxv4RsywiATcPlKgb0hUhu2iPMuAUN/rNk4YZpY+yPF2ZnfyyC8hGc8juyw1I
|
||||||
VMXxifBXm0gyr3IdIxwTXSOMnB1E7+s6gb94S2+Fg+jQOYJ4uvyQ6Q8ZRycKo7ti
|
nbXlDQCSD/wpuCmSaDOaaUsqXdO6tTTCCBMfhIjQ/otkeVu5MfRbrWof7MOtPgI/
|
||||||
5mHtSkAjtCPAOM/qI7tx9HoIGALJWvhN/sPIFouayoyASVmPYjyw53EVSM1IpnyY
|
zNNjDn6gyz+Wh5JXijY7MPoRfFf3AbPdHdhkMuaXvotPCJ8aZtcMAXJTQte4oS4r
|
||||||
h3gzsTkq5ph6gcEJtadDB59QxDFWCZ9rzxGYIyzu1CTXCFjbEWm2NawJ2BPV0ATS
|
0xGqpY3l8RK3B9uTgldHW+RTTgrXM4Nz6rrgZ5St7/hfBOXME/qQw3rAUupQ9cx2
|
||||||
sBQMfFPK
|
clcDRb8L
|
||||||
-----END CERTIFICATE REQUEST-----
|
-----END CERTIFICATE REQUEST-----
|
||||||
|
@ -1,52 +0,0 @@
|
|||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
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
|
|
||||||
xj6qlEywMIAEeK1z7/1AZaYI9QEm
|
|
||||||
-----END PRIVATE KEY-----
|
|
@ -1,28 +0,0 @@
|
|||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIE1zCCA7+gAwIBAgIUNnIeJFvWwsz4oPKi0Lw9dar0ao8wDQYJKoZIhvcNAQEL
|
|
||||||
BQAwaTELMAkGA1UEBhMCVVMxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
|
|
||||||
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEiMCAGCSqGSIb3DQEJARYTa3h0em93
|
|
||||||
bnN1QGdtYWlsLmNvbTAeFw0yNTAzMDYwNDU0MTNaFw0yNTA0MDUwNDU0MTNaMG0x
|
|
||||||
CzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdQUklWQVRFMRAwDgYDVQQHDAdQUklWQVRF
|
|
||||||
MREwDwYDVQQKDAhTdWNjZXNzITEQMA4GA1UECwwHU3VjY2VzczEVMBMGA1UEAwwM
|
|
||||||
bS5nb29nbGUuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnfVI
|
|
||||||
tcaAYJ2S75oC7iT14lzOPy3xPWNo59u9UYHA/jWTsXOEbYhhzsWDmluwgyMB3H+C
|
|
||||||
QwwI4/VkWQ8YeA9+pJps/uer/9FNecqC6r/Sxoj7iY8nwGmW5jW3w85yq88U4NtD
|
|
||||||
Qh/Wa+Iu1R0+wz4GNcLu+R4fvuyWceLG513Rs05/qdsU+iff83PZyzfRJBW3Edhn
|
|
||||||
XrUxmZ+xMI2TDZr3HhDV7WUMNq9M48IMNXf18fQnp2sZo2h4J+uKI6dtpC/eva1C
|
|
||||||
EzKejCjbjNtP/PoJwmgF7Qnqh7xY0U4XQPe6t89XtmKAUSnThKr9oI0EBcalHoHR
|
|
||||||
scaJ0OSj7Bk5fgWi6IVQ6k84L3qRWCaf2COzgBGP9yN1mYke5xGFmf6Z9dN7Kc0Y
|
|
||||||
LHjeK8yhgtaqSQUc3hHWbqG2PrlueNdyVUciYB7FQjHO88Ymb0aeVdFBW4mnhBmr
|
|
||||||
86Y7+W1mEzdMhOS+JSZr0qVP9QDOlqPaTNoYpkBbo1+OpA6dLj3AyUfqo7kzWW2E
|
|
||||||
t2y/q2JYFIANbwRYnwh3pUHdQzEXzI/xgUSzon88JqY+ZVYPAam+nk+QKFsuMolq
|
|
||||||
hvat1w91pOd4nw7ZiZoPS/UZ3GwkG/8zaG1D0PL1jeVLSlk+PW+L5YHCEVjmGoXB
|
|
||||||
jBMG/ANr4f4UMRLmNjtwZR9ub56m1SxZkR/2mIcCAwEAAaNzMHEwHwYDVR0jBBgw
|
|
||||||
FoAUU+Xro0BksO2pSLsCaQ7l3/KBOlowCQYDVR0TBAIwADALBgNVHQ8EBAMCBPAw
|
|
||||||
FwYDVR0RBBAwDoIMbS5nb29nbGUuY29tMB0GA1UdDgQWBBTrGcX8FBfmyS29nrgO
|
|
||||||
KKlccsReAjANBgkqhkiG9w0BAQsFAAOCAQEAV474BsHbYZxG6xEofY0lJAuA1p+R
|
|
||||||
dFIBYWp8Sk3cUtdY2Rn0wEfepxE07LgNC9tVPxXff3OXplHFmCGeXjKzk3UbiguD
|
|
||||||
lT+c2wyKEVgwm27ir7J825zTIHRH2sh0RXR7ZmTjLn222geV6RHGroZ6RZTF/qBc
|
|
||||||
LdfrmF9N4ogsnbBNoR8mDnNDx8l91ggB0GJkcWEIw9H9JGz3KMa7V/xNxPGRg4MT
|
|
||||||
hAoQmb5CisHSJwAvQGx2+NKRqx/HcHrjpTLEAMCYy4Z1aBoibzQsGaiYlcMO4XkD
|
|
||||||
HIluHsvWS9mel7gO4bkPguY8YW1LU3lNDYGfd4W+Qmj0Ec3dH8WYB5DE6g==
|
|
||||||
-----END CERTIFICATE-----
|
|
@ -1 +1 @@
|
|||||||
Subproject commit 605c336198ae7a430d3e1d71fbb998c63382c7b3
|
Subproject commit 7b077423c65a5e3a396287e5367e597592333708
|
@ -1,14 +1,20 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Arguments: <server address>
|
# Arguments: <server address>
|
||||||
DIR=.
|
SCRIPT_DIR=$(dirname "$0")
|
||||||
mkdir -p "$DIR"
|
SCRIPT_DIR=${SCRIPT_DIR:-"."}
|
||||||
SCRIPTDIR=$(dirname "$(readlink -f "$0")")
|
|
||||||
|
|
||||||
|
CA_PATH="${SCRIPT_DIR}/myCA"
|
||||||
|
|
||||||
openssl genrsa -out "$DIR/$1".key 4096
|
if [[ ! -f "$CA_PATH.pem" || ! -f "$CA_PATH.key" ]]; then
|
||||||
openssl req -new -key "$1".key -out "$DIR/in.csr" -subj "/C=US/ST=PRIVATE/L=PRIVATE/O=Success!/OU=Success/CN=$1"
|
echo "CA certificates missing!"
|
||||||
cat > "$DIR/extfile" <<EOF
|
echo "checked path: $CA_PATH.(pem/key)"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
openssl genrsa -out "$SCRIPT_DIR/$1".key 4096
|
||||||
|
openssl req -new -key "$1".key -out "$SCRIPT_DIR/in.csr" -subj "/C=US/ST=PRIVATE/L=PRIVATE/O=Success!/OU=Success/CN=$1"
|
||||||
|
cat > "$SCRIPT_DIR/extfile" <<EOF
|
||||||
|
|
||||||
authorityKeyIdentifier=keyid,issuer
|
authorityKeyIdentifier=keyid,issuer
|
||||||
basicConstraints=CA:FALSE
|
basicConstraints=CA:FALSE
|
||||||
@ -16,8 +22,7 @@ keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
|
|||||||
subjectAltName = @alt_names
|
subjectAltName = @alt_names
|
||||||
|
|
||||||
[alt_names]
|
[alt_names]
|
||||||
DNS.1 = $2
|
DNS.1 = $1
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
openssl x509 -req -out "$DIR/$1.pem" -CA "$SCRIPTDIR/myCA.pem" -CAkey "$SCRIPTDIR/myCA.key" -extfile "$DIR/extfile" -in "$DIR/in.csr"
|
openssl x509 -req -out "$SCRIPT_DIR/$1.pem" -CA "$SCRIPT_DIR/myCA.pem" -CAkey "$SCRIPT_DIR/myCA.key" -extfile "$SCRIPT_DIR/extfile" -in "$SCRIPT_DIR/in.csr"
|
||||||
# rm -rf "$DIR"
|
|
28
in.csr
28
in.csr
@ -1,28 +0,0 @@
|
|||||||
-----BEGIN CERTIFICATE REQUEST-----
|
|
||||||
MIIEsjCCApoCAQAwbTELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB1BSSVZBVEUxEDAO
|
|
||||||
BgNVBAcMB1BSSVZBVEUxETAPBgNVBAoMCFN1Y2Nlc3MhMRAwDgYDVQQLDAdTdWNj
|
|
||||||
ZXNzMRUwEwYDVQQDDAxtLmdvb2dsZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC
|
|
||||||
DwAwggIKAoICAQCd9Ui1xoBgnZLvmgLuJPXiXM4/LfE9Y2jn271RgcD+NZOxc4Rt
|
|
||||||
iGHOxYOaW7CDIwHcf4JDDAjj9WRZDxh4D36kmmz+56v/0U15yoLqv9LGiPuJjyfA
|
|
||||||
aZbmNbfDznKrzxTg20NCH9Zr4i7VHT7DPgY1wu75Hh++7JZx4sbnXdGzTn+p2xT6
|
|
||||||
J9/zc9nLN9EkFbcR2GdetTGZn7EwjZMNmvceENXtZQw2r0zjwgw1d/Xx9Cenaxmj
|
|
||||||
aHgn64ojp22kL969rUITMp6MKNuM20/8+gnCaAXtCeqHvFjRThdA97q3z1e2YoBR
|
|
||||||
KdOEqv2gjQQFxqUegdGxxonQ5KPsGTl+BaLohVDqTzgvepFYJp/YI7OAEY/3I3WZ
|
|
||||||
iR7nEYWZ/pn103spzRgseN4rzKGC1qpJBRzeEdZuobY+uW5413JVRyJgHsVCMc7z
|
|
||||||
xiZvRp5V0UFbiaeEGavzpjv5bWYTN0yE5L4lJmvSpU/1AM6Wo9pM2himQFujX46k
|
|
||||||
Dp0uPcDJR+qjuTNZbYS3bL+rYlgUgA1vBFifCHelQd1DMRfMj/GBRLOifzwmpj5l
|
|
||||||
Vg8Bqb6eT5AoWy4yiWqG9q3XD3Wk53ifDtmJmg9L9RncbCQb/zNobUPQ8vWN5UtK
|
|
||||||
WT49b4vlgcIRWOYahcGMEwb8A2vh/hQxEuY2O3BlH25vnqbVLFmRH/aYhwIDAQAB
|
|
||||||
oAAwDQYJKoZIhvcNAQELBQADggIBAAOlpZyQ3pyjjGlouXB+ZGzyDNfuNNWTlFAE
|
|
||||||
WX6YbqpCCwf2/mzafkzWCPMOxoXlIWSltu2fCXW/nOc9bdOD3VZMbHlsCHJ4NbVi
|
|
||||||
KkzxQfOWTuLuKB1l2wx9iQH/INVCunJ/RfXkPsLTENY8P+NzPXYL/7FmPV1ytHyi
|
|
||||||
OZGKyt/KcChbce0kJRU4f3CKDxCechIlWjR+TkZnfcliLhlBDvpqhd94Rk8NC/Uo
|
|
||||||
X8dD+h8l3Qh3NnfJDOHm6EwUBL3ontKisMl1Mqx99ssb9sc6X8w5jGPFbV3RvrEW
|
|
||||||
0WT9SoDpzVekRDBoD3BNB7PTTMlItsElaQjVFTD5AFTKAdl3Sp8F4BcyTS/tyG0u
|
|
||||||
k0fHJM+uPBzZqY3w7VvlT+fH+zsagvchhtOsAap9ZGwrY3p6vWkHAOEr4EDqIXvP
|
|
||||||
7crDrtn+3unVAJ/O7w5Y/RFOJ0uRAxqxDIe66gF2y3Xnud5yATDJS0DD7Og0oIFp
|
|
||||||
VMXxifBXm0gyr3IdIxwTXSOMnB1E7+s6gb94S2+Fg+jQOYJ4uvyQ6Q8ZRycKo7ti
|
|
||||||
5mHtSkAjtCPAOM/qI7tx9HoIGALJWvhN/sPIFouayoyASVmPYjyw53EVSM1IpnyY
|
|
||||||
h3gzsTkq5ph6gcEJtadDB59QxDFWCZ9rzxGYIyzu1CTXCFjbEWm2NawJ2BPV0ATS
|
|
||||||
sBQMfFPK
|
|
||||||
-----END CERTIFICATE REQUEST-----
|
|
2
proxy.js
2
proxy.js
@ -141,8 +141,6 @@ server.on('connection', (clientToProxySocket) => {
|
|||||||
var isFiltered = false;
|
var isFiltered = false;
|
||||||
var using = null;
|
var using = null;
|
||||||
Object.keys(serverCallbackMap).forEach((v)=>{
|
Object.keys(serverCallbackMap).forEach((v)=>{
|
||||||
// console.log("Proxy is: "+ v);
|
|
||||||
// console.log(new RegExp(v).test(serverAddress));
|
|
||||||
if (new RegExp(v).test(serverAddress)) {
|
if (new RegExp(v).test(serverAddress)) {
|
||||||
// It matches. We should run the handler.
|
// It matches. We should run the handler.
|
||||||
using = v;
|
using = v;
|
||||||
|
36
start-proxy.sh
Normal file
36
start-proxy.sh
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
SCRIPT_DIR=$(dirname "$0")
|
||||||
|
SCRIPT_DIR=${SCRIPT_DIR:-"."}
|
||||||
|
VERSION=1.0.0
|
||||||
|
|
||||||
|
cat <<EOF
|
||||||
|
httpmitm - "rewritten" by kxtz!
|
||||||
|
v$VERSION-g$(git log -n 1 --pretty=format:%h -- $SCRIPT_DIR)
|
||||||
|
--------------------------------
|
||||||
|
EOF
|
||||||
|
|
||||||
|
CERT_PATH="${SCRIPT_DIR}/configs/m.google.com/public/google.com.pem"
|
||||||
|
|
||||||
|
if [[ ! -f "$CERT_PATH" ]]; then
|
||||||
|
echo "m.google.com certificate missing!"
|
||||||
|
echo "checked path: $CERT_PATH"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
EXPIRY_DATE=$(openssl x509 -enddate -noout -in "$CERT_PATH" | cut -d= -f2)
|
||||||
|
EXPIRY_TIMESTAMP=$(date -d "$EXPIRY_DATE" +%s)
|
||||||
|
CURRENT_TIMESTAMP=$(date +%s)
|
||||||
|
CURRENT_TIMESTAMP="2743883708"
|
||||||
|
|
||||||
|
if [[ "$EXPIRY_TIMESTAMP" -lt "$CURRENT_TIMESTAMP" ]]; then
|
||||||
|
echo "Certificate expired. Regenerating..."
|
||||||
|
bash "${SCRIPT_DIR}/generate_ssl_certificate.sh" "*.google.com" "*.google.com"
|
||||||
|
mv "${SCRIPT_DIR}/*.google.com.pem" "${SCRIPT_DIR}/configs/m.google.com/public/google.com.pem"
|
||||||
|
mv "${SCRIPT_DIR}/*.google.com.key" "${SCRIPT_DIR}/configs/m.google.com/public/google.com.key"
|
||||||
|
mv "${SCRIPT_DIR}/extfile" "${SCRIPT_DIR}/configs/m.google.com/public"
|
||||||
|
mv "${SCRIPT_DIR}/in.csr" "${SCRIPT_DIR}/configs/m.google.com/public"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd $SCRIPT_DIR
|
||||||
|
npm i
|
||||||
|
node proxy.js
|
Reference in New Issue
Block a user