portredirect 0.1.0

PortRedirect is a tool that bridges your frontend and backend by redirecting TCP connections through a persistent QUIC connection. It provides both a server (accepting TCP connections and forwarding them via QUIC) and a client (relaying QUIC streams to a TCP destination).
Documentation

PortRedirect-RS

Glue your frontend to the backend!

PortRedirect-RS is split into server and client side.

Server: Redirects incoming TCP connections (e.g. port 443) to a remote client through a persistent QUIC connection. Acts as a QUIC server.

Client: Redirects incoming server-initiated QUIC streams to a destination TCP host and port (e.g. localhost:443). Acts as a QUIC client to the QUIC server, i.e. initiates the QUIC connection.

codecov

Testing the server

RUST_LOG=tracing=debug cargo run --bin portredirect_server -- --local-host 127.0.0.1 --local-port 12345 --quic-server-host 127.0.0.1 --quic-server-port 4433 --quic-psk supersecret --mode quic

Testing the client

RUST_LOG=tracing=debug cargo run --bin portredirect_client -- --destination-host 127.0.0.1 --destination-port 20000 --quic-server-host 127.0.0.1 --quic-server-port 4433 --quic-psk supersecret

Limitations

  • Currently IPv4-only, TCP-only
  • Currently 1 server, 1 client in a 1:1 QUIC connection

License

GPL-3.0-only