.github/workflows | ||
src | ||
.editorconfig | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
Dockerfile | ||
Earthfile | ||
README.md |
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.