ATP: TCP Proxy
Go to file
2022-06-24 19:54:14 +05:30
src Stop wasting CPU cycles on infinite loops 2022-06-24 19:32:41 +05:30
.gitignore Restructure HashMap code 2022-06-24 13:13:29 +05:30
Cargo.lock Read TOML into hashmap - this might need major refactoring later 2022-06-24 12:44:17 +05:30
Cargo.toml Read TOML into hashmap - this might need major refactoring later 2022-06-24 12:44:17 +05:30
README.md Add readme and (un)license 2022-06-24 19:54:14 +05:30
UNLICENSE Add readme and (un)license 2022-06-24 19:54:14 +05:30

atp: a tcp proxy

A simple TCP proxy written in rust.

why?

In the past, I had nginx set up to serve my websites, and it also served as a TCP proxy for SSH. Recently, however, I switched to Caddy for HTTPS. Caddy, unfortunately, doesn't have a TCP proxy, so I had to keep nginx around for my proxying needs. I find this a bit overkill though, which is where atp comes in.

configuration

The configuration is in the TOML format. A sample config follows:

"192.168.1.28:6667" = 8000
"192.168.1.48:1604" = 1604

running

cargo run /path/to/config.toml

If no path is provided, atp will fall back to looking for config.toml in the current directory.

TODO:

  • more descriptive error messages
  • use spawing + channels instead of select!
  • on-the-fly config reload?
  • UDP proxying?