Go to file
Fabian Stamm 41d10c5c94
All checks were successful
CI / build (push) Successful in 22m46s
Add listener closing when the target set has changed.
2023-07-13 11:53:51 +02:00
.github/workflows Add listener closing when the target set has changed. 2023-07-13 11:53:51 +02:00
src Add listener closing when the target set has changed. 2023-07-13 11:53:51 +02:00
.earthlyignore Add listener closing when the target set has changed. 2023-07-13 11:53:51 +02:00
.editorconfig Implementing udp support partially...in theory. Still untested :) 2022-09-21 22:22:10 +02:00
.gitignore Adjust version and README 2023-02-05 11:34:57 +01:00
Cargo.lock Add listener closing when the target set has changed. 2023-07-13 11:53:51 +02:00
Cargo.toml Add listener closing when the target set has changed. 2023-07-13 11:53:51 +02:00
Earthfile Add listener closing when the target set has changed. 2023-07-13 11:53:51 +02:00
README.md Adjust version and README 2023-02-05 11:34:57 +01:00

Rustocat

Rustocat is a simple socat alternative with way less features, but it has a config file.

Config File

Configs can be either yaml or json and can be located in /etc/rustocat.{yaml|json} or in the current working directory as config.{yaml|json}.

mappings:
  - udp: false
    source: 0.0.0.0:2222
    targets: [127.0.0.1:22]

There is support for UDP and TCP sockets. Each socket can have multiple targets.

When multiple targets are set, it will randomly pick one of them.

Live Changes

It is designed to live reconfigure itself. To trigger a change, send the signal SIGHUP to the process. This will re-read the config file and adjust the sockets and targets accordingly.

All existing connections will stay as they are, but removed sources are closed from further connections.