Commit Graph

337 Commits (3b618bd71912557a1bbaa381b76c4cc72abb3b0a)

Author SHA1 Message Date
_ 2de0c5d6a7 🚧 wip: working on insecure chat prototype 2022-10-16 22:24:15 +00:00
_ 57d6086ea7 ♻️ refactor: use ptth_diceware for the diceware command in ptth_multi_call_server 2022-10-16 19:59:06 +00:00
_ 5d560b91de ♻️ refactor: extract ptth_diceware to its own crate 2022-10-16 19:53:08 +00:00
_ 9d0bf4c0ba 🐛 bug: update ptth_quic_client_gui to quinn 0.8.x too 2022-10-16 19:44:25 +00:00
_ 1139ba4657 🚧 wip: starting new project, "Insecure Chat" 2022-10-16 19:42:44 +00:00
_ be03300f55 ♻️ refactor: break out most of the relay server into a module
I want an end-to-end test that runs all 5 nodes in 1 process, like PTTH
itself has.
2022-10-09 16:43:50 +00:00
_ 885b9c7892 ⬆️ update to quinn 0.8.x
This seems to fix the strange I/O error I'd been getting, but it's still not
in perfect shape.
2022-10-09 15:30:57 +00:00
_ 2930213398 🚚 change `quic_demo` to `ptth_quic` 2022-10-09 14:19:01 +00:00
_ 099e0fe884 🚧 wip: start moving `prototypes/quic_demo` to `crates/ptth_quic` 2022-10-09 14:11:16 +00:00
_ 76c6ace8a5 🚚 move `ptth_quic_client_gui` under `/crates` 2022-10-08 15:16:21 +00:00
(on company time) 863bbe18e4 ⬆️ update hyper dep and allow HTTP/2 for the relay
This makes it easier for a gateway like Nginx to terminate TLS for a PTTH relay
without needing an entire TCP connection for each connected PTTH server.
2022-09-14 14:54:42 -05:00
(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