smartproxy/changelog.md

5.9 KiB

Changelog

2025-02-21 - 3.7.1 - fix(smartproxy.portproxy)

Optimize SNI handling by simplifying context creation

  • Removed unnecessary SecureContext creation for SNI requests in PortProxy
  • Improved handling of SNI passthrough by acknowledging requests without context creation

2025-02-21 - 3.7.0 - feat(PortProxy)

Add optional source IP preservation support in PortProxy

  • Added a feature to optionally preserve the client's source IP when proxying connections.
  • Enhanced test cases to include scenarios for source IP preservation.

2025-02-21 - 3.6.0 - feat(PortProxy)

Add feature to preserve original client IP through chained proxies

  • Added support to bind local address in PortProxy to preserve original client IP.
  • Implemented test for chained proxies to ensure client IP is preserved.

2025-02-21 - 3.5.0 - feat(PortProxy)

Enhance PortProxy to support domain-specific target IPs

  • Introduced support for domain-specific target IP configurations in PortProxy.
  • Updated connection handling to prioritize domain-specific target IPs if provided.
  • Added tests to verify forwarding based on domain-specific target IPs.

2025-02-21 - 3.4.4 - fix(PortProxy)

Fixed handling of SNI domain connections and IP allowance checks

  • Improved logic for handling SNI domain checks, ensuring IPs are correctly verified.
  • Fixed issue where default allowed IPs were not being checked correctly for non-SNI connections.
  • Revised the SNICallback behavior to handle connections more gracefully when domain configurations are unavailable.

2025-02-21 - 3.4.3 - fix(PortProxy)

Fixed indentation issue and ensured proper cleanup of sockets in PortProxy

  • Fixed inconsistent indentation in IP allowance check.
  • Ensured proper cleanup of sockets on connection end in PortProxy.

2025-02-21 - 3.4.2 - fix(smartproxy)

Enhance SSL/TLS handling with SNI and error logging

  • Improved handling for SNI-enabled and non-SNI connections
  • Added detailed logging for connection establishment and rejections
  • Introduced error logging for TLS client errors and server errors

2025-02-21 - 3.4.1 - fix(PortProxy)

Normalize IP addresses for port proxy to handle IPv4-mapped IPv6 addresses.

  • Improved IP normalization logic in PortProxy to support IPv4-mapped IPv6 addresses.
  • Updated isAllowed function to expand patterns for better matching accuracy.

2025-02-21 - 3.4.0 - feat(PortProxy)

Enhanced PortProxy with custom target host and improved testing

  • PortProxy constructor now accepts 'fromPort', 'toPort', and optional 'toHost' directly from settings
  • Refactored test cases to cover forwarding to the custom host
  • Added support to handle multiple concurrent connections
  • Refactored internal connection handling logic to utilize default configurations

2025-02-21 - 3.3.1 - fix(PortProxy)

fixed import usage of net and tls libraries for PortProxy

  • Corrected the use of plugins for importing 'tls' and 'net' libraries in the PortProxy module.
  • Updated the constructor of PortProxy to accept combined tls options with ProxySettings.

2025-02-21 - 3.3.0 - feat(PortProxy)

Enhanced PortProxy with domain and IP filtering, SNI support, and minimatch integration

  • Added new ProxySettings interface to configure domain patterns, SNI, and default allowed IPs.
  • Integrated minimatch to filter allowed IPs and domains.
  • Enabled SNI support for PortProxy connections.
  • Updated port proxy test to accommodate new settings.

2025-02-04 - 3.2.0 - feat(testing)

Added a comprehensive test suite for the PortProxy class

  • Set up a test environment for PortProxy using net.Server.
  • Test coverage includes starting and stopping the proxy, handling TCP connections, concurrent connections, and timeouts.
  • Ensures proper resource cleanup after tests.

2025-02-04 - 3.1.4 - fix(core)

No uncommitted changes. Preparing for potential minor improvements or bug fixes.

2025-02-04 - 3.1.3 - fix(networkproxy)

Refactor and improve WebSocket handling and request processing

  • Improved error handling in WebSocket connection and request processing.
  • Refactored the WebSocket handling in NetworkProxy to use a unified error logging mechanism.

2025-02-04 - 3.1.2 - fix(core)

Refactor certificate handling across the project

  • Moved certificate keys and certs to the assets/certs directory.
  • Updated test utilities to load certificates from the central location.
  • Cleaned up redundant code and improved error logging regarding certificates.
  • Ensured correct handling of host header in ProxyRouter class.

2025-02-03 - 3.1.1 - fix(workflow)

Update Gitea workflow paths and dependencies

  • Updated registry paths for npmci image and repositories in Gitea workflow files.
  • Fixed dependency paths in package.json.
  • Completed adding typescript to the list of devDependencies.

2024-10-07 - 3.1.0 - feat(NetworkProxy)

Introduce WebSocket heartbeat to maintain active connections in NetworkProxy

  • Added heartbeat mechanism to WebSocket connections to ensure they remain active.
  • Terminating WebSocket if no pong is received for 5 minutes.
  • Set up heartbeat interval to run every 1 minute for connection checks.

2024-10-07 - 3.0.61 - fix(networkproxy)

Improve error handling for proxy requests

  • Wrapped proxy request logic in a try-catch block to handle errors gracefully.
  • Improved error handling for WebSocket communication by checking errors before attempting to send messages.
  • Added logging for error cases to aid in debugging.

2024-05-29 - 3.0.60 - various updates

Maintenance updates and adjustments.

  • Updated project description
  • Updated tsconfig settings
  • Updated npmextra.json with new githost info

2023-07-27 - 3.0.58 to 3.0.59 - core improvements

Improvements and internal restructuring.

  • Switch to a new organizational scheme
  • Core updates and adjustments

2022-07-29 - 2.0.16 to 3.0.0 - major transition

This release marks a major transition with several breaking changes.

  • BREAKING CHANGE: switched core to ESM (EcmaScript Module)
  • Major core updates