philkunz
bed1a76537
refactor(socket-utils): replace direct socket cleanup with centralized cleanupSocket utility across connection management
2025-06-01 08:02:32 +00:00
philkunz
eb2e67fecc
feat(socket-utils): implement socket cleanup utilities and enhance socket handling in forwarding handlers
2025-06-01 07:51:20 +00:00
philkunz
96c4de0f8a
fix(connection-manager): set default maxConnections to 10000 if not specified
2025-05-31 18:12:19 +00:00
philkunz
829ae0d6a3
fix(refactor): remove deprecated Port80Handler and related utilities
...
- Deleted event-utils.ts which contained deprecated Port80Handler and its subscribers.
- Updated index.ts to remove the export of event-utils.
- Refactored ConnectionManager to extend LifecycleComponent for better resource management.
- Added BinaryHeap implementation for efficient priority queue operations.
- Introduced EnhancedConnectionPool for managing pooled connections with lifecycle management.
- Implemented LifecycleComponent to manage timers and event listeners automatically.
- Added comprehensive tests for BinaryHeap and LifecycleComponent to ensure functionality.
2025-05-31 18:01:09 +00:00
philkunz
7b81186bb3
feat(performance): Add async utility functions and filesystem utilities
...
- Implemented async utilities including delay, retryWithBackoff, withTimeout, parallelLimit, debounceAsync, AsyncMutex, and CircuitBreaker.
- Created tests for async utilities to ensure functionality and reliability.
- Developed AsyncFileSystem class with methods for file and directory operations, including ensureDir, readFile, writeFile, remove, and more.
- Added tests for filesystem utilities to validate file operations and error handling.
2025-05-31 17:45:40 +00:00
philkunz
e6b3ae395c
update
2025-05-29 14:06:47 +00:00
philkunz
af13d3af10
update
2025-05-29 13:24:27 +00:00
philkunz
ab1ea95070
update
2025-05-29 12:15:53 +00:00
philkunz
b0beeae19e
update
2025-05-29 11:30:42 +00:00
philkunz
6a08bbc558
update
2025-05-29 10:13:41 +00:00
philkunz
200a735876
update
2025-05-29 01:07:39 +00:00
philkunz
d8d1bdcd41
update
2025-05-29 01:00:20 +00:00
philkunz
e4aade4a9a
fix(socket-handler): Fix socket handler race condition by differentiating between async and sync handlers. Now, async socket handlers complete their setup before initial data is emitted, ensuring that no data is lost. Documentation and tests have been updated to reflect this change.
2025-05-29 00:24:57 +00:00
philkunz
6512551f02
update
2025-05-20 16:01:32 +00:00
philkunz
4f3359b348
update
2025-05-20 15:44:48 +00:00
philkunz
669cc2809c
fix(port-manager, certificate-manager): Improve port binding and ACME challenge route integration in SmartProxy
2025-05-20 15:32:19 +00:00
philkunz
c9abdea556
fix(logger): Replace raw console logging calls with structured logger usage across certificate management, connection handling, and route processing for improved observability.
2025-05-19 23:37:11 +00:00
philkunz
91018173b0
fix(certificate-manager, smart-proxy): Fix race condition in ACME certificate provisioning and refactor certificate manager initialization to defer provisioning until after port listeners are active
2025-05-19 22:07:08 +00:00
philkunz
42fe1e5d15
fix(route-connection-handler): Forward non-TLS connections on HttpProxy ports to fix ACME HTTP-01 challenge handling
2025-05-19 19:59:22 +00:00
philkunz
3bf4e97e71
fix(smartproxy): Improve error handling in forwarding connection handler and refine domain matching logic
2025-05-19 18:29:56 +00:00
philkunz
33732c2361
fix(smartproxy): Correct NFTables forwarding handling to avoid premature connection termination and add comprehensive tests
2025-05-19 17:56:48 +00:00
philkunz
465148d553
fix(strcuture): refactor responsibilities
2025-05-19 17:28:05 +00:00
philkunz
6d3e72c948
fix(SmartCertManager): Preserve certificate manager update callback during route updates
2025-05-19 13:23:16 +00:00
philkunz
02e77655ad
update
2025-05-19 12:04:26 +00:00
philkunz
ec81678651
feat(smartproxy): Update dependencies and enhance ACME certificate provisioning with wildcard support
2025-05-19 10:11:29 +00:00
philkunz
3fcdce611c
fix(acme): Fix port 80 ACME management and challenge route concurrency issues by deduplicating port listeners, preserving challenge route state across certificate manager recreations, and adding mutex locks to route updates.
2025-05-19 03:40:58 +00:00
philkunz
094edfafd1
fix(acme): Refactor ACME challenge route lifecycle to prevent port 80 EADDRINUSE errors
2025-05-19 01:59:52 +00:00
philkunz
8fd861c9a3
fix(certificate-management): Fix loss of route update callback during dynamic route updates in certificate manager
2025-05-18 23:07:31 +00:00
philkunz
68738137a0
feat(acme): Improve certificate management by adding global ACME configuration support and allowing route-level overrides. Enhanced error messages help identify missing ACME email and misconfigurations (e.g. wildcard domains). Documentation has been updated and new tests added to verify SmartCertManager behavior, ensuring a clearer migration path from legacy implementations.
2025-05-18 18:29:59 +00:00
philkunz
41f7d09c52
feat(RouteManager): Add getAllRoutes API to RouteManager and update test environment to improve timeouts, logging, and cleanup; remove deprecated test files and adjust devDependencies accordingly
2025-05-18 18:08:55 +00:00
philkunz
455b08b36c
BREAKING CHANGE(certificates): Remove legacy certificate modules and Port80Handler; update documentation and route configurations to use SmartCertManager for certificate management.
2025-05-18 16:30:23 +00:00
philkunz
e224f34a81
feat(smartproxy/certificate): Integrate HTTP-01 challenge handler into ACME certificate provisioning workflow
2025-05-18 15:56:52 +00:00
philkunz
538d22f81b
update
2025-05-18 15:51:09 +00:00
philkunz
01b4a79e1a
fix(certificates): simplify approach
2025-05-18 15:38:07 +00:00
philkunz
1a038f001f
fix(network-proxy/websocket): Improve WebSocket connection closure and update router integration
2025-05-15 20:08:18 +00:00
philkunz
5d0b68da61
feat(nftables): Add NFTables integration for kernel-level forwarding and update documentation, tests, and helper functions
2025-05-15 19:39:09 +00:00
philkunz
a2e3e38025
feat(nftables):add nftables support for nftables
2025-05-15 14:35:01 +00:00
philkunz
94e9eafa25
fix(smartproxy): Consolidate duplicate IRouteSecurity interfaces to use standardized property names (ipAllowList and ipBlockList), fix port preservation logic for preserve mode in forward actions, and update dependency versions in package.json.
2025-05-15 09:56:32 +00:00
philkunz
35d7dfcedf
BREAKING CHANGE(IRouteSecurity): Consolidate duplicated IRouteSecurity interfaces by unifying property names
2025-05-15 09:34:01 +00:00
philkunz
ac3a888453
BREAKING CHANGE(smartproxy): Remove legacy migration utilities and deprecated forwarding helpers; consolidate route utilities, streamline interface definitions, and normalize IPv6-mapped IPv4 addresses
2025-05-15 08:56:27 +00:00
philkunz
340823296a
fix(smartproxy): Update dynamic port mapping to support
2025-05-14 18:35:06 +00:00
philkunz
bb54ea8192
fix(network-proxy, route-utils, route-manager): Normalize IPv6-mapped IPv4 addresses in IP matching functions and remove deprecated legacy configuration methods in NetworkProxy. Update route-utils and route-manager to compare both canonical and IPv6-mapped IP forms, adjust tests accordingly, and clean up legacy exports.
2025-05-14 12:26:43 +00:00
philkunz
0fe0692e43
fix tests
2025-05-13 21:28:02 +00:00
philkunz
fcc8cf9caa
fix(routing): unify route based architecture
2025-05-13 12:48:41 +00:00
philkunz
ffc8b22533
update
2025-05-10 13:59:34 +00:00
philkunz
a2eb0741e9
BREAKING CHANGE(smartproxy/configuration): Migrate SmartProxy to a fully unified route‐based configuration by removing legacy domain-based settings and conversion code. CertProvisioner, NetworkProxyBridge, and RouteManager now use IRouteConfig exclusively, and related legacy interfaces and files have been removed.
2025-05-10 07:56:21 +00:00
philkunz
b4a0e4be6b
feat(smartproxy): Update documentation and route helper functions; add createPortRange, createSecurityConfig, createStaticFileRoute, and createTestRoute helpers to the readme and tests. Refactor test examples to use the new helper API and remove legacy connection handling files (including the old connection handler and PortRangeManager) to fully embrace the unified route‐based configuration.
2025-05-10 07:34:35 +00:00
philkunz
529857220d
fix
2025-05-10 00:49:39 +00:00
philkunz
8dd222443d
fix: Make SmartProxy work with pure route-based configuration
2025-05-10 00:28:35 +00:00
philkunz
200635e4bd
fix
2025-05-10 00:26:03 +00:00