48 lines
1.4 KiB
Markdown
48 lines
1.4 KiB
Markdown
- Not working behind Nginx (Works okay behind Caddy)
|
|
- Reduce idle memory use?
|
|
|
|
- Flip match_prefix args
|
|
- Impl multi-range / multi-part byte serving
|
|
- Allow spaces in server names
|
|
- Deny unused HTTP methods for endpoints
|
|
- ETag cache based on mtime
|
|
- Server-side hash?
|
|
- Log / audit log?
|
|
- Add "Last check-in time" to server list
|
|
|
|
- Prevent directory traversal attacks in file_server.rs
|
|
- Error handling
|
|
|
|
- Reverse proxy to other local servers
|
|
|
|
# Off-project stuff:
|
|
|
|
- Benchmark directory entry sorting
|
|
|
|
# Known issues:
|
|
|
|
## Graceful shutdown
|
|
|
|
Relay can't shut down gracefully if Firefox is connected to it, e.g. if Firefox
|
|
kept a connection open while watching a video.
|
|
I'm pretty sure this is a bug in Hyper, so for now I've worked around it with a
|
|
forced shutdown timer.
|
|
|
|
Sometimes I get the turtle icon in Firefox's network debugger. But this happens
|
|
even with Caddy running a static file server, so I can't prove that it's on my
|
|
side. The VPS is cheap, and the datacenter is far away.
|
|
|
|
## Embedded asssets
|
|
|
|
The bad_passwords file is huge. Since it's static, it should only be in physical
|
|
RAM when the server first launches, and then the kernel will let it be paged
|
|
out.
|
|
|
|
Rust has some open issues with compiling assets into the exe, so I'm not
|
|
going to push on this for now, for neither bad_passwords nor the HTML assets:
|
|
|
|
https://github.com/rust-lang/rust/issues/65818
|
|
|
|
I also considered compressing the passwords file, but I couldn't even get
|
|
brotli to give it a decent ratio.
|