jkunz
3b01144c51
feat(protocol-cache): add sliding TTL re-probing and eviction for backend protocol detection
2026-03-23 09:42:07 +00:00
jkunz
f04875885f
feat(rustproxy-http): add protocol failure suppression, h3 fallback escalation, and protocol cache metrics exposure
2026-03-22 10:20:00 +00:00
jkunz
4fb91cd868
feat(smart-proxy): add UDP transport support with QUIC/HTTP3 routing and datagram handler relay
2026-03-19 15:06:27 +00:00
jkunz
0d4399d7f1
feat(metrics): add per-backend connection, error, protocol, and pool metrics with stale backend pruning
2026-03-12 15:16:11 +00:00
jkunz
c52128f12d
feat(rustproxy-http): add HTTP/2 auto-detection via ALPN with TTL-backed protocol cache and h1-only/h2 ALPN client configs
2026-03-03 11:04:01 +00:00
jkunz
cd7f3f7f75
fix(proxy): adjust default proxy timeouts and keep-alive behavior to shorter, more consistent values
2026-02-26 17:32:35 +00:00
jkunz
f0b7c27996
feat(rustproxy): add protocol-based routing and backend TLS re-encryption support
2026-02-16 12:02:36 +00:00
jkunz
7b3545d1b5
feat(smart-proxy): add background concurrent certificate provisioning with per-domain timeouts and concurrency control
2026-02-14 14:02:25 +00:00
jkunz
7afa4c4c58
BREAKING CHANGE(certs): accept a second eventComms argument in certProvisionFunction, add cert provisioning event types, and emit certificate lifecycle events
2026-02-13 21:24:16 +00:00
jkunz
0e058594c9
BREAKING CHANGE(smart-proxy): move certificate persistence to an in-memory store and introduce consumer-managed certStore API; add default self-signed fallback cert and change ACME account handling
2026-02-13 16:32:02 +00:00
jkunz
7b3009dc53
BREAKING CHANGE(proxies/nftables-proxy): remove nftables-proxy implementation, models, and utilities from the repository
2026-02-09 17:11:37 +00:00
jkunz
1df3b7af4a
feat(rustproxy): introduce a Rust-powered proxy engine and workspace with core crates for proxy functionality, ACME/TLS support, passthrough and HTTP proxies, metrics, nftables integration, routing/security, management IPC, tests, and README updates
2026-02-09 10:55:46 +00:00
jkunz
be3ac75422
fix some tests and prepare next step of evolution
2025-12-09 09:19:13 +00:00
jkunz
d47b048517
feat(detection): add centralized protocol detection module
...
- Created ts/detection module for unified protocol detection
- Implemented TLS and HTTP detectors with fragmentation support
- Moved TLS detection logic from existing code to centralized module
- Updated RouteConnectionHandler to use ProtocolDetector for both TLS and HTTP
- Refactored ACME HTTP parsing to use detection module
- Added comprehensive tests for detection functionality
- Eliminated duplicate protocol detection code across codebase
This centralizes all non-destructive protocol detection into a single module,
improving code organization and reducing duplication between ACME and routing.
2025-07-21 19:40:01 +00:00
jkunz
c84947068c
BREAKING_CHANGE(core): remove legacy forwarding module in favor of route-based system
...
Default (tags) / security (push) Successful in 50s
Default (tags) / test (push) Failing after 30m40s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
- Removed the forwarding namespace export from main index
- Removed TForwardingType and all forwarding handlers
- Consolidated route helper functions into route-helpers.ts
- All functionality is now available through the route-based system
- Users must migrate from forwarding.* imports to direct route helper imports
2025-07-21 18:44:59 +00:00
jkunz
b26abbfd87
update
2025-07-17 15:34:58 +00:00
jkunz
82df9a6f52
update
2025-07-17 15:13:09 +00:00
jkunz
257a5dc319
update
2025-07-13 00:05:32 +00:00
jkunz
5d011ba84c
better logging
2025-07-03 02:32:17 +00:00
jkunz
82ca0381e9
fix(metrics): fix metrics
2025-06-23 13:19:39 +00:00
jkunz
caa15e539e
fix(metrics): fix metrics
2025-06-23 13:07:30 +00:00
jkunz
753b03d3e9
fix(metrics): fix metrics
2025-06-23 08:50:19 +00:00
jkunz
be58700a2f
fix(tests): fix tests
2025-06-23 08:38:14 +00:00
jkunz
e5ec48abd3
fix(tests): fix tests
2025-06-22 23:10:56 +00:00
jkunz
131a454b28
fix(metrics): improve metrics
2025-06-22 22:28:37 +00:00
jkunz
9bf15ff756
feat(metrics): add comprehensive metrics collection system
...
Implement real-time stats tracking including connection counts, request metrics, bandwidth usage, and route-specific monitoring. Adds MetricsCollector with observable streams for reactive monitoring integration.
2025-06-09 15:08:37 +00:00
jkunz
9aebcd488d
Implement connection timeout handling and improve connection cleanup in SmartProxy
2025-06-06 23:34:50 +00:00
jkunz
b3714d583d
Implement PROXY protocol v1 support in SmartProxy
...
- Added ProxyProtocolParser class for parsing and generating PROXY protocol v1 headers.
- Integrated PROXY protocol parsing into RouteConnectionHandler for handling incoming connections from trusted proxies.
- Implemented WrappedSocket class to encapsulate real client information.
- Configured SmartProxy to accept and send PROXY protocol headers in routing actions.
- Developed comprehensive unit tests for PROXY protocol parsing and generation.
- Documented usage patterns, configuration, and best practices for proxy chaining scenarios.
- Added security and performance considerations for PROXY protocol implementation.
2025-06-06 13:45:44 +00:00
jkunz
18d79ac7e1
feat(proxy): Implement WrappedSocket class for PROXY protocol support and update connection handling
2025-06-05 17:57:24 +00:00
philkunz
ab1ea95070
update
2025-05-29 12:15:53 +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
465148d553
fix(strcuture): refactor responsibilities
2025-05-19 17:28:05 +00:00
philkunz
02e77655ad
update
2025-05-19 12:04:26 +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
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
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
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
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
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