9a9bcd2df0fix(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
0de7531e17BREAKING CHANGE(redirect): Remove deprecated SSL redirect implementation and update exports to use the new redirect modulePhilipp Kunz2025-04-04 17:15:50 +00:00
27f9b1eac1fix(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
88a1891bcffeat(docs): docs: replace IPTablesProxy references with NfTablesProxy in README and examples, updating configuration options and diagrams for advanced nftables featuresPhilipp Kunz2025-03-18 22:04:37 +00:00
9b5b8225bcBREAKING CHANGE(nftables): Replace IPTablesProxy with NfTablesProxy and update module exports in index.tsPhilipp Kunz2025-03-18 21:55:09 +00:00
b7b47cd11ffeat(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
f8c86c76aefix(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
9cb6e397b9fix(ts/index.ts): Fix export order in ts/index.ts by moving the port proxy export back and adding interfaces export for proper module exposurePhilipp Kunz2025-03-18 12:49:52 +00:00
426249e70efix(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
ca6f6de798fix(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
c6350e271afix(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
35f6739b3cfix(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
e126032b61fix(classes.pp.connectionhandler): Replace unrecognized_name alert data with certificate_expired alert in TLS handshake handling for session resumption without SNIPhilipp Kunz2025-03-17 13:09:54 +00:00
e8639e1b01fix(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
f72db86e37fix(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
1c34578c36fix(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
67ddf97547fix(classes.pp.connectionhandler): Improve TLS alert handling in ClientHello when SNI is missing and session tickets are disallowedPhilipp Kunz2025-03-16 13:47:34 +00:00
2b6464acd5fix(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 SNIPhilipp Kunz2025-03-16 13:28:48 +00:00
9dd402054dfix(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
cad0e6a2b2fix(ConnectionHandler): Refactor ConnectionHandler code formatting for improved readability and consistency in log messages and whitespace handlingPhilipp Kunz2025-03-15 19:10:54 +00:00
ee79f9ab7cfix(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
97982976c8fix(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
9aa747b5d4feat(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
baaee0ad4dfix(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
ab1ec84832fix(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
1a90566622fix(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
62a3e1f4b7fix(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
29d28fba93feat(SniHandler): Add session cache support and tab reactivation detection to improve SNI extraction in TLS handshakesPhilipp Kunz2025-03-11 18:05:20 +00:00
415b82a84afix(PortProxy): Improve SNI extraction handling in PortProxy by passing explicit connection info to extractSNIWithResumptionSupport for better TLS renegotiation and debug logging.Philipp Kunz2025-03-11 17:37:43 +00:00
0e12706176feat(SniHandler): Enhance SNI extraction to support fragmented ClientHello messages, TLS 1.3 early data, and improved PSK parsingPhilipp Kunz2025-03-11 17:33:31 +00:00
36e4341315fix(snihandler): Enhance SNI extraction to support TLS 1.3 PSK-based session resumption by adding a dedicated extractSNIFromPSKExtension method and improved logging for session resumption indicators.Philipp Kunz2025-03-11 17:23:57 +00:00
43378becd2fix(PortProxy): Improve buffering and data handling during connection setup in PortProxy to prevent data lossPhilipp Kunz2025-03-11 17:05:15 +00:00