Skip to content

Commit e4b3628

Browse files
Node test, and LISTEN_PORT support for Deno.
1 parent 732c42e commit e4b3628

17 files changed

+65
-37
lines changed

.gitignore

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
*.swp
2+
deno.lock
3+
package-lock.json
24
/dist/*.map
35
/proxy/*
46
/lib/*
57
/node_modules/*
6-
/src/vendor/*
8+
/src/vendor/*

dist/bun.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/cloudflare.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/deno.js

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/node.js

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+11-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
22
"name": "mint-flower",
3+
"type": "module",
34
"version": "0.3.0",
45
"description": "⛈ Easy-to-configure load balancing, available as serverless functions.",
56
"keywords": [
@@ -19,10 +20,12 @@
1920
},
2021
"license": "LGPL-3.0-only",
2122
"author": "Lumière Élevé (https://github.com/PoneyClairDeLune)",
22-
"funding": [{
23-
"type": "individual",
24-
"url": "monero:82rPQDB7JVgYfF4TLTz4JJTM9ibYXw9G7BSQ2CE7ixqtYnYjNYPagJoUUhmmXaGfBvjRZ3TWdabP7FngbWXkdSfv23VEo1M"
25-
}],
23+
"funding": [
24+
{
25+
"type": "individual",
26+
"url": "monero:82rPQDB7JVgYfF4TLTz4JJTM9ibYXw9G7BSQ2CE7ixqtYnYjNYPagJoUUhmmXaGfBvjRZ3TWdabP7FngbWXkdSfv23VEo1M"
27+
}
28+
],
2629
"engines": {
2730
"node": ">=18.0.0"
2831
},
@@ -43,5 +46,8 @@
4346
"sh/denoTest.sh",
4447
"sh/wranglerTest.sh",
4548
"sh/bunTest.sh"
46-
]
49+
],
50+
"dependencies": {
51+
"ws": "^8.12.0"
52+
}
4753
}

sh/build.sh

+3-3
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ ls -1 src | while IFS= read -r dir ; do
2222
fi
2323
done
2424
# Node specific
25-
mkdir -p proxy/node
26-
mv dist/node.js proxy/node/index.js
27-
rm proxy/node.js
25+
#mkdir -p proxy/node
26+
#mv dist/node.js proxy/node/index.js
27+
#rm proxy/node.js
2828
exit

sh/denoTest.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/bin/bash
2-
export LISTEN_PORT=8000
2+
export LISTEN_PORT=8005
33
export BACKENDS=browserleaks.com
44
export DEBUGGER=1
55
export FOLLOW_REDIR=1

sh/live.sh

+5-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ rm -rv proxy/${1:default}*
33
inject=" "
44
prefix=""
55
affix=""
6+
platform=""
67
format="iife"
78
ext="js"
89
if [ -e "src/${1:-default}/inject.js" ] ; then
@@ -14,10 +15,13 @@ fi
1415
if [ -e "src/${1:-default}/affix.js" ] ; then
1516
Aaffix="--footer:js=src/${1:-default}/affix.js"
1617
fi
18+
if [ -e "src/${1:-default}/.node" ] ; then
19+
platform="--platform=node"
20+
fi
1721
if [ -e "src/${1:-default}/index.mjs" ] ; then
1822
format="esm"
1923
ext="mjs"
2024
fi
21-
esbuild --bundle src/${1:-default}/index.js $prefix $affix $inject --charset=utf8 --format=$format --outfile=proxy/${1:-default}.${ext} ${2:---minify-whitespace --minify-syntax --sourcemap}
25+
esbuild --bundle src/${1:-default}/index.js $platform $prefix $affix $inject --charset=utf8 --format=$format --outfile=proxy/${1:-default}.${ext} ${2:---minify-whitespace --minify-syntax --sourcemap}
2226
cat proxy/${1:-default}.${ext}
2327
exit

sh/nodeTest.sh

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/bin/bash
2+
export LISTEN_PORT=8000
3+
export BACKENDS=browserleaks.com
4+
export DEBUGGER=1
5+
export FOLLOW_REDIR=1
6+
export FORCE_OUT_TLS=tls
7+
export STRIP_HEADERS_UP=Sec-Fetch-User,Sec-Fetch-Site,Sec-Fetch-Mode,Sec-Fetch-Dest
8+
export STRIP_HEADERS=expect-ct,nel,report-to
9+
export SET_HEADERS_UP=upgrade-insecure-requests=1
10+
export SET_HEADERS=x-cloudhop-debug=experimental
11+
export HEALTH_MAX_TRIES=4
12+
export HEALTH_CRITERIA=loose
13+
export MASK_UA=noBracket
14+
export MASK_IP=spoof
15+
export MATCH_LANG=en-US,en,*
16+
export TIMEOUT_MS=4000
17+
export IDLE_SHUTDOWN=0
18+
node dist/node.js
19+
exit
File renamed without changes.
File renamed without changes.

src/deno/index.js

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
/*
2-
32
"use strict" is already included.
4-
53
This file isn't only for Deno Deploy, but all of the one-shot Deno serverless deployments.
6-
74
*/
85

96
import {handleRequest} from "../core/index.js";
107
//import {stripHeader} from "./strip.js";
118

9+
let serveOptions = {};
10+
if (eG("LISTEN_PORT")) {
11+
serveOptions.port = parseInt(eG("LISTEN_PORT"));
12+
};
1213
serve(async function (request, connInfo) {
1314
let clientIp = connInfo.remoteAddr.hostname;
1415
return await handleRequest(request, clientIp);
15-
});
16+
}, serveOptions);

src/node/index.js

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
/*
2-
32
"use strict" is already included.
4-
5-
This file isn't only for Deno Deploy, but all of the one-shot Deno serverless deployments.
6-
73
*/
84

5+
// Script import section
96
import {handleRequest} from "../core/index.js";
107
//import {stripHeader} from "./strip.js";
118

12-
import {serve} from "../../deno/std_http/server.js";
13-
14-
serve(async function (request, connInfo) {
9+
/* serve(async function (request, connInfo) {
1510
let clientIp = connInfo.remoteAddr.hostname;
1611
return await handleRequest(request, clientIp);
17-
});
12+
}); */
13+
let server = http.createServer(function (request, response) {
14+
response.writeHead(200, new Headers({"X-Platform": pV}));
15+
response.write("Test body.");
16+
response.end();
17+
});

src/node/prefix.js

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
"use strict";let eG=(a,b="")=>{return process.env[a]||b};let pV="Node",pE=process.exit.bind();let self=globalThis;let pP=true;
2+
// Node.js import section
3+
import http from "node:http";

src/node/prefixer.js

-1
This file was deleted.

src/node/shim.js

-9
This file was deleted.

0 commit comments

Comments
 (0)