From d1cbec25cbc12dab43b8cb81ad2416313ac20717 Mon Sep 17 00:00:00 2001 From: Adam Pippin Date: Mon, 4 Oct 2021 14:42:53 -0700 Subject: [PATCH] Add README --- README.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..0b74753 --- /dev/null +++ b/README.md @@ -0,0 +1,35 @@ +# KnockKnock + +A Windows Service for providing services on-demand. + +## Overview + +KnockKnock acts as a TCP proxy, accepting connections and then forwarding all +traffic between a client and upstream. It allows you to register commands to +run when the service is idle (no open connections) and active (incoming +connection(s)). + +For example, when forwarding connections to a Hyper-V VM, you could suspend the +VM when there are no active connections, and resume it whenever a user attempts +to connect. + +(Personally, this is how I use it--allowing my development VM to be suspended +automatically when I am not connected to it through RDP.) + +## TODO / Limitations + +This is basically the minimum viable app that solves my own problem. I slapped +it together in less than an hour. + +Configuration is hardcoded: it only forwards :1234 -> 10.200.0.10:3306; it +always runs `SuspendVM` and `ResumeVM` against the `Debian` Hyper-V machine. +The socket code is kind of janky and some activity patterns will make it +explode. + +It works for me to proxy a Microsoft Remote Desktop Connection session through +to a Hyper-V VM available on-demand. + +## License + +None. Do not redistribute. +