ATP: TCP Proxy
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Yash Karandikar f66a77dc62 Move TCP connection to inside the task 3 days ago
src Move TCP connection to inside the task 3 days ago
.gitignore Restructure HashMap code 4 days ago
Cargo.lock Read TOML into hashmap - this might need major refactoring later 4 days ago
Cargo.toml Read TOML into hashmap - this might need major refactoring later 4 days ago
README.md Move TCP connection to inside the task 3 days ago
UNLICENSE Add readme and (un)license 3 days ago

README.md

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 spawning + channels instead of select!
  • on-the-fly config reload?
  • UDP proxying?