4 releases

0.1.3 Jan 1, 2025
0.1.2 Dec 27, 2024
0.1.1 Dec 23, 2024
0.1.0 Dec 22, 2024

#721 in Command line utilities

Download history 188/week @ 2024-12-18 165/week @ 2024-12-25 162/week @ 2025-01-01

515 downloads per month

MIT and LGPL-3.0

44KB
1K SLoC

An Experimental TCP Tunnel over QUIC

Install

Install through cargo with cargo install sirang

OR

Install from the Github Releases page

OR

Clone the repo and compile with cargo build --release

Running a Forward Tunnel

On your remote server:

sirang forward [GENERAL_OPTIONS] remote [OPTIONS] --key <PATH> --cert <PATH> --forwardaddr <ADDRESS>

Here, --key and --cert and your tls key and tls certificate respectively. --forwardaddr is the remote tcp_address you're forwarding your traffic to.

By default, the remote quic server starts on address 0.0.0.0:4433. To change this, you can specify the optional argument --quicaddr to start the quic server on your preferred address.

On your local machine:

sirang forward [GENERAL_OPTIONS] local [OPTIONS] --cert <PATH> --remoteaddr <ADDRESS>

Here, --cert is the tls certificate of the remote server and --remoteaddr is the address of the remote quic server created with sirang forward remote.

By default, the local tcp server starts on 127.0.0.1:8080. To change this, you can specify the optional argument --localaddr to start the tcp server on your preferred address.

Running a Reverse Tunnel

On your remote server:

sirang reverse [GENERAL_OPTIONS] remote [OPTIONS] --key <PATH> --cert <PATH>

Here, --key and --cert and your tls key and tls certificate respectively.

By default, the remote quic server starts on address 0.0.0.0:4433 and the default tcp server starts on address 0.0.0.0:5000. To change this, you can respectively specify the optional arguments --quicaddr and --tcpaddr to start the quic and tcp servers on your preferred addresses.

On your local machine:

sirang reverse [GENERAL_OPTIONS] local --cert <PATH> --localaddr <ADDRESS> --remoteaddr <ADDRESS>

Here, --cert is the tls certificate of the remote server and --remoteaddr is the address of the remote quic server created with sirang reverse remote.

The argument --localaddr specifies the local tcp server you want to tunnel to.

General Options:

To turn on debug logging, use --debug before either command.
To set the buffer size(in bytes), use --buffersize before either command. The default buffer size is 32KB.

Progress

  • Functionality
  • Debug Logging
  • Testing

Dependencies

~14–23MB
~351K SLoC