Compare commits
16 Commits
Author | SHA1 | Date | |
---|---|---|---|
58ba0d9362 | |||
ccccc5b8c8 | |||
d8466a866c | |||
119b643690 | |||
98f1e0df4c | |||
d6022c8f8a | |||
0ea0f02428 | |||
e452f55203 | |||
55f25f1976 | |||
98b7f3ed7f | |||
cb83caeafd | |||
7850a80452 | |||
ef8f583a90 | |||
2bdd6f8c1f | |||
99d28eafd1 | |||
788b444fcc |
44
changelog.md
44
changelog.md
@ -1,5 +1,49 @@
|
||||
# Changelog
|
||||
|
||||
## 2025-03-11 - 3.32.0 - 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.
|
||||
|
||||
- Implement TlsSessionCache with configurable cleanup, eviction, and statistics.
|
||||
- Improve extractSNIInfo to process multiple TLS records and partial handshake data.
|
||||
- Add new settings to detect chained proxy scenarios and adjust timeouts accordingly.
|
||||
- Enhance TLS state refresh with aggressive probing and deep refresh sequence.
|
||||
|
||||
## 2025-03-11 - 3.31.2 - fix(PortProxy)
|
||||
Improve SNI renegotiation handling by adding flexible domain configuration matching on rehandshake and session resumption events.
|
||||
|
||||
- When a rehandshake is detected with a changed SNI, first check existing domain config rules and log if allowed.
|
||||
- If the exact domain config is not found, additionally attempt flexible matching using parent domain and wildcard patterns.
|
||||
- For resumed sessions, try an exact match first and then use fallback logic to select a similar domain config based on matching target IP.
|
||||
- Enhanced logging added to help diagnose missing or mismatched domain configurations.
|
||||
|
||||
## 2025-03-11 - 3.31.1 - fix(PortProxy)
|
||||
Improve TLS handshake buffering and enhance debug logging for SNI forwarding in PortProxy
|
||||
|
||||
- Explicitly copy the initial TLS handshake data to prevent mutation before buffering
|
||||
- Log buffered TLS handshake data with SNI information for better diagnostics
|
||||
- Add detailed error logs on TLS connection failures, including server and domain config status
|
||||
- Output additional debug messages during ClientHello forwarding to verify proper TLS handshake processing
|
||||
|
||||
## 2025-03-11 - 3.31.0 - feat(PortProxy)
|
||||
Improve TLS handshake SNI extraction and add session resumption tracking in PortProxy
|
||||
|
||||
- Added ITlsSessionInfo interface and a global tlsSessionCache to track TLS session IDs for session resumption
|
||||
- Implemented a cleanup timer for the TLS session cache with startSessionCleanupTimer and stopSessionCleanupTimer
|
||||
- Enhanced extractSNIInfo to return detailed SNI information including session IDs, ticket details, and resumption status
|
||||
- Updated renegotiation handlers to use extractSNIInfo for proper SNI extraction during TLS rehandshake
|
||||
|
||||
## 2025-03-11 - 3.30.8 - fix(core)
|
||||
No changes in this commit.
|
||||
|
||||
|
||||
## 2025-03-11 - 3.30.7 - 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.
|
||||
|
||||
- Added a preliminary check against the original domain config to allow re-handshakes if the new SNI matches allowed patterns.
|
||||
- If the original config does not allow, search for an alternative domain config and validate IP rules.
|
||||
- Update the locked domain when allowed, ensuring connection reuse with valid certificate context.
|
||||
- Terminate the connection if no suitable domain config is found or IP restrictions are violated.
|
||||
|
||||
## 2025-03-11 - 3.30.6 - 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.
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@push.rocks/smartproxy",
|
||||
"version": "3.30.6",
|
||||
"version": "3.32.0",
|
||||
"private": false,
|
||||
"description": "A powerful proxy package that effectively handles high traffic, with features such as SSL/TLS support, port proxying, WebSocket handling, and dynamic routing with authentication options.",
|
||||
"main": "dist_ts/index.js",
|
||||
|
@ -3,6 +3,6 @@
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@push.rocks/smartproxy',
|
||||
version: '3.30.6',
|
||||
version: '3.32.0',
|
||||
description: 'A powerful proxy package that effectively handles high traffic, with features such as SSL/TLS support, port proxying, WebSocket handling, and dynamic routing with authentication options.'
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user