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
018a49dbc2
fix(tests): Update test mocks to include provisionAllCertificates methods in certificate manager stubs and related objects.
2025-05-19 23:57:16 +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
da061292ae
fix(certificate-manager): Preserve certificate manager update callback in updateRoutes
2025-05-19 19:17:48 +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
1b4d215cd4
fix(tests): test
2025-05-19 17:59:12 +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
4134d2842c
fix(certificates): Update static-route certificate metadata for ACME challenges
2025-05-19 12:17:21 +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
0faca5e256
fix(tests): Adjust test cases for ACME challenge route handling, mutex locking in route updates, and port management. Remove obsolete challenge-route lifecycle tests and update expected outcomes in port80 management and race condition tests.
2025-05-19 03:42:47 +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
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
35d7dfcedf
BREAKING CHANGE(IRouteSecurity): Consolidate duplicated IRouteSecurity interfaces by unifying property names
2025-05-15 09:34:01 +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
38bacd0e91
fix(test/certificate-provisioning): Update certificate provisioning tests with updated port mapping and ACME options; use accountEmail instead of contactEmail, adjust auto-api route creation to use HTTPS terminate helper, and refine expectations for wildcard passthrough domains.
2025-05-10 18:58:28 +00:00
philkunz
f85698c06a
update
2025-05-10 15:09:58 +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
bb66b98f1d
BREAKING CHANGE(documentation): Update readme documentation to comprehensively describe the new unified route-based configuration system in v14.0.0
2025-05-10 00:06:53 +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
6b910587ab
feat(docs): Update README to reflect new modular architecture and expanded core utilities: add Project Architecture Overview, update export paths and API references, and mark plan tasks as completed
2025-05-09 22:11:56 +00:00
philkunz
88c75d9cc2
BREAKING CHANGE(project-structure): Refactor project structure by updating import paths, removing legacy files, and adjusting test configurations
2025-05-09 21:52:46 +00:00
philkunz
b214e58a26
update
2025-05-09 21:21:28 +00:00
philkunz
2482c8ae6b
BREAKING CHANGE(forwarding): Rename sniPassthrough export to httpsPassthrough for consistent naming and remove outdated forwarding example
2025-05-09 15:47:31 +00:00
philkunz
1a902a04fb
BREAKING CHANGE(forwarding): Refactor unified forwarding API and remove redundant documentation. Removed docs/forwarding-system.md (its content is migrated into readme.md) and updated helper functions (e.g. replacing sniPassthrough with httpsPassthrough) to accept configuration objects. Legacy fields in domain configurations (allowedIPs, blockedIPs, useNetworkProxy, networkProxyPort, connectionTimeout) have been removed in favor of forwarding.security and advanced options. Tests and examples have been updated accordingly.
2025-05-09 15:39:15 +00:00
philkunz
101e2924e4
feat(forwarding): Add unified forwarding system docs and tests; update build script and .gitignore
2025-05-09 14:15:45 +00:00
philkunz
0f356c9bbf
feat(CertificateManager): Implement on-demand certificate retrieval for missing SNI certificates. When no certificate is found for a TLS ClientHello, the system now automatically registers the domain with the Port80Handler to trigger ACME issuance and immediately falls back to using the default certificate to complete the handshake. Additionally, HTTP requests on port 80 for unrecognized domains now return a 503 indicating that certificate issuance is in progress.
2025-05-05 17:03:22 +00:00
philkunz
0e634c46a6
BREAKING CHANGE(smartproxy): Update documentation and refactor core proxy components; remove legacy performRenewals method from SmartProxy; update router type imports and adjust test suites for improved coverage
2025-05-03 13:19:23 +00:00
philkunz
8a396a04fa
BREAKING CHANGE(certProvisioner): Refactor: Introduce unified CertProvisioner to centralize certificate provisioning and renewal; remove legacy ACME config from Port80Handler and update SmartProxy to delegate certificate lifecycle management.
2025-05-02 11:19:14 +00:00
philkunz
09aadc702e
update
2025-05-01 15:39:20 +00:00
philkunz
6944289ea7
BREAKING_CHANGE(core): refactored the codebase to be more maintainable
2025-03-25 22:30:57 +00:00
philkunz
e2ee673197
BREAKING CHANGE(core): refactor: reorganize internal module structure to use classes.pp.* modules
...
- Renamed port proxy and SNI handler source files to classes.pp.portproxy.js and classes.pp.snihandler.js respectively
- Updated import paths in index.ts and test files (e.g. in test.ts and test.router.ts) to reference the new file names
- This refactor improves code organization but breaks direct imports from the old paths
2025-03-14 09:53:25 +00:00
philkunz
e31c84493f
feat(core): Improve wildcard domain matching and enhance NetworkProxy integration in PortProxy. Added support for TLD wildcards and complex wildcard patterns in the router, and refactored TLS renegotiation handling for stricter SNI enforcement.
2025-03-11 11:34:29 +00:00