Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
4ccc1db8a2 | |||
7e3ed93bc9 | |||
fa793f2c4a | |||
fe8106f0c8 | |||
b317ab8b3a | |||
4fd5524a0f |
23
changelog.md
23
changelog.md
@ -1,5 +1,28 @@
|
||||
# Changelog
|
||||
|
||||
## 2025-03-05 - 3.25.3 - fix(core)
|
||||
Update dependencies and configuration improvements.
|
||||
|
||||
- Upgrade TypeScript version to 5.8.2 for better compatibility.
|
||||
- Ensure all proxy and server tests pass with updated configurations.
|
||||
- Improve logging for better traceability in proxy operations.
|
||||
- Add handlers for WebSockets and HTTPS improvements.
|
||||
- Fix various issues related to proxy timeout and connection handling.
|
||||
- Update test certificates validation for better test coverage.
|
||||
|
||||
## 2025-03-05 - 3.25.2 - fix(PortProxy)
|
||||
Adjust timeout settings and handle inactivity properly in PortProxy.
|
||||
|
||||
- Changed initialDataTimeout default to 30 seconds for better handling of initial data reception.
|
||||
- Adjusted keepAliveInitialDelay to 30 seconds for consistent socket optimization.
|
||||
- Introduced proper inactivity handling with updated timeout logic.
|
||||
- Parity check now accounts for a 120-second threshold for outgoing socket closure.
|
||||
|
||||
## 2025-03-05 - 3.25.1 - fix(PortProxy)
|
||||
Adjust inactivity threshold to a random value between 20 and 30 minutes for better variability
|
||||
|
||||
- Modified inactivity threshold calculation within PortProxy to use a random value between 1.2 and 1.8 million milliseconds.
|
||||
|
||||
## 2025-03-05 - 3.25.0 - feat(PortProxy)
|
||||
Enhanced PortProxy with detailed logging, protocol detection, and rate limiting.
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@push.rocks/smartproxy",
|
||||
"version": "3.25.0",
|
||||
"version": "3.25.3",
|
||||
"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.25.0',
|
||||
version: '3.25.3',
|
||||
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.'
|
||||
}
|
||||
|
@ -243,7 +243,7 @@ export class PortProxy {
|
||||
targetIP: settingsArg.targetIP || 'localhost',
|
||||
|
||||
// Timeout settings with browser-friendly defaults
|
||||
initialDataTimeout: settingsArg.initialDataTimeout || 15000, // 15 seconds
|
||||
initialDataTimeout: settingsArg.initialDataTimeout || 30000, // 30 seconds
|
||||
socketTimeout: settingsArg.socketTimeout || 300000, // 5 minutes
|
||||
inactivityCheckInterval: settingsArg.inactivityCheckInterval || 30000, // 30 seconds
|
||||
|
||||
@ -258,7 +258,7 @@ export class PortProxy {
|
||||
// Socket optimization settings
|
||||
noDelay: settingsArg.noDelay !== undefined ? settingsArg.noDelay : true,
|
||||
keepAlive: settingsArg.keepAlive !== undefined ? settingsArg.keepAlive : true,
|
||||
keepAliveInitialDelay: settingsArg.keepAliveInitialDelay || 60000, // 1 minute
|
||||
keepAliveInitialDelay: settingsArg.keepAliveInitialDelay || 30000, // 30 seconds
|
||||
maxPendingDataSize: settingsArg.maxPendingDataSize || 1024 * 1024, // 1MB
|
||||
|
||||
// Feature flags
|
||||
@ -1202,7 +1202,7 @@ export class PortProxy {
|
||||
if (record.outgoingClosedTime &&
|
||||
!record.incoming.destroyed &&
|
||||
!record.connectionClosed &&
|
||||
(now - record.outgoingClosedTime > 30000)) {
|
||||
(now - record.outgoingClosedTime > 120000)) {
|
||||
const remoteIP = record.remoteIP;
|
||||
console.log(`[${id}] Parity check: Incoming socket for ${remoteIP} still active ${plugins.prettyMs(now - record.outgoingClosedTime)} after outgoing closed.`);
|
||||
this.cleanupConnection(record, 'parity_check');
|
||||
@ -1211,7 +1211,7 @@ export class PortProxy {
|
||||
// Skip inactivity check if disabled
|
||||
if (!this.settings.disableInactivityCheck) {
|
||||
// Inactivity check - use protocol-specific values
|
||||
let inactivityThreshold = 180000; // 3 minutes default
|
||||
let inactivityThreshold = Math.floor(Math.random() * (1800000 - 1200000 + 1)) + 1200000; // random between 20 and 30 minutes
|
||||
|
||||
// Set protocol-specific inactivity thresholds
|
||||
if (record.protocolType === 'http' && record.isPooledConnection) {
|
||||
|
Reference in New Issue
Block a user