Commit Graph

443 Commits

Author SHA1 Message Date
philkunz 85cc57ae10 fix(PortProxy): Simplify TLS handshake SNI extraction and update timeout settings in PortProxy for improved maintainability and reliability. 2025-03-11 09:12:40 +00:00
philkunz e021b66898 3.32.1
Default (tags) / security (push) Successful in 30s
Default (tags) / test (push) Failing after 1m3s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v3.32.1
2025-03-11 04:39:17 +00:00
philkunz 865d21b36a fix(portproxy): Relax TLS handshake and connection timeout settings for improved stability in chained proxy scenarios; update TLS session cache defaults and add keep-alive flags to connection records. 2025-03-11 04:39:17 +00:00
philkunz 58ba0d9362 3.32.0
Default (tags) / security (push) Successful in 34s
Default (tags) / test (push) Failing after 1m2s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v3.32.0
2025-03-11 04:24:29 +00:00
philkunz ccccc5b8c8 feat(PortProxy): Enhance TLS session cache, SNI extraction, and chained proxy support in PortProxy. Improve handling of multiple and fragmented TLS records, and add new configuration options (isChainedProxy, chainPosition, aggressiveTlsRefresh, tlsSessionCache) for robust TLS certificate refresh. 2025-03-11 04:24:29 +00:00
philkunz d8466a866c 3.31.2
Default (tags) / security (push) Successful in 28s
Default (tags) / test (push) Failing after 1m3s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v3.31.2
2025-03-11 03:56:09 +00:00
philkunz 119b643690 fix(PortProxy): Improve SNI renegotiation handling by adding flexible domain configuration matching on rehandshake and session resumption events. 2025-03-11 03:56:09 +00:00
philkunz 98f1e0df4c 3.31.1
Default (tags) / security (push) Successful in 37s
Default (tags) / test (push) Failing after 1m3s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v3.31.1
2025-03-11 03:48:10 +00:00
philkunz d6022c8f8a fix(PortProxy): Improve TLS handshake buffering and enhance debug logging for SNI forwarding in PortProxy 2025-03-11 03:48:10 +00:00
philkunz 0ea0f02428 fix(PortProxy): Improve connection reliability for initial and resumed TLS sessions
Added enhanced connection handling to fix issues with both initial connections and TLS session resumption:

1. Improved debugging for connection setup with detailed logging
2. Added explicit timeout for backend connections to prevent hanging connections
3. Enhanced error recovery for connection failures with faster client notification
4. Added detailed session tracking to maintain domain context across TLS sessions
5. Fixed handling of TLS renegotiation with improved activity timestamp updates

This should address the issue where initial connections may fail but subsequent retries succeed,
as well as ensuring proper certificate selection for resumed TLS sessions.

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-11 03:33:03 +00:00
philkunz e452f55203 3.31.0
Default (tags) / security (push) Successful in 35s
Default (tags) / test (push) Failing after 1m4s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v3.31.0
2025-03-11 03:16:04 +00:00
philkunz 55f25f1976 feat(PortProxy): Improve TLS handshake SNI extraction and add session resumption tracking in PortProxy 2025-03-11 03:16:04 +00:00
philkunz 98b7f3ed7f 3.30.8
Default (tags) / security (push) Failing after 11m56s
Default (tags) / test (push) Has been cancelled
Default (tags) / release (push) Has been cancelled
Default (tags) / metadata (push) Has been cancelled
v3.30.8
2025-03-11 02:50:01 +00:00
philkunz cb83caeafd fix(core): No changes in this commit. 2025-03-11 02:50:01 +00:00
philkunz 7850a80452 fix(PortProxy): Fix TypeScript errors by using correct variable names
Fixed TypeScript errors caused by using 'connectionRecord' instead of 'record' in TLS renegotiation handlers.
The variable name mistake occurred when moving and restructuring the TLS handshake detection code.

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-11 02:47:57 +00:00
philkunz ef8f583a90 fix(PortProxy): Move TLS renegotiation detection before socket piping
Fundamentally restructured TLS renegotiation handling to ensure handshake packets are properly detected. The previous implementation attached event handlers after pipe() was established, which might have caused handshake packets to bypass detection. Key changes:

1. Moved renegotiation detection before pipe() to ensure all TLS handshake packets are detected
2. Added explicit lockedDomain setting for all SNI connections
3. Simplified the NetworkProxy TLS handshake detection
4. Removed redundant data handlers that could interfere with each other

