Adam Pippin
3 years ago
1 changed files with 35 additions and 0 deletions
@ -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. |
||||
|
|
Loading…
Reference in new issue