#proxy #port #replace #handle #higher #epoll #rinetd

app rsinetd

A port proxy, replacement of rinetd. Because async-std use epoll rather than select, RsInetd may handle higher throughput than rinetd.

5 releases

0.2.2 Oct 13, 2020
0.2.1 Oct 12, 2020
0.2.0 Oct 12, 2020
0.1.1 Oct 12, 2020
0.1.0 Oct 12, 2020

#11 in #higher

GPL-3.0 license

24KB
279 lines

RsInetd

Crates.io Build Status GitHub license

A port proxy, replacement of rinetd. Because async-std use epoll rather than select, RsInetd may handle higher throughput than rinetd.

Install

cargo install rsinetd

How to use

Usage of RsInetd is similiar to rinetd. We'll try to open the default configuration file in the following order.

Default conf's open order on unix

  1. /etc/rsinetd.conf
  2. ./rsinetd.conf
  3. /etc/rinetd.conf
  4. ./rinetd.conf

Default conf's open order on non-unix

  1. ./rsinetd.conf
  2. ./rinetd.conf

command line options

$ rsinetd -h

rsinetd 0.2.0

A port proxy, replacement of rinetd. Because async-std use epoll rather than select, RsInetd may handle higher
throughput than rinetd.

USAGE:
    rsinetd [FLAGS] [OPTIONS]

FLAGS:
    -f, --foreground    do not run in the background
    -h, --help          Prints help information
    -V, --version       Prints version information

OPTIONS:
    -c, --conf-file <FILE>    read configuration from FILE

Example of /etc/rsinetd.conf

::          80      crates.io   80
0.0.0.0     443     crates.io   443

With this configuration file, rsinetd will listen on [::]:80 and forward the port access to crates.io:80, at the same time listenon 0.0.0.0:443 and forward the port access to crates.io:443

Dependencies

~9–18MB
~259K SLoC