- Introduced SelfDialMark to differentiate between self-initiated connections and others, ensuring proper routing and bypassing of DPI.
- Enhanced relay connection handling to report stalls when upstream connections become silent, improving reliability of worker relays.
- Added tests for stall reporting and self-dial mark functionality to ensure correctness.
- Updated various components to utilize the new self-dial mark and stall reporting mechanisms, including routing and proxy rules.
- Implemented a tgprobe tool for testing upstream connections with configurable parameters.
- Implemented `setattr_test.go` to test TCP port filtering behavior, ensuring sets scoped to specific TCP ports do not process packets on other ports.
- Implemented `udpgate_test.go` to validate UDP handling for targeted sets, including scenarios with QUIC filtering and IP-based targeting.
- Added various test cases to cover different configurations of UDP sets and their expected verdicts based on packet characteristics.
- Implemented conversion specifications in `src/convert/spec.go` with embedded JSON rules.
- Created HTTP handlers for conversion tools and analysis in `src/http/handler/convert.go`.
- Added unit tests for conversion handlers in `src/http/handler/convert_test.go`.
- Developed TypeScript API client for conversion in `src/http/ui/src/api/convert.ts`.
- Built UI component for importing tools and displaying conversion results in `src/http/ui/src/components/sets/ImportTool.tsx`.
* fix: add support for nft_tproxy and nft_socket kernel modules across various platform scripts
* Implement WebSocket client in mtproto package with tests
- Added wsdial.go for WebSocket connection handling, including frame reading/writing, connection upgrades, and error handling.
- Introduced wsHandshakeError for managing WebSocket handshake errors.
- Created wsConn struct to manage WebSocket connections with methods for reading, writing, and closing connections.
- Implemented dialWS function to establish a WebSocket connection with optional socket marking.
- Added wsdial_test.go to include unit tests for WebSocket roundtrip communication and error handling for redirects.
- Utilized httptest to create a mock WebSocket server for testing purposes.
* fix: handle error in ensureIPSet when checking for existing sets
* fix: reorder input chain candidates for nft input filter check
* fix: replace boolean closed flag with atomic.Bool for thread safety in wsConn
* fix: simplify WSCustomDomain assignment in handleMTProtoTestWS
* fix: remove unnecessary blank line in localizeFieldError function
* feat: add memory limit configuration and validation, improve logging settings UI
* fix: handle JSON decoding error in handleMTProtoTestWS function
* feat: add ws_fallback_tcp and ws_endpoint_host to MTProto settings
* fix: validate WSEndpointHost format in MTProto settings
* fix: update memory limit help text in English and Russian localization files
* feat: implement msgSplitter for MTProto message handling and enhance FakeTLS error handling
* test: add unit tests for MsgSplitter and FakeTLS handling
* fix: update WSCustomDomain handling and improve related documentation
* fix: ensure proper closure of connections in proxyToMaskingDomain function
* fix: update WSCustomDomain handling and validate upstream mode in handleMTProtoTestWS
* fix: update removeProxyInputAccept to use signature format for mark comparison
- Created UDP documentation detailing traffic handling and filtering options.
- Added backup settings documentation for configuration backup and restoration.
- Introduced core settings documentation covering service management, packet processing, and logging.
- Added discovery settings documentation for automatic configuration detection.
- Created geodata documentation explaining GeoSite and GeoIP databases and their usage.
- Added payloads documentation for generating and managing TLS payloads for faking.
- Introduced security documentation for web interface authorization and HTTPS setup.
- Added domain monitoring documentation for automatic detection of blocked domains and recovery processes.
- Created footer and navbar localization files for Russian language support.