These changes should make renegotiation detection more reliable regardless of how Node.js internal pipe() implementation handles data events.

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-11 02:45:51 +00:00
philkunz 2bdd6f8c1f fix(PortProxy): Update activity timestamp during TLS renegotiation to prevent connection timeouts
Ensures that TLS renegotiation packets properly update the connection's activity timestamp even when no SNI is present or when there are errors processing the renegotiation. This prevents connections from being closed due to inactivity during legitimate TLS renegotiation.

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-11 02:40:08 +00:00
philkunz 99d28eafd1 3.30.7
Default (tags) / security (push) Successful in 29s
Default (tags) / test (push) Failing after 1m1s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v3.30.7
2025-03-11 02:25:59 +00:00
philkunz 788b444fcc fix(PortProxy): Improve TLS renegotiation SNI handling by first checking if the new SNI is allowed under the existing domain config. If not, attempt to find an alternative domain config and update the locked domain accordingly; otherwise, terminate the connection on SNI mismatch. 2025-03-11 02:25:58 +00:00
philkunz 4225abe3c4 3.30.6
Default (tags) / security (push) Successful in 36s
Default (tags) / test (push) Failing after 1m0s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v3.30.6
2025-03-11 02:18:56 +00:00
philkunz 74fdb58f84 fix(PortProxy): Improve TLS renegotiation handling in PortProxy by validating the new SNI against allowed domain configurations. If the new SNI is permitted based on existing IP rules, update the locked domain to allow connection reuse; otherwise, terminate the connection to prevent misrouting. 2025-03-11 02:18:56 +00:00
philkunz bffdaffe39 3.30.5
Default (tags) / security (push) Successful in 20s
Default (tags) / test (push) Failing after 1m1s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v3.30.5
2025-03-10 22:36:28 +00:00
philkunz 67a4228518 fix(internal): No uncommitted changes detected; project files and tests remain unchanged. 2025-03-10 22:36:28 +00:00
philkunz 681209f2e1 3.30.4
Default (tags) / security (push) Successful in 36s
Default (tags) / test (push) Failing after 1m1s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v3.30.4
2025-03-10 22:35:34 +00:00
philkunz c415a6c361 fix(PortProxy): Fix TLS renegotiation handling and adjust TLS keep-alive timeouts in PortProxy implementation 2025-03-10 22:35:34 +00:00
philkunz 009e3c4f0e 3.30.3
Default (tags) / security (push) Failing after 14m48s
Default (tags) / test (push) Has been cancelled
Default (tags) / release (push) Has been cancelled
Default (tags) / metadata (push) Has been cancelled
v3.30.3
2025-03-10 22:07:12 +00:00
philkunz f9c42975dc fix(classes.portproxy.ts): Simplify timeout management in PortProxy and fix chained proxy certificate refresh issues 2025-03-10 22:07:12 +00:00
philkunz feef949afe 3.30.2
Default (tags) / security (push) Successful in 34s
Default (tags) / test (push) Failing after 1m10s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v3.30.2
2025-03-10 14:15:03 +00:00
philkunz 8d3b07b1e6 fix(classes.portproxy.ts): Adjust TLS keep-alive timeout to refresh certificate context. 2025-03-10 14:15:03 +00:00
philkunz 51fe935f1f 3.30.1
Default (tags) / security (push) Successful in 36s
Default (tags) / test (push) Failing after 1m9s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v3.30.1
2025-03-10 14:13:57 +00:00
philkunz 146fac73cf fix(PortProxy): Improve TLS keep-alive management and fix whitespace formatting 2025-03-10 14:13:56 +00:00
philkunz 4465cac807 3.30.0
Default (tags) / security (push) Failing after 16m2s
Default (tags) / test (push) Has been cancelled
Default (tags) / release (push) Has been cancelled
Default (tags) / metadata (push) Has been cancelled
v3.30.0
2025-03-08 12:40:55 +00:00
philkunz 9d7ed21cba feat(PortProxy): Add advanced TLS keep-alive handling and system sleep detection 2025-03-08 12:40:55 +00:00
philkunz 54fbe5beac 3.29.3
Default (tags) / security (push) Successful in 19s
Default (tags) / test (push) Failing after 1m0s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v3.29.3
2025-03-07 15:50:25 +00:00
philkunz 0704853fa2 fix(core): Fix functional errors in the proxy setup and enhance pnpm configuration 2025-03-07 15:50:25 +00:00
philkunz 8cf22ee38b 3.29.2
Default (tags) / security (push) Successful in 39s
Default (tags) / test (push) Failing after 48s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v3.29.2
2025-03-07 15:46:34 +00:00
philkunz f28e68e487 fix(PortProxy): Fix test for PortProxy handling of custom IPs in Docker/CI environments. 2025-03-07 15:46:34 +00:00
philkunz 499aed19f6 3.29.1
Default (tags) / security (push) Successful in 29s
Default (tags) / test (push) Failing after 50s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v3.29.1
2025-03-07 14:34:49 +00:00
philkunz 618b6fe2d1 fix(readme): Update readme for IPTablesProxy options 2025-03-07 14:34:49 +00:00
philkunz d6027c11c1 3.29.0
Default (tags) / security (push) Successful in 39s
Default (tags) / test (push) Failing after 49s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v3.29.0
2025-03-07 14:30:38 +00:00
philkunz bbdea52677 feat(IPTablesProxy): Enhanced IPTablesProxy with multi-port and IPv6 support 2025-03-07 14:30:38 +00:00
philkunz d8585975a8 3.28.6
Default (tags) / security (push) Successful in 39s
Default (tags) / test (push) Failing after 49s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v3.28.6
2025-03-07 11:16:45 +00:00
philkunz 98c61cccbb fix(PortProxy): Adjust default timeout settings and enhance keep-alive connection handling in PortProxy. 2025-03-07 11:16:44 +00:00
philkunz b3dcc0ae22 3.28.5 v3.28.5 2025-03-07 02:55:19 +00:00
philkunz b96d7dec98 fix(core): Ensure proper resource cleanup during server shutdown. 2025-03-07 02:55:19 +00:00
philkunz 0d0a1c740b 3.28.4 v3.28.4 2025-03-07 02:54:34 +00:00
philkunz 9bd87b8437 fix(router): Improve path pattern matching and hostname prioritization in router 2025-03-07 02:54:34 +00:00
philkunz 0e281b3243 3.28.3 v3.28.3 2025-03-06 23:08:57 +00:00
philkunz a14b7802c4 fix(PortProxy): Ensure timeout values are within Node.js safe limits 2025-03-06 23:08:57 +00:00
philkunz 138900ca8b 3.28.2 v3.28.2 2025-03-06 23:00:24 +00:00