7b3ab7378b
feat(test): add end-to-end WebSocket proxy test coverage
2026-04-04 17:59:04 +00:00
788ccea81e
BREAKING CHANGE(smart-proxy): remove route helper APIs and standardize route configuration on plain route objects
2026-03-26 20:45:41 +00:00
fc04a0210b
BREAKING CHANGE(ts-api,rustproxy): remove deprecated TypeScript protocol and utility exports while hardening QUIC, HTTP/3, WebSocket, and rate limiter cleanup paths
2026-03-21 22:23:38 +00:00
0fb3988123
fix(deps): update build and runtime dependencies and align route validation test expectations
2026-03-19 16:21:37 +00:00
e890bda8fc
feat(udp,http3): add UDP datagram handler relay support and stream HTTP/3 request bodies to backends
2026-03-19 16:09:51 +00:00
db2e586da2
feat(proxy-protocol): add PROXY protocol v2 support to the Rust passthrough listener and streamline TypeScript proxy protocol exports
2026-03-19 12:41:26 +00:00
d51b2c5890
fix(rustproxy): Cancel connections for routes removed/disabled by adding per-route cancellation tokens and make RouteManager swappable (ArcSwap) for runtime updates
2026-03-03 16:14:16 +00:00
33cd5330c4
fix(rustproxy): Use cooperative cancellation for background tasks, prune stale caches and metric entries, and switch tests to dynamic port allocation to avoid port conflicts
2026-02-24 20:56:37 +00:00
9368226ce0
fix(tests): use high non-privileged ports in tests to avoid conflicts and CI failures
2026-02-21 13:27:55 +00:00
d4739045cd
feat: enhance HTTP/2 support by ensuring Host header is set and adding multiplexed request tests
2026-02-20 18:30:57 +00:00
9521f2e044
feat: add TCP keepalive options and connection pooling for improved performance
...
- Added `socket2` dependency for socket options.
- Introduced `keep_alive`, `keep_alive_initial_delay_ms`, and `max_connections` fields in `ConnectionConfig`.
- Implemented TCP keepalive settings in `TcpListenerManager` for both client and backend connections.
- Created a new `ConnectionPool` for managing idle HTTP/1.1 and HTTP/2 connections to reduce overhead.
- Enhanced TLS configuration to support ALPN for HTTP/2.
- Added performance tests for connection pooling, stability, and concurrent connections.
2026-02-20 18:16:09 +00:00
c7722c30f3
fix(throughput): add tests for per-IP connection tracking and throughput history; assert per-IP eviction after connection close to prevent memory leak
2026-02-19 09:12:50 +00:00
2e3cf515a4
feat(routes): add protocol-based route matching and ensure terminate-and-reencrypt routes HTTP through the full HTTP proxy; update docs and tests
2026-02-16 12:11:49 +00:00
6bbd2b3ee1
test(metrics): add v25.2.0 end-to-end assertions for per-IP, history, and HTTP request metrics
2026-02-14 12:24:48 +00:00
1f95d2b6c4
feat(metrics): add real-time throughput sampling and byte-counting metrics
2026-02-13 23:18:22 +00:00
bc2bc874a5
fix(tests): make tests more robust and bump small dependencies
2026-02-12 22:35:25 +00:00
5019658032
fix(core): use node: scoped builtin imports and add route unit tests
2026-02-11 13:48:30 +00:00
f7605e042e
feat(smart-proxy): add socket-handler relay, fast-path port-only forwarding, metrics and bridge improvements, and various TS/Rust integration fixes
2026-02-09 16:25:33 +00:00
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
9146d7c758
fix(tests): shorten long-lived connection test timeouts and update certificate metadata timestamps
2026-01-31 02:01:23 +00:00
2068b7a1ad
fix(smartproxy): improve certificate manager mocking in tests, enhance IPv6 validation, and record initial bytes for connection metrics
2026-01-30 19:52:36 +00:00
c2dd7494d6
feat(smart-proxy): calculate when SNI is required for TLS routing and allow session tickets for single-target passthrough routes; add tests, docs, and npm metadata updates
2026-01-30 10:44:28 +00:00
05c5635a13
fix(tests): Normalize route configurations in tests to use name (remove id) and standardize route names
2025-12-09 21:39:49 +00:00
9c25bf0a27
feat(smart-proxy): Improve connection/rate-limit atomicity, SNI parsing, HttpProxy & ACME orchestration, and routing utilities
2025-12-09 13:07:29 +00:00
c4b9d7eb72
BREAKING CHANGE(smart-proxy/utils/route-validator): Consolidate and refactor route validators; move to class-based API and update usages
...
Replaced legacy route-validators.ts with a unified route-validator.ts that provides a class-based RouteValidator plus the previous functional API (isValidPort, isValidDomain, validateRouteMatch, validateRouteAction, validateRouteConfig, validateRoutes, hasRequiredPropertiesForAction, assertValidRoute) for backwards compatibility. Updated utils exports and all imports/tests to reference the new module. Also switched static file loading in certificate manager to use SmartFileFactory.nodeFs(), and added @push.rocks/smartserve to devDependencies.
2025-12-09 09:33:50 +00:00
be3ac75422
fix some tests and prepare next step of evolution
2025-12-09 09:19:13 +00:00
3efd9c72ba
fix(route-validator): Relax domain validation to accept localhost, prefix wildcards (e.g. *example.com) and IP literals; add comprehensive domain validation tests
2025-08-19 13:58:22 +00:00
c909d3db3e
fix(ip-utils): Fix IP wildcard/shorthand handling and add validation test
2025-08-19 11:38:20 +00:00
4fea28ffb7
update
2025-07-22 11:28:06 +00:00
a459d77b6f
update
2025-07-22 10:35:39 +00:00
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
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
aa6ddbc4a6
BREAKING_CHANGE(routing): refactor route configuration to support multiple targets
Default (tags) / security (push) Successful in 53s
Default (tags) / test (push) Failing after 31m2s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-07-21 08:52:07 +00:00
6aa5f415c1
update
2025-07-17 20:51:50 +00:00
b26abbfd87
update
2025-07-17 15:34:58 +00:00
82df9a6f52
update
2025-07-17 15:13:09 +00:00
eac6075a12
fix(cert): fix tsclass ICert usage
2025-07-13 00:41:44 +00:00
257a5dc319
update
2025-07-13 00:05:32 +00:00
5d011ba84c
better logging
2025-07-03 02:32:17 +00:00
be58700a2f
fix(tests): fix tests
2025-06-23 08:38:14 +00:00
1aead55296
fix(tests): fix tests
2025-06-22 23:15:30 +00:00
e5ec48abd3
fix(tests): fix tests
2025-06-22 23:10:56 +00:00
131a454b28
fix(metrics): improve metrics
2025-06-22 22:28:37 +00:00
8347e0fec7
19.6.2
Default (tags) / security (push) Successful in 45s
Default (tags) / test (push) Failing after 34m50s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-06-09 22:13:56 +00:00
fc09af9afd
19.6.1
Default (tags) / security (push) Successful in 41s
Default (tags) / test (push) Failing after 31m49s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-06-09 16:37:46 +00:00
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
dc3eda5e29
fix accumulation
2025-06-08 12:25:31 +00:00
890e907664
fix(connection): filter zombie connections part 2
2025-06-07 20:37:49 +00:00
47735adbf2
Implement zombie connection detection and cleanup in ConnectionManager; enhance tests for edge cases
2025-06-07 10:55:59 +00:00
9aebcd488d
Implement connection timeout handling and improve connection cleanup in SmartProxy
2025-06-06 23:34:50 +00:00