Rusnel
Description
Rusnel is a fast TCP/UDP tunnel, transported over and encrypted using QUIC protocol. Single executable including both client and server. Written in Rust.
Features
- Easy to use
- Single executable including both client and server.
- Uses QUIC protocol for fast and multiplexed communication.
- Encrypted connections using the QUIC protocol (Tls1.3)
- Static forward tunneling (TCP, UDP)
- Static reverse tunneling (TCP, UDP)
- Dynamic tunneling (socks5)
- Dynamic reverse tunneling (reverse socks5)
Install
or
Clone the repository and build the project:
Usage
)
)
<SERVER> defines )
<remote>...
<remote>s
<local-host>:<local-port>:<remote-host>:<remote-port>/<protocol>
)
)
TODO
- write tests for tcp, udp, reverse and socks - better convert to python tests
- improve logging by adding the connection and stream that the log is reffered to
- client reconnect
- add proxy support for client (client connects to server through a proxy)
- add server tls certificate verificatin
- add mutual tls verification
- add fake-beckend http/3 feature to server
- close QUIC connection when receiving ^C