Commit Graph

98 Commits

Author SHA1 Message Date
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 a2e3e38025 feat(nftables):add nftables support for nftables 2025-05-15 14:35:01 +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 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
philkunz 28022ebe87 change to route based approach 2025-05-10 00:01:02 +00:00
philkunz f8647516b5 fix(typescript): Refactor types and interfaces to use consistent I prefix and update related tests 2025-05-09 22:46:53 +00:00
philkunz b214e58a26 update 2025-05-09 21:21:28 +00:00
philkunz 4ac1df059f feat(acme): Add ACME interfaces for Port80Handler and refactor ChallengeResponder to use new acme-interfaces, enhancing event subscription and certificate workflows. 2025-05-09 17:28:27 +00:00
philkunz f1c0b8bfb7 update structure 2025-05-09 17:00:27 +00:00