46214f5380
fix(networkproxy/requesthandler): Improve HTTP/2 request handling and error management in the proxy request handler; add try-catch around routing and update header processing to support per-backend protocol overrides.
Philipp Kunz2025-04-19 18:42:36 +00:00
04abab505b
feat(core): Add backendProtocol option to support HTTP/2 client sessions alongside HTTP/1. This update enhances NetworkProxy's core functionality by integrating HTTP/2 support in server creation and request handling, while updating plugin exports and documentation accordingly.
Philipp Kunz2025-04-19 18:31:10 +00:00
9a9bcd2df0
fix(package.json): Update packageManager field in package.json to specify the pnpm version for improved reproducibility.
Philipp Kunz2025-04-05 08:54:34 +00:00
0de7531e17
BREAKING CHANGE(redirect): Remove deprecated SSL redirect implementation and update exports to use the new redirect module
Philipp Kunz2025-04-04 17:15:50 +00:00
27f9b1eac1
fix(readme): Update README documentation: replace all outdated PortProxy references with SmartProxy, adjust architecture diagrams, code examples, and configuration details (including correcting IPTables to NfTables) to reflect the new naming.
Philipp Kunz2025-03-25 22:35:36 +00:00
88a1891bcf
feat(docs): docs: replace IPTablesProxy references with NfTablesProxy in README and examples, updating configuration options and diagrams for advanced nftables features
Philipp Kunz2025-03-18 22:04:37 +00:00
9b5b8225bc
BREAKING CHANGE(nftables): Replace IPTablesProxy with NfTablesProxy and update module exports in index.ts
Philipp Kunz2025-03-18 21:55:09 +00:00
b7b47cd11f
feat(Port80Handler): Add glob pattern support for domain certificate management in Port80Handler. Wildcard domains are now detected and skipped in certificate issuance and retrieval, ensuring that only explicit domains receive ACME certificates and improving route matching.
Philipp Kunz2025-03-18 15:00:24 +00:00
531350a1c1
fix(Port80Handler): Restrict ACME HTTP-01 challenge handling to domains with acmeMaintenance or acmeForward enabled
Philipp Kunz2025-03-18 14:56:57 +00:00
f8c86c76ae
fix(networkproxy): Refactor certificate management components: rename AcmeCertManager to Port80Handler and update related event names from CertManagerEvents to Port80HandlerEvents. The changes update internal API usage in ts/classes.networkproxy.ts and ts/classes.port80handler.ts to unify and simplify ACME certificate handling and HTTP-01 challenge management.
Philipp Kunz2025-03-18 14:53:39 +00:00
9cb6e397b9
fix(ts/index.ts): Fix export order in ts/index.ts by moving the port proxy export back and adding interfaces export for proper module exposure
Philipp Kunz2025-03-18 12:49:52 +00:00
4b30e377b9
fix(connectionhandler): Remove unnecessary delay in TLS session ticket handling for connections without SNI
Philipp Kunz2025-03-18 00:32:01 +00:00
426249e70e
fix(connectionhandler): Ensure proper termination of TLS connections without SNI by explicitly ending the socket after sending the unrecognized_name alert. This prevents the connection from hanging and avoids potential duplicate handling.
Philipp Kunz2025-03-18 00:29:17 +00:00
b55e2da23e
feat(tlsalert): add sendForceSniSequence and sendFatalAndClose helper functions to TlsAlert for improved SNI enforcement
Philipp Kunz2025-03-17 14:27:10 +00:00
ca6f6de798
fix(tls): Improve TLS alert handling in connection handler: use the new TlsAlert class to send proper unrecognized_name alerts when a ClientHello is missing SNI and wait for a retry on the same connection before closing. Also, add alertFallbackTimeout tracking to connection records for better timeout management.
Philipp Kunz2025-03-17 13:37:48 +00:00
c6350e271a
fix(ConnectionHandler): Use the correct TLS alert data and increase the delay before socket termination when session resumption without SNI is detected.
Philipp Kunz2025-03-17 13:19:18 +00:00
35f6739b3c
fix(tls-handshake): Set certificate_expired TLS alert level to warning instead of fatal to allow graceful termination.
Philipp Kunz2025-03-17 13:15:12 +00:00
e126032b61
fix(classes.pp.connectionhandler): Replace unrecognized_name alert data with certificate_expired alert in TLS handshake handling for session resumption without SNI
Philipp Kunz2025-03-17 13:09:54 +00:00
e8639e1b01
fix(connectionhandler): Increase delay before cleaning up connections when session resumption is blocked due to missing SNI, allowing more natural socket termination.
Philipp Kunz2025-03-17 13:00:02 +00:00
f72db86e37
fix(ConnectionHandler): Replace closeNotify alert with handshake failure alert in TLS ClientHello handling to properly signal missing SNI and enforce session ticket restrictions.
Philipp Kunz2025-03-16 14:13:35 +00:00
1c34578c36
fix(ConnectionHandler/tls): Change the TLS alert sent when a ClientHello lacks SNI: use the close_notify alert instead of handshake_failure to prompt immediate retry with SNI.
Philipp Kunz2025-03-16 14:02:18 +00:00
67ddf97547
fix(classes.pp.connectionhandler): Improve TLS alert handling in ClientHello when SNI is missing and session tickets are disallowed
Philipp Kunz2025-03-16 13:47:34 +00:00
2b6464acd5
fix(tls): Refine TLS ClientHello handling when allowSessionTicket is false by replacing extensive alert timeout logic with a concise warning alert and short delay, encouraging immediate client retry with proper SNI
Philipp Kunz2025-03-16 13:28:48 +00:00
9dd402054d
fix(TLS/ConnectionHandler): Improve handling of TLS session resumption without SNI by sending an unrecognized_name alert instead of immediately terminating the connection. This change adds a grace period for the client to retry the handshake with proper SNI and cleans up the connection if no valid response is received.
Philipp Kunz2025-03-16 13:19:37 +00:00
cad0e6a2b2
fix(ConnectionHandler): Refactor ConnectionHandler code formatting for improved readability and consistency in log messages and whitespace handling
Philipp Kunz2025-03-15 19:10:54 +00:00
ee79f9ab7c
fix(connectionhandler): Improve handling of TLS ClientHello messages when allowSessionTicket is disabled and no SNI is provided by sending a warning alert (unrecognized_name, code 0x70) with a proper callback and delay to ensure the alert is transmitted before closing the connection.
Philipp Kunz2025-03-15 18:51:50 +00:00
97982976c8
fix(connectionhandler): Send proper TLS alert before terminating connections when SNI is missing and session tickets are disallowed.
Philipp Kunz2025-03-15 17:16:18 +00:00
252a987344
fix(tls): Enforce strict SNI handling in TLS connections by terminating ClientHello messages lacking SNI when session tickets are disallowed and removing legacy session cache code.
Philipp Kunz2025-03-15 17:00:10 +00:00
9aa747b5d4
feat(SniHandler): Enhance SNI extraction to support session caching and tab reactivation by adding session cache initialization, cleanup and helper methods. Update processTlsPacket to use cached SNI for session resumption and connection racing scenarios.
Philipp Kunz2025-03-14 11:34:52 +00:00
baaee0ad4d
fix(portproxy): Enforce TLS handshake and SNI validation on port 443 by blocking non-TLS connections and terminating session resumption attempts without SNI when allowSessionTicket is disabled.
Philipp Kunz2025-03-12 10:27:25 +00:00
ab1ec84832
fix(tls/sni): Improve logging for TLS session resumption by extracting and logging SNI values from ClientHello messages.
Philipp Kunz2025-03-12 10:01:54 +00:00
1a90566622
fix(TLS/SNI): Improve TLS session resumption handling and logging. Now, session resumption attempts are always logged with details, and connections without a proper SNI are rejected when allowSessionTicket is disabled. In addition, empty SNI extensions are explicitly treated as missing, ensuring stricter and more consistent TLS handshake validation.
Philipp Kunz2025-03-12 09:56:21 +00:00
62a3e1f4b7
fix(SniHandler): Improve TLS SNI session resumption handling: connections containing a session ticket are now only rejected when no SNI is present and allowSessionTicket is disabled. Updated return values and logging for clearer resumption detection.
Philipp Kunz2025-03-11 19:38:41 +00:00
29d28fba93
feat(SniHandler): Add session cache support and tab reactivation detection to improve SNI extraction in TLS handshakes
Philipp Kunz2025-03-11 18:05:20 +00:00