@push.rocks/smartproxy 27.12.3 → 27.12.4

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/changelog.md CHANGED
@@ -9,6 +9,17 @@
9
9
 
10
10
 
11
11
 
12
+
13
+ ## 2026-06-01 - 27.12.4
14
+
15
+ ### Fixes
16
+
17
+ - enforce route maxConnections across active HTTP streams and WebSocket tunnels (rustproxy-http)
18
+ - Adds route-level connection guards so maxConnections slots remain held until streamed response bodies or upgraded WebSocket tunnels close.
19
+ - Returns 429 for matched routes when maxConnections is exceeded without considering lower-priority fallback routes.
20
+ - Prunes stale route connection counters while preserving active slots across route updates.
21
+ - Adds coverage for streaming responses, route fallback behavior, and WebSocket tunnel limits.
22
+
12
23
  ## 2026-06-01 - 27.12.3
13
24
 
14
25
  ### Fixes
Binary file
Binary file
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@push.rocks/smartproxy',
6
- version: '27.12.3',
6
+ version: '27.12.4',
7
7
  description: 'A powerful proxy package with unified route-based configuration for high traffic management. Features include SSL/TLS support, flexible routing patterns, WebSocket handling, advanced security options, and automatic ACME certificate management.'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSx3QkFBd0I7SUFDOUIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsV0FBVyxFQUFFLHFQQUFxUDtDQUNuUSxDQUFBIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@push.rocks/smartproxy",
3
- "version": "27.12.3",
3
+ "version": "27.12.4",
4
4
  "private": false,
5
5
  "description": "A powerful proxy package with unified route-based configuration for high traffic management. Features include SSL/TLS support, flexible routing patterns, WebSocket handling, advanced security options, and automatic ACME certificate management.",
6
6
  "main": "dist_ts/index.js",
package/readme.hints.md CHANGED
@@ -195,9 +195,10 @@ The spikes occur because:
195
195
 
196
196
  ### Route-Level Connection Limits
197
197
  - Routes can define `security.maxConnections` to limit connections per route
198
- - ConnectionManager tracks connections by route ID using a separate Map
199
- - Limits are enforced in RouteConnectionHandler before forwarding
200
- - Connection is tracked when route is matched: `trackConnectionByRoute(routeId, connectionId)`
198
+ - Rust `HttpProxyService` enforces HTTP route limits after the route has matched and before forwarding
199
+ - Exceeded route limits return terminal `429` responses; lower-priority fallback routes are not considered
200
+ - Route counters are keyed by route id, then route name, and retained while non-zero across route updates
201
+ - Streamed HTTP/H3 response bodies and WebSocket tunnels hold the route slot until the body/tunnel closes
201
202
 
202
203
  ### HttpProxy Integration
203
204
  - When SmartProxy forwards to HttpProxy for TLS termination, it sends a `CLIENT_IP:<ip>\r\n` header
@@ -550,4 +551,4 @@ This allows simple single-target passthrough setups to work with TLS session res
550
551
  **Connection timeouts to HttpProxy**:
551
552
  - CLIENT_IP header parsing timeout (default: 2000ms)
552
553
  - Network congestion between SmartProxy and HttpProxy
553
- - Solution: Check localhost connectivity, increase timeout if needed
554
+ - Solution: Check localhost connectivity, increase timeout if needed
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@push.rocks/smartproxy',
6
- version: '27.12.3',
6
+ version: '27.12.4',
7
7
  description: 'A powerful proxy package with unified route-based configuration for high traffic management. Features include SSL/TLS support, flexible routing patterns, WebSocket handling, advanced security options, and automatic ACME certificate management.'
8
8
  }