Commit Graph

129 Commits (2c47be3cf83a9770c605f7bafdb3de07bad7f769)

Author SHA1 Message Date
_ 9eb470963c make an error transparent so it's more meaningful 2021-04-18 13:51:27 -05:00
_ 2c4d46388a 📝 docs: update README before publishing to crates.io 2021-04-18 12:56:36 -05:00
_ c6f651387e ♻️ refactor: make `load_templates` private 2021-04-17 20:50:48 -05:00
_ fd238d8c2b ♻️ refactor: rename file_server::State to file_server::FileServer 2021-04-17 19:10:52 -05:00
_ ae33337156 ♻️ refactor: clean up ptth_server
- 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
2021-04-17 18:59:59 -05:00
_ 86af3194e5 💥 breaking: remove password_is_bad from ptth_server
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.
2021-04-17 17:47:01 -05:00
_ d16b0c4c61 🚨 `cargo check` pass 2021-04-10 09:41:21 -05:00
_ 3408feb619 ♻️ refactor: move gen_key up to ptth_core 2021-04-09 19:43:15 -05:00
_ 240cd8dff1 ♻️ refactor: extract gen_key pure function 2021-04-09 19:30:45 -05:00
_ d9669a7073 proof of concept for private browser cache based on etag and if-none-match 2021-04-03 17:26:53 +00:00
_ 1df0f0f677 ♻️ refactor: extract stream_file 2021-04-03 16:27:31 +00:00
_ ff73f501a4 🚧 2021-04-03 16:21:59 +00:00
_ 3389292457 placeholder for caching - Always returns a random ETag header.
So the browser-side cache will always miss, but I tested that Firefox will at
least send us If-None-Match with the last ETag it saw.
2021-04-03 15:53:59 +00:00
_ 6e24983ad7 🚨 refactor: cargo clippy 2021-04-03 15:30:32 +00:00
_ 0821ccaac6 ♻️ refactor: move Markdown support in ptth_server out to a feature.
It may be removed in the future.
2021-04-03 15:17:28 +00:00
_ e5bf5f7d1f ♻️ refactor: flatten out indentation 2021-04-03 14:27:17 +00:00
_ 6ee9b6e7c9 🐛 bug: ptth_server: add 30-second timeout for _only_ http_listen requests 2021-04-02 20:58:19 -05:00
_ 4dd08bdbb1 bump ptth_server to 1.2.1 for the Windows patch 2021-03-21 19:10:40 +00:00
Trisha 02d4362c3b 🏁 build: fix Windows build for ptth_server 2021-03-21 14:07:09 -05:00
_ 2253ae3391 🐛 bug: fix reqwest feature needed for ptth_server 2021-03-21 18:28:08 +00:00
_ d15f8539cb 🎉 ptth_server to 1.2.0 2021-03-21 18:25:02 +00:00
_ f05257d833 🐛 bug fix requests timing out after 40 seconds.
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.
2021-03-21 15:43:31 +00:00
_ c1118971b0 add --throttle-upload option 2021-03-21 15:43:15 +00:00
_ 235e134cb2 ♻️ refactor: more clippy lints, and make read_git_version simpler 2021-03-21 03:45:00 +00:00
_ c6b2418a49 ♻️ refactor: split up large function at clippy's behest 2021-03-21 03:40:45 +00:00
_ 50fc509c8b 🚨 fix a bunch of easy clippy warnings 2021-03-21 03:34:47 +00:00
_ 820099c2ca ⬆️ deps: replace ulid with rusty_ulid so I can drop rand 0.6.x 2021-03-21 03:09:44 +00:00
_ 4dddfb1768 ⬆️ update important crates to Tokio 1.4.0 2021-03-21 03:01:06 +00:00
_ ee1db02b08 ♻️ refactor: use constructor for ConfigFile 2021-03-21 02:49:44 +00:00
_ 456ab04f78 impl auto-gen-key 2021-03-15 20:34:32 +00:00
_ a356d981a8 add file_server_root CLI opt too 2021-03-15 20:02:37 +00:00
_ 56496bf97b add `--name` so caller program can provide name 2021-03-15 19:55:12 +00:00
_ 9648a9853c wip: debug proxy now owns a filter which can drop or modify request bodies 2021-03-06 22:58:23 +00:00
_ a980d151fc ⬆️ deps: upgrade everything to Tokio 1.2.0
And pretend I didn't completely goober the Docker build somehow
2021-03-06 21:46:35 +00:00
_ 031b03a13c 🎉 release: bump versions to 1.1.0 for everything in prod
I forgot to set the version in Cargo.toml files for 1.0.0.
I'm not gonna do 0.x versions because this is already live somewhere
and I don't like that 0.x adds complexity to versioning.
2021-01-20 20:49:32 -06:00
_ cbf5583d06 update: tracing RSS MiB 2020-12-20 20:41:02 -06:00
_ 137e8e1bf8 update: add prototype for `tail -f` based on polling 2020-12-20 18:59:05 -06:00
_ e79925dc14 update: ptth_server metrics are at a stopping point for now 2020-12-20 18:09:24 -06:00
_ eec17b10a1 update: switch back to 60-second interval 2020-12-20 17:34:55 -06:00
_ bcc673b74b ♻️ refactor: extract metrics monitor function and add it to ptth_server 2020-12-20 17:32:13 -06:00
_ f335644b03 update: measuring CPU usage every minute 2020-12-20 17:17:31 -06:00
_ 1e5aa528c9 🚧 wip: collecting CPU time used. 2020-12-20 20:10:29 +00:00
_ 96106e68fc ♻️ refactor: use file_server::State directly more 2020-12-20 19:55:20 +00:00
_ 4cb0911b77 update: add RSS MiB to server root page 2020-12-20 19:46:30 +00:00
_ e5103d48bd update: add ArcSwap to update gauges lock-free 2020-12-20 19:35:32 +00:00
_ b2b0bbc8fc ♻️ refactor: rename 2020-12-20 19:00:22 +00:00
_ 64ac4baaa8 update: print RSS in MiB at startup 2020-12-20 18:58:14 +00:00
_ bc361fa876 update: add heim for measuring process RSS 2020-12-20 18:52:53 +00:00
_ 47788f56e0 ♻️ refactor: use `use X as Y` 2020-12-20 18:40:49 +00:00
_ 066c95dc07 ♻️ refactor: extract html.rs 2020-12-20 18:38:39 +00:00
_ 4bd38180d0 ♻️ refactor: remove lifetime on handlebars 2020-12-20 18:23:17 +00:00
_ 88c3500fd0 ♻️ refactor 2020-12-20 18:21:02 +00:00
_ 1aff4389bd ♻️ refactor: move file server runtime state into file_server 2020-12-20 18:10:11 +00:00
_ 31750d30fc ♻️ refactor: use new file_server::Config in ptth_server 2020-12-20 18:06:21 +00:00
_ 009601e136 ♻️ refactor: move file server config into file_server 2020-12-20 18:04:19 +00:00
_ e8d94da661 ♻️ refactor: change PerInstance to Startup 2020-12-20 17:44:03 +00:00
_ d052f42507 🚧 wip: add placeholder for gauges 2020-12-20 17:41:00 +00:00
_ b54be58abc 🚨 refactor: rename InstanceMetrics to PerInstance 2020-12-18 23:45:30 +00:00
_ 72b3b33206 🚨 refactor: fix some Clippy lints 2020-12-18 23:41:52 +00:00
_ d03c1a5476 update: add InstanceMetrics and replace ServerInfo 2020-12-18 20:43:34 +00:00
_ cda627fa4b new: add JSON API in server for dir listings 2020-12-15 05:15:17 +00:00
_ c4b12eb806 🏁 Builds on Windows. 2020-12-10 06:24:56 +00:00
_ e8c020fbc6 Update --print-tripcode option 2020-11-30 16:15:27 +00:00
_ 8079b3f778 ♻️ Remove "internal" from names in the internal module 2020-11-29 23:15:45 +00:00
_ bb4c4e803a ♻️ Extract file server internal parts to their own file 2020-11-29 23:12:56 +00:00
_ 6e6e062c51 ♻️ Move Markdown previewing to its own file 2020-11-29 22:58:38 +00:00
_ ab95485d92 ♻️ Fix clippy issues 2020-11-29 22:41:48 +00:00
_ b94a3a1e17 Move byte range code into its own file 2020-11-29 22:31:54 +00:00
_ b43a6c2e4b ♻️ Move emoji icons into one place 2020-11-29 22:12:25 +00:00
_ 028970cdf0 ♻️ Remove the hyper dep from ptth_server.exe 2020-11-29 21:55:24 +00:00
_ f4b0c64e01 ♻️ Move ptth_file_server into a bin crate so ptth_server can shed some
dependencies
2020-11-29 21:42:03 +00:00
_ d6430e39a9 ♻️ Get rid of more unwraps and panics 2020-11-29 21:38:23 +00:00
_ 7bd2450698 ♻️ Fix pedantic clippy warnings 2020-11-29 20:22:40 +00:00
_ eada65d94b ♻️ Remove unwraps from file server module 2020-11-29 19:59:47 +00:00
_ f212931842 ♻️ Remove more unwraps 2020-11-29 19:47:40 +00:00
_ 720aae2201 ♻️ Working on errors for file server and server 2020-11-29 19:19:59 +00:00
_ c3ff3deb8e ♻️ Fix some clippy warnings 2020-11-29 19:05:28 +00:00
_ 47c59447f3 ♻️ Splitting tests for file server into their own tests.rs 2020-11-29 18:50:51 +00:00
_ bbb88c01e8 ♻️ Extract ptth_server crate. Docker still broken 2020-11-27 00:50:22 +00:00