Commit Graph

326 Commits (200c07da2f45bde9bad5a4c6c2d911fbbc6059c2)

Author SHA1 Message Date
(on company time) 1f398462b7 🐛 bug: sweep request_rendezvous for timed-out requests, too 2022-08-02 10:32:19 -05:00
(on company time) ce7ce42168 time out requests if the server doesn't rendezvous in 2 minutes 2022-08-01 13:15:53 -05:00
(on company time) c30747d954 add more metrics 2022-08-01 12:22:30 -05:00
(on company time) 77f842485f support Bearer auth 2022-07-29 17:13:53 -05:00
(on company time) fff278a494 report VmRSS in metrics 2022-07-29 17:02:25 -05:00
_ 7fe4444b65 linux-only memory measurement 2022-07-29 16:56:45 -05:00
_ 70eb419fdc 🐛 bug: move the metrics page behind auth 2022-07-29 16:45:10 -05:00
_ 96fdf642c3 test: start adding Bearer Auth so Prometheus can connect to the scraper API 2022-07-27 17:31:37 -05:00
_ 140434cf66 🚧 wip: placeholder metrics page 2022-07-27 17:31:28 -05:00
_ 4307a199bc 🔊 why is there some delay here? 2022-07-03 01:46:06 +00:00
_ 40338ca4aa 🔊 bump this back up to a debug 2022-07-03 01:33:34 +00:00
_ ead9ebdcf8 🚨 update: `cargo clippy` pass 2022-05-26 01:19:54 +00:00
_ 68932e00de Merge remote-tracking branch 'external/main' 2022-05-26 01:00:02 +00:00
_ ed660f3432 add `index_directories` 2022-04-29 01:07:00 +00:00
_ 097c9cf313 add diceware subcommand 2022-04-22 11:53:19 -05:00
_ 820c5aeef4 bring tests up to date
I definitely remember doing this already. I must have left the changes on
my home PC.
2022-04-22 11:37:20 -05:00
_ da581f452d remove that stupid bad passwords file 2022-04-20 12:31:35 +00:00
_ c2299ab39a fix up the tests 2022-04-20 12:25:44 +00:00
_ 2ccd5167d9 🔧 allow hiding the audit log on the relay 2022-04-20 12:14:06 +00:00
_ 734602244d Merge /run/media/user/Elements/file-jar/ptth 2022-04-12 01:29:46 +00:00
_ b69770870c 🚧 wip: chasing the 30-second download timeout issue 2022-04-11 17:25:18 -05:00
_ 8c731c4cef 🐛 bug: looks like the memory leak for large files might have been in Tokio or reqwest. 2022-04-11 16:56:59 -05:00
_ 4c8521c50a 🐛 bug: fix Content-Length header 2022-04-09 20:47:46 +00:00
_ 39bb4d0137 🔊 log to stderr if the config TOML has an error 2022-04-04 14:59:17 -05:00
Trisha Lefler 80c43caf71 🔇 remove debugging stuff 2022-03-25 16:53:51 -05:00
Trisha 800dbcb019 add hit counter 2022-03-25 16:39:26 -05:00
Trisha 365c878a90 ♻️ refactor: extract `refresh_label` for GUI 2022-03-25 16:17:09 -05:00
Trisha fb9b0c67f5 add multi-root 2022-03-25 16:14:22 -05:00
Trisha 436adb98ef 🚧 swich to the new routing func 2022-03-25 16:04:51 -05:00
Trisha de5338f4f2 ♻️ refactor: extract routing func 2022-03-25 15:47:34 -05:00
Trisha e6273209f9 🚧 wip: threading the multi-root stuff into the file server module 2022-03-25 15:40:36 -05:00
Trisha 81141e2faf add `file_server_roots` config 2022-03-25 15:30:38 -05:00
Trisha 8c4e7d484c ♻️ refactor: load server GUI config before creating the GUI 2022-03-25 15:24:45 -05:00
Trisha 1d9ef8f510 ⬆️ new FLTK 2022-03-25 14:42:50 -05:00
_ cffb888ac8 add download subcommand 2022-03-25 00:44:43 +00:00
_ c852efb343 add subcommand to generate a random ULID 2022-03-24 23:24:23 +00:00
_ 931ad6d81b 🔇 change logging a little 2022-03-24 22:45:19 +00:00
_ 80bd4abad3 🔊 change logs a bit 2022-02-06 20:03:27 +00:00
_ 6ea8b5c30f 🐛 bug: fix Cache-Control header so Nginx can cache my blog 2022-02-05 17:28:30 +00:00
_ e5d157e1af 🐛 bug: don't send Content-Length to relay if status code is 304 Not Modified
Thanks to Nginx for noticing this
2022-02-05 17:00:17 +00:00
_ 2656d16264 ♻️ refactor: extract `http_listen` fn 2022-02-05 16:52:56 +00:00
_ d96bf801c6 🔇 make logs quieter 2022-02-05 15:57:40 +00:00
_ c47ab6d282 🚧 wip: messing with cache parameters 2022-01-09 00:22:16 +00:00
_ b642142332 🐛 bug: fix content length when byte serving 2021-11-13 21:31:30 -06:00
_ 16aaac0965 🐛 bug: used the wrong PathBuf function in resolving the merge 2021-10-14 18:51:12 -05:00
_ 134035f198 Merge remote-tracking branch 'origin/main' 2021-10-14 18:35:31 -05:00
_ 1a775622cf 🐛 bug: fix compile bugs for tests 2021-10-10 18:24:35 +00:00
_ b21f8a7c50 ♻️ refactor: move `main` up 2021-10-10 18:20:08 +00:00
_ 98b43d1ba2 guess MIME for JavaScript files so that `ptth_file_server` can serve Jet Racing 4 locally.
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.
2021-10-02 20:03:03 +00:00
_ 2972e85671 use rust_embed and default configs so you can call `ptth_file_server` from any working dir.
This is like Python's old `-m SimpleHTTPServer` but better because I wrote it.
2021-10-02 19:49:19 +00:00
_ f7b78b8a12 ⬆️ update to blake3 1.0.0 to de-dupe the cfg-if depend 2021-10-02 19:13:46 +00:00
_ b8d07c526a add ptth_file_server to ptth_multi_call_server.
Even with all 3 servers it's only 18 MB - Most of the big code is shared.
2021-10-02 19:07:55 +00:00
_ 4911a37887 add ptth_file_server depend to ptth_multi_call_server 2021-10-02 19:00:13 +00:00
_ 4c79af3f4b ♻️ refactor: clean up `.exe` handling and add a place for `ptth_file_server` 2021-10-02 18:58:27 +00:00
_ 4329562aa3 refactor and test the multi-call code 2021-10-02 18:47:10 +00:00
_ f44613540e add the multi-call server
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
2021-10-02 18:13:14 +00:00
_ 30f8bbb0aa ♻️ refactor inject CLI args instead of reading them in main 2021-10-02 17:31:06 +00:00
_ 0b10737403 ♻️ refactor: move ptth_server's main into its library so I can make a busybox-style multi-use binary 2021-10-02 17:26:56 +00:00
_ 1abf1d194c 🚧 maybe HTTP Basic Auth? 2021-08-29 20:56:32 -05:00
_ 5376e8bba0 🚧 wip: add placeholder for client tokens 2021-08-29 20:17:25 -05:00
_ 324c1f7cd6 ♻️ refactor: remove pointless `Option <>` for file server root 2021-08-29 19:49:32 -05:00
_ 228a9b4262 🔊 scraper GETs have their own type of audit event now 2021-08-27 20:28:34 -05:00
_ a454585d9c 📝 document how scraper keys work 2021-08-27 20:17:59 -05:00
_ caaed8a5e1 remove 30-day limit on scraper keys 2021-08-27 18:34:38 -05:00
_ 918ea8c778 🔊 log error on URL routing failures 2021-07-27 03:17:26 +00:00
_ 9b60acf0e0 📝 remove Github repo from Cargo.tomls. PTTH is no longer on my Github 2021-07-18 17:44:07 +00:00
_ 3a2147d50f use `MissedTickBehavior::Skip` on all intervals 2021-07-18 17:43:58 +00:00
_ d8c6e1bd14 ⬆️ update to Tokio 1.8.x to get a feature I want 2021-07-18 17:33:34 +00:00
_ d292693856 ⬆️ update rmp-serde to 0.15.5 and add it to ptth_quic 2021-07-18 17:19:05 +00:00
_ 0fe8c64c4f remove old port forwarding prototypes
ptth_quic is simpler and better
2021-07-18 09:20:33 -05:00
_ 02b6955a50 🐛 bug: allow `auto-gen-key` to also recreate the file and fix permissions 2021-07-13 16:02:49 -05:00
_ e21ba78fa5 GUI is working well now 2021-07-12 01:01:47 +00:00
_ ef27c0443d ♻️ refactor: use FLTK's event loop to simplify 2021-07-11 23:57:18 +00:00
_ 04975ee6c0 just disable Ctrl+C graceful shutdown in the GUI for now 2021-07-11 23:33:47 +00:00
_ 41d5b896a9 🐛 bug: the GUI can now restart `ptth_server` properly 2021-07-11 18:56:23 +00:00
_ 0d3b402050 add prototype FLTK GUI for ptth_server
Right now it can only start and stop the server once, due to a known
bug. Eventually I'd like it to be a user-friendly GUI with all the
required config files and maybe a folder browser so you can pick
which folder(s) are served.
2021-07-11 10:59:48 -05:00
_ 2f2e4ef64d 📝 document how to run `ptth_server`
This commit also works well on Termux on Android.
2021-07-11 13:12:32 +00:00
_ 6f45f5105e remove `heim` dependency
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.
2021-07-11 12:17:36 +00:00
_ 277c00b753 switch to rustls 2021-07-11 11:53:41 +00:00
_ bccc9bce53 set default-run key for ptth_server 2021-07-11 11:38:46 +00:00
_ 429d1cc957 🐛 bug: don't leak request IDs in the audit log 2021-07-11 10:56:40 +00:00
_ 5db72be1bc tell the relay our server name when we serve responses
This is needed for a future refactor of the relay.
2021-07-10 22:17:32 +00:00
_ 0f7c95f79f should be possible to POST to servers now 2021-05-15 17:50:43 +00:00
_ af958ac43d 🚧 compiles but probably doesn't work 2021-05-15 17:25:13 +00:00
_ 6c34a1ef37 ♻️ refactor: prepare to allow POSTing to servers 2021-05-15 17:14:12 +00:00
_ b018f16794 ♻️ refactor: custom servers won't create a file server module. 2021-05-09 19:54:09 +00:00
_ 6c826b0cc5 ptth_server v2.1.0 will allow custom servers with a user-supplied request handler 2021-05-09 19:40:19 +00:00
_ 08009de043 🚧 it works! 2021-05-09 18:32:24 +00:00
_ c663d126aa ♻️ refactor: moving things around to support third-party ptth_server modules 2021-05-09 17:54:29 +00:00
_ 93bf38ec03 🚨 clippy pass 2021-05-02 22:32:24 +00:00
_ ce82f7d6a3 one-click registration works 2021-05-02 22:23:12 +00:00
_ ebd1026903 🚧 working on one-click registration.
also removed many un-needed `Arc` wrappers
2021-05-02 21:59:04 +00:00
_ a4ec4878ea 🚧 one-click server registration 2021-05-02 21:18:07 +00:00
_ dc53aeed30 💄 sort unregistered servers by name 2021-05-02 18:30:03 +00:00
_ 62248aca53 💄 de-dupe unregistered servers list 2021-05-02 18:01:02 +00:00
_ 810a34463c ♻️ refactor: get rid of mod.rs 2021-04-29 23:03:01 +00:00
_ 90b6b6913e test persistent config 2021-04-28 21:52:43 -05:00
_ 4ec5d66d25 more audit logging 2021-04-28 20:18:53 -05:00
_ 8419871428 🚧 wip: testing a hypothesis about collecting metrics 2021-04-28 19:50:40 -05:00
_ e8e733046c 📝 docs: trying to figure how I can keep the client stream open 2021-04-27 22:36:44 -05:00