I need a very specific type of networking program that would allow me to create dedicated tunnel connections for isolated programs running on a system.So Program A's networking would be wrapped by a SOCKS tunnel A, Program B's networking would be wrapped by a SOCKS tunnel B and so on.Is this even technically possible on Windows / Linux?
>>1557059On Linux you can definitely get this through network namespaces (man 8 ip-netns). For example, you'd create namespace A for program A, configure it so that it accesses the main network namespace via a tunnel, and then run program A inside of namespace A.For Windows specifically, I dunno. You could probably do all this with Docker or another container solution too if you wanted.
>>1557077It is worth noting that there exists a driver for windows made specifically for intercepting and re-injecting network packets in the kernel.https://github.com/basil00/WinDivertPerhaps it's possible to levarage its functionality to somehow re-route all packets for a program, however whether or not you can successfully implement a process-based filter is something I can't tell.