@push.rocks/smartproxy 3.1.0 → 3.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/certs/cert.pem +19 -0
- package/assets/certs/key.pem +28 -0
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/smartproxy.classes.networkproxy.d.ts +4 -5
- package/dist_ts/smartproxy.classes.networkproxy.js +172 -232
- package/dist_ts/smartproxy.classes.router.d.ts +0 -1
- package/dist_ts/smartproxy.classes.router.js +11 -2
- package/dist_ts/smartproxy.classes.sslredirect.d.ts +0 -1
- package/dist_ts/smartproxy.helpers.certificates.d.ts +5 -0
- package/dist_ts/smartproxy.helpers.certificates.js +23 -0
- package/dist_ts/smartproxy.portproxy.d.ts +0 -1
- package/package.json +18 -14
- package/readme.md +3 -1
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/smartproxy.classes.networkproxy.ts +202 -259
- package/ts/smartproxy.classes.router.ts +10 -1
- package/ts/smartproxy.helpers.certificates.ts +30 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -7
- package/dist/smartproxy.classes.proxyworker.d.ts +0 -23
- package/dist/smartproxy.classes.proxyworker.js +0 -262
- package/dist/smartproxy.classes.router.d.ts +0 -16
- package/dist/smartproxy.classes.router.js +0 -41
- package/dist/smartproxy.classes.smartproxy.d.ts +0 -17
- package/dist/smartproxy.classes.smartproxy.js +0 -43
- package/dist/smartproxy.plugins.d.ts +0 -17
- package/dist/smartproxy.plugins.js +0 -43
- package/dist/smartproxy.portproxy.d.ts +0 -6
- package/dist/smartproxy.portproxy.js +0 -38
- package/dist_ts/smartproxy.classes.proxyworker.d.ts +0 -33
- package/dist_ts/smartproxy.classes.proxyworker.js +0 -303
- package/dist_ts/smartproxy.classes.smartproxy.d.ts +0 -20
- package/dist_ts/smartproxy.classes.smartproxy.js +0 -38
|
@@ -15,10 +15,19 @@ export class ProxyRouter {
|
|
|
15
15
|
*/
|
|
16
16
|
routeReq(req) {
|
|
17
17
|
const originalHost = req.headers.host;
|
|
18
|
+
if (!originalHost) {
|
|
19
|
+
console.error('No host header found in request');
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
// Strip port from host if present
|
|
23
|
+
const hostWithoutPort = originalHost.split(':')[0];
|
|
18
24
|
const correspodingReverseProxyConfig = this.reverseProxyConfigs.find((reverseConfig) => {
|
|
19
|
-
return reverseConfig.hostName ===
|
|
25
|
+
return reverseConfig.hostName === hostWithoutPort;
|
|
20
26
|
});
|
|
27
|
+
if (!correspodingReverseProxyConfig) {
|
|
28
|
+
console.error(`No config found for host: ${hostWithoutPort}`);
|
|
29
|
+
}
|
|
21
30
|
return correspodingReverseProxyConfig;
|
|
22
31
|
}
|
|
23
32
|
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRwcm94eS5jbGFzc2VzLnJvdXRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0cHJveHkuY2xhc3Nlcy5yb3V0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSx5QkFBeUIsQ0FBQztBQUVuRCxNQUFNLE9BQU8sV0FBVztJQUF4QjtRQUNTLHdCQUFtQixHQUFrRCxFQUFFLENBQUM7SUE2QmpGLENBQUM7SUEzQkM7OztPQUdHO0lBQ0ksa0JBQWtCLENBQUMsb0JBQW1FO1FBQzNGLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxvQkFBb0IsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRLENBQUMsR0FBaUM7UUFDL0MsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDdEMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2xCLE9BQU8sQ0FBQyxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztZQUNqRCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBQ0Qsa0NBQWtDO1FBQ2xDLE1BQU0sZUFBZSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkQsTUFBTSw4QkFBOEIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFDckYsT0FBTyxhQUFhLENBQUMsUUFBUSxLQUFLLGVBQWUsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO1lBQ3BDLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLGVBQWUsRUFBRSxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUNELE9BQU8sOEJBQThCLENBQUM7SUFDeEMsQ0FBQztDQUNGIn0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
import { fileURLToPath } from 'url';
|
|
4
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
5
|
+
export function loadDefaultCertificates() {
|
|
6
|
+
try {
|
|
7
|
+
const certPath = path.join(__dirname, '..', 'assets', 'certs');
|
|
8
|
+
const privateKey = fs.readFileSync(path.join(certPath, 'key.pem'), 'utf8');
|
|
9
|
+
const publicKey = fs.readFileSync(path.join(certPath, 'cert.pem'), 'utf8');
|
|
10
|
+
if (!privateKey || !publicKey) {
|
|
11
|
+
throw new Error('Failed to load default certificates');
|
|
12
|
+
}
|
|
13
|
+
return {
|
|
14
|
+
privateKey,
|
|
15
|
+
publicKey
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
console.error('Error loading default certificates:', error);
|
|
20
|
+
throw error;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRwcm94eS5oZWxwZXJzLmNlcnRpZmljYXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0cHJveHkuaGVscGVycy5jZXJ0aWZpY2F0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUVwQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFPL0QsTUFBTSxVQUFVLHVCQUF1QjtJQUNyQyxJQUFJLENBQUM7UUFDSCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQy9ELE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDM0UsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUUzRSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFFRCxPQUFPO1lBQ0wsVUFBVTtZQUNWLFNBQVM7U0FDVixDQUFDO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLHFDQUFxQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVELE1BQU0sS0FBSyxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUMifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@push.rocks/smartproxy",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.3",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "a proxy for handling high workloads of proxying",
|
|
6
6
|
"main": "dist_ts/index.js",
|
|
@@ -9,21 +9,22 @@
|
|
|
9
9
|
"author": "Lossless GmbH",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"devDependencies": {
|
|
12
|
-
"@
|
|
13
|
-
"@
|
|
14
|
-
"@
|
|
15
|
-
"@push.rocks/tapbundle": "^5.
|
|
16
|
-
"@types/node": "^
|
|
12
|
+
"@git.zone/tsbuild": "^2.1.66",
|
|
13
|
+
"@git.zone/tsrun": "^1.2.44",
|
|
14
|
+
"@git.zone/tstest": "^1.0.77",
|
|
15
|
+
"@push.rocks/tapbundle": "^5.5.6",
|
|
16
|
+
"@types/node": "^22.13.0",
|
|
17
|
+
"typescript": "^5.7.3"
|
|
17
18
|
},
|
|
18
19
|
"dependencies": {
|
|
19
|
-
"@push.rocks/lik": "^6.0
|
|
20
|
+
"@push.rocks/lik": "^6.1.0",
|
|
20
21
|
"@push.rocks/smartdelay": "^3.0.5",
|
|
21
|
-
"@push.rocks/smartpromise": "^4.
|
|
22
|
-
"@push.rocks/smartrequest": "^2.0.
|
|
23
|
-
"@push.rocks/smartstring": "^4.0.
|
|
24
|
-
"@tsclass/tsclass": "^4.0
|
|
25
|
-
"@types/ws": "^8.5.
|
|
26
|
-
"ws": "^8.
|
|
22
|
+
"@push.rocks/smartpromise": "^4.2.2",
|
|
23
|
+
"@push.rocks/smartrequest": "^2.0.23",
|
|
24
|
+
"@push.rocks/smartstring": "^4.0.15",
|
|
25
|
+
"@tsclass/tsclass": "^4.4.0",
|
|
26
|
+
"@types/ws": "^8.5.14",
|
|
27
|
+
"ws": "^8.18.0"
|
|
27
28
|
},
|
|
28
29
|
"files": [
|
|
29
30
|
"ts/**/*",
|
|
@@ -53,11 +54,14 @@
|
|
|
53
54
|
"reverse proxy",
|
|
54
55
|
"authentication"
|
|
55
56
|
],
|
|
56
|
-
"homepage": "https://code.foss.global/push.rocks/smartproxy",
|
|
57
|
+
"homepage": "https://code.foss.global/push.rocks/smartproxy#readme",
|
|
57
58
|
"repository": {
|
|
58
59
|
"type": "git",
|
|
59
60
|
"url": "https://code.foss.global/push.rocks/smartproxy.git"
|
|
60
61
|
},
|
|
62
|
+
"bugs": {
|
|
63
|
+
"url": "https://code.foss.global/push.rocks/smartproxy/issues"
|
|
64
|
+
},
|
|
61
65
|
"scripts": {
|
|
62
66
|
"test": "(tstest test/)",
|
|
63
67
|
"build": "(tsbuild --web --allowimplicitany)",
|
package/readme.md
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
# @push.rocks/smartproxy
|
|
2
|
+
|
|
2
3
|
A proxy for handling high workloads of proxying.
|
|
3
4
|
|
|
4
5
|
## Install
|
|
6
|
+
|
|
5
7
|
To install `@push.rocks/smartproxy`, run the following command in your project's root directory:
|
|
6
8
|
|
|
7
9
|
```bash
|
|
@@ -100,7 +102,7 @@ For more information on how to use the features, refer to the in-depth documenta
|
|
|
100
102
|
|
|
101
103
|
## License and Legal Information
|
|
102
104
|
|
|
103
|
-
This repository contains open-source code that is licensed under the MIT License. A copy of the MIT License can be found in the [license](license) file within this repository.
|
|
105
|
+
This repository contains open-source code that is licensed under the MIT License. A copy of the MIT License can be found in the [license](license) file within this repository.
|
|
104
106
|
|
|
105
107
|
**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.
|
|
106
108
|
|