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 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();
|
||||
app.post("/*", async function (req, res) {
|
||||
console.log("Reading a post request")
|
||||
console.log(req.header('Content-Length'));
|
||||
var a = parseInt(req.header('Content-Length'))
|
||||
const dat = Buffer.alloc(a);
|
||||
var ptr = 0;
|
||||
async function handle() {
|
||||
console.log("handling: " + url.parse(req.url).search);
|
||||
try {
|
||||
// console.log(new URL(req.path).search);
|
||||
fetch = (await import('node-fetch')).default;
|
||||
await startServerIfNeeded();
|
||||
|
||||
const resFromRev = await fetch('http://127.0.0.1:3040/' + url.parse(req.url).search, {
|
||||
body: dat,
|
||||
"headers": req.headers,
|
||||
method: "POST"
|
||||
});
|
||||
// console.log(resFromRev.data);
|
||||
res.header('Content-Type', 'application/x-protobuffer');
|
||||
res.writeHead(resFromRev.status, resFromRev.statusText);
|
||||
res.end(new Uint8Array((await resFromRev.arrayBuffer())));
|
||||
} catch (e) {
|
||||
if (!e.response) {
|
||||
console.log("Error occured here without a response. Weird.");
|
||||
console.log(e);
|
||||
console.error("An error occurred contacting dmbackend! Make sure you're running it!");
|
||||
console.error(e);
|
||||
res.writeHead(500, 'Internal server error');
|
||||
res.end('An error has occured');
|
||||
return;
|
||||
@ -109,6 +54,18 @@ app.get('/*', (req, res) => {
|
||||
res.writeHead(200, "OK");
|
||||
res.end("OK");
|
||||
})
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {import("../../proxy").FilterInfo} f
|
||||
*/
|
||||
function filter(f) {
|
||||
if (f.tls) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {import("../../proxy").ServerConfig} config
|
||||
@ -116,9 +73,8 @@ app.get('/*', (req, res) => {
|
||||
*/
|
||||
function proxy(config, sock) {
|
||||
const ms = handlers.getMiniServer(function (req, res) {
|
||||
// console.log(req);
|
||||
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({
|
||||
host: "127.0.0.1",
|
||||
@ -127,7 +83,6 @@ function proxy(config, sock) {
|
||||
sock.write('HTTP/1.1 200 OK\r\n\n');
|
||||
sock.pipe(socks);
|
||||
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
|
||||
|
||||
[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-----
|
||||
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
|
||||
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-----
|
||||
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
|
||||
ZXNzMRUwEwYDVQQDDAwqLmdvb2dsZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4IC
|
||||
DwAwggIKAoICAQCq8oBxC2voYn6E/l3IrjcavzPq/jdoj0L9BYaP9EckJWOws/hd
|
||||
X8Ei6UYGwn5PbjGZ3WOYV2paToPaLjfSEB+RyhxAxgoDyu54rZGSSPtKKtNvkmE6
|
||||
u2xHyEGo0XMGQMmYa46M5sF46NDPmxsJ/7f+x4Y6vFa8vYftk1Xxgv9q8jHf36kG
|
||||
GPiRpAW89fVrJhzB2E24L618T3VmNFpK8UdO/8ur8+7gV9dYlvgJLgEl88UfGrQL
|
||||
MPsJV+1bOnnVVQRrFrAwnXsNtjUNKZn3XZDtosdW3CxPc+np8osD1EJt322DLxqI
|
||||
bP+pWJiUE0FzIOwPePlYtdUU6hWdaCkVeKrM3R/ppyx0hFf9BTTbKqS6ilY2S3+l
|
||||
mRFQdBmBNISveRhFCdkuNUwxwncIrjQbvC088IiKGl6+ACr91Q0cnUQkzB7Tzwa3
|
||||
HwdZC8NkAgimTLpqkzUJUBF5OtiIqKLb3BZ47VKX5ll6E9kwCAtMuLUi0pNHiyH5
|
||||
/JB9QFbm4WjPX/WfDKgTpsEUHBwcqIjWybiq1vMxqcrOfv6eY45MdKWmdbJzMWua
|
||||
Mca2HCSVyASdwA9l0FWfgLp3IAnHUuKUN/1XRwuwWVuLc0HxQVxlyIixpaphNO8q
|
||||
XmH0Sg9BSNS9b25RJbo3BEldqcN+SPvwR6DM/otRZReA35IRgcwuhhKW+QIDAQAB
|
||||
oAAwDQYJKoZIhvcNAQELBQADggIBAA8R4VT3DD11V7foSXyqlegK6+tZcHissbUj
|
||||
h8gqOiA+z3qML/5Xe9JODxBvBysZWKtQq8PCKeLwfM4NO+Z709jTRbN4kTf+aFVh
|
||||
d+Kjy4PcFzzVhqFnZSqeYrDpRvFGdRNMFQ+smX4bl4R3f1dJI0ewnPfdVp5ihp5X
|
||||
EMNrvelyv3BAb/LQHz0LZko5hAh8JsjAQmJWIgttpGApRj0C3xBuA3gbUxdEHw4z
|
||||
YdaTo2+AzfJdGsks5MUIF1p7hRseE1hSPiBMIixaLURVaZsS7qHCJ8hV1VfJ+6wz
|
||||
P2uWZ5W1cvKJx/wRQoaLD8nHP576JnGjcOQQbPMn5lUA+88z6F7H0W92sbc/9k+R
|
||||
RkYMM8uwn+qO1bNYSDtWKoJSESU3tOdxEN1m3zh6E0JH7aDPI0t48oRGL91a86SL
|
||||
QHyVxv4RsywiATcPlKgb0hUhu2iPMuAUN/rNk4YZpY+yPF2ZnfyyC8hGc8juyw1I
|
||||
nbXlDQCSD/wpuCmSaDOaaUsqXdO6tTTCCBMfhIjQ/otkeVu5MfRbrWof7MOtPgI/
|
||||
zNNjDn6gyz+Wh5JXijY7MPoRfFf3AbPdHdhkMuaXvotPCJ8aZtcMAXJTQte4oS4r
|
||||
0xGqpY3l8RK3B9uTgldHW+RTTgrXM4Nz6rrgZ5St7/hfBOXME/qQw3rAUupQ9cx2
|
||||
clcDRb8L
|
||||
-----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
|
||||
|
||||
# Arguments: <server address>
|
||||
DIR=.
|
||||
mkdir -p "$DIR"
|
||||
SCRIPTDIR=$(dirname "$(readlink -f "$0")")
|
||||
SCRIPT_DIR=$(dirname "$0")
|
||||
SCRIPT_DIR=${SCRIPT_DIR:-"."}
|
||||
|
||||
CA_PATH="${SCRIPT_DIR}/myCA"
|
||||
|
||||
openssl genrsa -out "$DIR/$1".key 4096
|
||||
openssl req -new -key "$1".key -out "$DIR/in.csr" -subj "/C=US/ST=PRIVATE/L=PRIVATE/O=Success!/OU=Success/CN=$1"
|
||||
cat > "$DIR/extfile" <<EOF
|
||||
if [[ ! -f "$CA_PATH.pem" || ! -f "$CA_PATH.key" ]]; then
|
||||
echo "CA certificates missing!"
|
||||
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
|
||||
basicConstraints=CA:FALSE
|
||||
@ -16,8 +22,7 @@ keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
|
||||
subjectAltName = @alt_names
|
||||
|
||||
[alt_names]
|
||||
DNS.1 = $2
|
||||
DNS.1 = $1
|
||||
EOF
|
||||
|
||||
openssl x509 -req -out "$DIR/$1.pem" -CA "$SCRIPTDIR/myCA.pem" -CAkey "$SCRIPTDIR/myCA.key" -extfile "$DIR/extfile" -in "$DIR/in.csr"
|
||||
# rm -rf "$DIR"
|
||||
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"
|
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 using = null;
|
||||
Object.keys(serverCallbackMap).forEach((v)=>{
|
||||
// console.log("Proxy is: "+ v);
|
||||
// console.log(new RegExp(v).test(serverAddress));
|
||||
if (new RegExp(v).test(serverAddress)) {
|
||||
// It matches. We should run the handler.
|
||||
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