KtimesG, plz read the readme file, its very difficult to describe base things.
MITM - completely eliminated.
...
I did. And MITM is totally possible. You probably confuse MITM with forging data. However, without a secure transport at the socket level, any packets can simply be sniffed, moved, redirected, analyzed, dropped, captured for later replay, delayed, and so on, hence
you didn't stop any kind of MITM attack at all. Maybe you think you did, that is fine.
IP flooding isn't an app-level issue, this can be done with kernel rules to limit SYN, or by misc. rules at the load balancer level (I hope you do use a load balancer, right?). By the time you do IP rate limiting at the app layer, the server is already zombified, because all traffic is allowed with no problems at all.
I prefer such nasty details to be handled by the kernel and an TLS terminator (like nginx) instead of parsing HTTP headers and doing weird crypto in application code. But anyway, why would I use HTTP at all?
Balancers and reverse proxies - cannot modify the packet itself without errors (bad sig flag).
Nasty. Most LB/RV do modify the packets, for lots of reasons. For example, that is where the TLS should terminate, for maximum efficiency. I think we should get rid of the LB altogether, it just stands in the way of security, right?...