Firfox has a bunch of odd security features that I only sometimes understand.
Among them is that it won't load JS files without the `content-type` header,
and it also disables a lot of features for the `file://` scheme. Which I think
is a shame. There's probably a good reason they do this, but I'm not aware of one.
So now you can use PTTH's file server to host Jet Racing 4.
This exe can act as both a PTTH and PTTH_QUIC end server.
It's only 17 MB, which is a big improvement over the 15 + 15 for shipping both servers as their own exes
It doesn't work on Android, and I can't fault it for that (Platform difference)
but it also drags in `uom` which has a bunch of template magic that takes
forever to compile, and I'm pretty sure it's dragging down my compile times.
I tried to build `ptth_server` on nightly to get compile timings, and heim
depends on `socket2` which failed to compile.
And I never ended up using the CPU monitoring. So heim is gone now.
- Found I was passing the file server root twice
- Removed handlebars from the public API. The templates are fixed
when ptth_server ships, so I don't think users of the lib should
care what handlebars is.
- Making other stuff private where possible
The password checking is not necessary with the new process of generating
high-entropy Base64 passwords and then approving them on the relay.
The password file takes a lot of space and this doesn't need to be part
of ptth_server's public API, if there is one, anyway.
This is such a stupid bug. I swear I checked this exact piece of code for
this exact bug and it wasn't there. But after I fixed it, I had no problem
running a download for 11 hours straight.
This fix won't affect a case where the firewall is actually closing long-
running connections (which is bad behavior, but it could happen) or a case
where the Internet is just flakey and the connection drops.
But it will fix the most common case where both client and server are on
robust connections and the download times out anyway.