rejetto / hfs

HFS is a web file server to run on your computer. Share folders or even a single file thanks to the virtual file system.
GNU General Public License v3.0
2.24k stars 222 forks source link

HTTP2/HTTP3/Quic feature request for next generation communication testing #446

Open ciscohack opened 9 months ago

ciscohack commented 9 months ago

Hello Expert,

Currently, HFS support only HTTP1.1 version. is it possible to add HTTP2/HTTP3/Quic protocol support in future releases for next-generation protocol testing? your tool is a life saver and hoping for these feature additions soon.

rejetto commented 9 months ago

hey, in my plans, http2 will come AFTER i'll be done with 0.xx versions, which will hopefully happen before summer. Would you please explain what would change for you having http2 ? My current opinion is that webdav is more important than http2 in file serving, with the little knowledge I have about it.

HFS is based on node.js, that currently supports HTTP2 but not 3. I'm not sure what effort is required to add HTTP 2 support, and mostly important, what it takes to actually make the most of it. I also wonder if it should support directly 3 (if it was possible) or is right 2 the best move. I've read around that http3 is good where UDP is (like real-time streaming), so maybe it makes no good at file serving.

ciscohack commented 9 months ago

@rejetto First I would like to thank you for the amazing tool one of the best and I use it heavily in my test cases. Now why do I need this feature again for my test cases where I use HTTP2 and HTTP3 traffic to inspect against perimeter devices and create rules according to test if things work fine with these protocols or performance issues? and I had faith that if I put in my request I would get the feature in future releases ...

HTTP3 is basically use Quic protocol which next-gen communication and gonna accept my all vendors and firewalls

rejetto commented 9 months ago

i'm really happy to know that you like it! would you please elaborate more in these test cases you talk about? i'm afraid i know very little of this kind of usage, but knowing may help into my designing. Are you using HFS to share files, or as a tool for other purposes?

ciscohack commented 9 months ago

@rejetto I use HFS to download and upload files and put a firewall between HFS and the client then use HTTPS traffic to inspect the encrypted traffic. now rest test cases firewall-specific but the key protocol that I test is HTTP2/HTTP3/Quic and for this purpose, I need HFS to support these protocols as HFS implementation is very simple and fast. otherwise, I have to spin a webserver based on NGINX or Apache which needs lots of effort setting up the server. Here HFS shines and save my time and quickly setup webserver in no time