The older something is, the more people grow used to it, but also have had a chance to get burned by it:
- C was released in 1972 (52 years), C99 was released in 1999 (25 years), hasn’t changed much since
- C++ was released in 1998 (26 years), there are 7 versions of C++ with notable changes
- Rust was released in 2015 (9 years), it’s still on the same 1.x version implying backwards compatibility
Rust was created to fix some of the problems C and C++ have had for decades, it’s only logical that people like it more… for now.
Is this on the same machine, or multiple machines?
The typical/easy design for an outgoing proxy, would be to set the proxy on one machine, configure the client on another machine to connect to the proxy, and drop any packets from the client that aren’t targeted at the proxy.
For a transparent proxy, all connections coming from a client could be rewritten via NAT to go to the proxy, then the proxy can decide which ones it can handle or is willing to.
If you try to fold this up into a single machine, I’d suggest using containers to keep things organized.