@push.rocks/smartproxy 30.0.1 → 31.0.0
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/.smartconfig.json +5 -3
- package/changelog.md +91 -0
- package/dist_rust/rustproxy_linux_amd64_musl +0 -0
- package/dist_rust/rustproxy_linux_amd64_musl.third-party-notices.json +3358 -0
- package/dist_rust/rustproxy_linux_amd64_musl.third-party-notices.txt +44997 -0
- package/dist_rust/rustproxy_linux_amd64_musl.tsrust-build.json +5 -5
- package/dist_rust/rustproxy_linux_arm64_musl +0 -0
- package/dist_rust/rustproxy_linux_arm64_musl.third-party-notices.json +3358 -0
- package/dist_rust/rustproxy_linux_arm64_musl.third-party-notices.txt +44997 -0
- package/dist_rust/rustproxy_linux_arm64_musl.tsrust-build.json +5 -5
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/index.d.ts +1 -1
- package/dist_ts/proxies/index.d.ts +1 -1
- package/dist_ts/proxies/smart-proxy/models/interfaces.d.ts +16 -3
- package/dist_ts/proxies/smart-proxy/models/route-types.d.ts +27 -0
- package/dist_ts/proxies/smart-proxy/models/route-types.js +1 -1
- package/dist_ts/proxies/smart-proxy/models/rust-types.d.ts +18 -2
- package/dist_ts/proxies/smart-proxy/rust-proxy-bridge.d.ts +7 -2
- package/dist_ts/proxies/smart-proxy/rust-proxy-bridge.js +8 -3
- package/dist_ts/proxies/smart-proxy/smart-proxy.d.ts +18 -1
- package/dist_ts/proxies/smart-proxy/smart-proxy.js +106 -38
- package/dist_ts/proxies/smart-proxy/utils/route-validator.d.ts +46 -3
- package/dist_ts/proxies/smart-proxy/utils/route-validator.js +293 -3
- package/dist_ts/proxies/smart-proxy/utils/rust-config.d.ts +2 -2
- package/dist_ts/proxies/smart-proxy/utils/rust-config.js +9 -5
- package/native-notices/manifest.json +13 -1
- package/native-notices/readme.md +4 -2
- package/native-notices/runtime/libunwind-22.1.2/license.txt +311 -0
- package/package.json +10 -12
- package/readme.md +70 -13
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/index.ts +1 -1
- package/ts/proxies/index.ts +1 -1
- package/ts/proxies/smart-proxy/models/interfaces.ts +17 -3
- package/ts/proxies/smart-proxy/models/route-types.ts +28 -1
- package/ts/proxies/smart-proxy/models/rust-types.ts +21 -3
- package/ts/proxies/smart-proxy/rust-proxy-bridge.ts +13 -3
- package/ts/proxies/smart-proxy/smart-proxy.ts +115 -40
- package/ts/proxies/smart-proxy/utils/route-validator.ts +329 -4
- package/ts/proxies/smart-proxy/utils/rust-config.ts +10 -5
|
@@ -115,7 +115,10 @@ export function serializeRouteForRust(route: IRouteConfig): IRustRouteConfig {
|
|
|
115
115
|
};
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
-
function serializeAcmeForRust(
|
|
118
|
+
function serializeAcmeForRust(
|
|
119
|
+
acme: IAcmeOptions | undefined,
|
|
120
|
+
certProvisionFunction: ISmartProxyOptions['certProvisionFunction'],
|
|
121
|
+
): IRustAcmeOptions | undefined {
|
|
119
122
|
if (!acme) {
|
|
120
123
|
return undefined;
|
|
121
124
|
}
|
|
@@ -131,6 +134,9 @@ function serializeAcmeForRust(acme?: IAcmeOptions): IRustAcmeOptions | undefined
|
|
|
131
134
|
autoRenew: acme.autoRenew,
|
|
132
135
|
skipConfiguredCerts: acme.skipConfiguredCerts,
|
|
133
136
|
renewCheckIntervalHours: acme.renewCheckIntervalHours,
|
|
137
|
+
// A certProvisionFunction owns provisioning and renewal; the engine orders
|
|
138
|
+
// only what it is asked to: 'http01' results and the ACME fallback.
|
|
139
|
+
autoProvision: certProvisionFunction ? false : undefined,
|
|
134
140
|
};
|
|
135
141
|
}
|
|
136
142
|
|
|
@@ -171,16 +177,14 @@ export function buildChallengeOptionsForRust(settings: ISmartProxyOptions): IRus
|
|
|
171
177
|
export function buildRustProxyOptions(
|
|
172
178
|
settings: ISmartProxyOptions,
|
|
173
179
|
routes: IRustRouteConfig[],
|
|
174
|
-
acmeOverride?: IAcmeOptions,
|
|
175
180
|
challengeOverride?: IRustChallengeOptions,
|
|
176
181
|
): IRustProxyOptions {
|
|
177
|
-
const acme = acmeOverride !== undefined ? acmeOverride : settings.acme;
|
|
178
|
-
|
|
179
182
|
return {
|
|
180
183
|
routes,
|
|
181
184
|
preserveSourceIp: settings.preserveSourceIP,
|
|
182
185
|
trustedProxyIPs: settings.trustedProxyIPs,
|
|
183
186
|
sendProxyProtocol: settings.sendProxyProtocol,
|
|
187
|
+
backendTls: settings.backendTls,
|
|
184
188
|
defaults: serializeDefaultsForRust(settings.defaults),
|
|
185
189
|
connectionTimeout: settings.connectionTimeout,
|
|
186
190
|
initialDataTimeout: settings.initialDataTimeout,
|
|
@@ -198,6 +202,7 @@ export function buildRustProxyOptions(
|
|
|
198
202
|
enableDetailedLogging: settings.enableDetailedLogging,
|
|
199
203
|
enableTlsDebugLogging: settings.enableTlsDebugLogging,
|
|
200
204
|
enableRandomizedTimeouts: settings.enableRandomizedTimeouts,
|
|
205
|
+
// `null` travels as JSON `null`, which the engine reads as `None`: no per-IP limit.
|
|
201
206
|
maxConnectionsPerIp: settings.maxConnectionsPerIP,
|
|
202
207
|
connectionRateLimitPerMinute: settings.connectionRateLimitPerMinute,
|
|
203
208
|
keepAliveTreatment: settings.keepAliveTreatment,
|
|
@@ -206,6 +211,6 @@ export function buildRustProxyOptions(
|
|
|
206
211
|
metrics: settings.metrics,
|
|
207
212
|
securityPolicy: settings.securityPolicy,
|
|
208
213
|
challenge: challengeOverride || buildChallengeOptionsForRust(settings),
|
|
209
|
-
acme: serializeAcmeForRust(acme),
|
|
214
|
+
acme: serializeAcmeForRust(settings.acme, settings.certProvisionFunction),
|
|
210
215
|
};
|
|
211
216
|
}
|