Skip to content

Releases: MengJiangProject/redproxy-rs

v0.10.0

07 Sep 05:06
6fc862a

Choose a tag to compare

🚀 Major Feature Release - SOCKS BIND Support & More!

This release brings significant new protocol support, security enhancements, and architectural improvements to redproxy-rs.

🔧 SOCKS BIND Support

  • Complete SOCKS4/5 BIND implementation (#218, #420)
  • Direct TCP BIND operations with configurable bind addresses
  • SOCKS proxy BIND with upstream server support
  • Timeout protection to prevent resource exhaustion attacks
  • NAT address override functionality for complex network scenarios
  • Comprehensive test coverage including timeout validation

🌐 HTTP/HTTPS Enhancements

  • RFC 9298 Proxying UDP in HTTP protocol support (#406)
  • HTTP authentication support for connectors and listeners (#405)
  • Enhanced WebSocket detection with proper header parsing
  • HTTP forward proxy implementation with WebSocket support (#404)
  • HTTP loop prevention system with configurable hop limits

🔒 SSH Tunnel Support

  • Full SSH tunneling for both listeners and connectors
  • Key-based authentication support
  • Production-ready implementation

🛡️ Security & Performance

  • Graceful shutdown system with SIGTERM/SIGINT/CTRL+C handling
  • Zero-copy buffer optimizations and Linux splice() syscall support
  • Memory safety improvements - eliminated all panic!() and unwrap() calls
  • Resource protection with configurable timeouts for BIND operations

🧪 Testing & Development

  • Comprehensive Docker-based test suite with matrix protocol validation
  • Nix development environment with direnv support
  • Enhanced CI/CD pipeline with automated testing
  • Improved build and cross-compilation support

🏗️ Architecture Modernization

  • Updated to Rust Edition 2024 with modern language features
  • Migrated to standard library solutions (OnceLock vs lazy_static)
  • Improved error handling with anyhow
  • Better dependency management and library migrations

📦 What's Changed

  • feat: implement SOCKS BIND command support - addresses #218 by @bearice in #420
  • feat: add comprehensive integration test suite with CI integration
  • feat: implement comprehensive HTTP proxy loop prevention
  • feat: add SSH tunnel support for listeners and connectors
  • feat: implement production-ready graceful shutdown system
  • feat: Implement RFC 9298 Proxying UDP in HTTP protocol by @bearice in #406
  • feat: Add HTTP authentication support for connectors and listeners by @bearice in #405
  • feat: Rework HTTP forward proxy implementation with WebSocket support by @bearice in #404

Full Changelog: v0.9.0...v0.10.0


This release represents a major milestone with significant new protocol support, security hardening, and architectural improvements for production deployments.

v0.9.0

28 Oct 10:40
7760f76

Choose a tag to compare

What's Changed

Full Changelog: v0.8.1...v0.9.0

v0.8.1

14 Oct 04:12

Choose a tag to compare

What's Changed

  • add splice() support to avoid memory copies in some cases #219

Full Changelog: v0.8.0...v0.8.1

v0.8.0

20 Sep 08:05
90527b2

Choose a tag to compare

What's Changed

v0.7.0

11 Jul 13:07
abfb045

Choose a tag to compare

  • ca0f5f7 [copy] dont update state on errors
  • 6742006 remove unnessuary callbacks
  • 998dddc remove debug prints
  • 359799c [feat] zero value should disable timeouts
  • d674d5b [feat] add idle timeout
  • 171bb1e add two status to indicate half closed streams
  • 0747958 [feat] exprimental support of fwmark on linux
  • 37e1d19 update log levels for accepting errors
  • c9fe14f milu: add short circuit evaluation
  • f4d40f9 better os-dep handlling

v0.6.0

21 Dec 10:14
4e3858b

Choose a tag to compare

  • bd148cf fixes missing connector in script_ext
  • 265c662 rename auth_cmd => cmd
  • 050ceac [feat] add auth_cmd cache
  • 9eb1594 check userdb first, then auth_cmd
  • c80d158 add username into extra map
  • 5181af3 tls: accepts both pkcs1 and pkcs8 private keys in PEM format
  • 6983e96 update example config
  • 9368dfc [feat] add auth_cmd to socks listener

v0.5.6

17 Nov 05:43
1bc238d

Choose a tag to compare

  • 1bc238d [feat] enable bbr for quic protocols by default
  • a6c309a Bump tokio-rustls to 0.23.1, quinn to 0.8.0 (#22)
  • 00833eb add /api/status endpoint

v0.5.5

16 Nov 07:29
0c9373f

Choose a tag to compare

v0.5.4

14 Nov 15:26
2f8942f

Choose a tag to compare

  • 41a92d1 allow to bind local address on direct connectors
  • 8445b16 adjust rules_exec_time histogram buckets
  • 4a9902d handle platform difference in a better way.
  • ea3e1cb try to convert v6 address into v4 if possible
  • 66b388d update console styles
  • upgrade dep libs

v0.5.3

02 Oct 13:17
01ffab7

Choose a tag to compare

  • 01ffab7 bump version 0.5.3
  • e64da3b tproxy: supports IPv6
  • 8b16aa1 fixes nix error not a ioerror
  • 42f7c3a Bump nix from 0.22.1 to 0.23.0
  • a173076 Bump prometheus from 0.12.0 to 0.13.0
  • 2d68bde Bump serde_json from 1.0.67 to 1.0.68
  • f7a2977 Bump axum from 0.2.3 to 0.2.5
  • af83403 Bump serde_yaml from 0.8.20 to 0.8.21
  • 6693524 keep alive not working on windows, disable it for now