Commit Graph

50 Commits (82e2aae3d2edac30c15a353198bab612787f4479)

Author SHA1 Message Date
_ e1ccb2bd57 add prototype for QUIC relay
It's happening
2021-07-17 00:43:20 +00:00
_ e21ba78fa5 GUI is working well now 2021-07-12 01:01:47 +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
_ 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
_ 6c826b0cc5 ptth_server v2.1.0 will allow custom servers with a user-supplied request handler 2021-05-09 19:40:19 +00:00
_ a4ec4878ea 🚧 one-click server registration 2021-05-02 21:18:07 +00:00
_ 8419871428 🚧 wip: testing a hypothesis about collecting metrics 2021-04-28 19:50:40 -05:00
_ 2c4d46388a 📝 docs: update README before publishing to crates.io 2021-04-18 12:56:36 -05:00
_ c3858ec8bf 📝 docs: fix code highlighting in docs, patch bump 2021-04-18 12:41:16 -05:00
_ c6f651387e ♻️ refactor: make `load_templates` private 2021-04-17 20:50:48 -05:00
_ ae4f102bdf ♻️ refactor: make git_version module private 2021-04-17 19:26:05 -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
_ d457feb35f 📝 docs: document ptth_core 2021-04-17 17:47:01 -05:00
_ 29eafb3ce7 add placeholder for generating scraper keys 2021-04-09 20:00:08 -05:00
_ 3408feb619 ♻️ refactor: move gen_key up to ptth_core 2021-04-09 19:43:15 -05:00
_ ac289e18f7 ⬆️ cargo update 2021-04-03 14:16:15 +00:00
_ 7172f3e1a2 ⬆️ 2021-04-02 20:41:51 -05:00
_ 2253ae3391 🐛 bug: fix reqwest feature needed for ptth_server 2021-03-21 18:28:08 +00:00
_ 3ff9c0f46c add license 2021-03-21 18:22:32 +00:00
_ fc4893f2e8 🎉 ptth_relay to 1.2.0 2021-03-21 18:11:39 +00:00
_ 71a2b37fab 🎉 ptth_core to 1.2.0 2021-03-21 17:56:20 +00:00
_ f1f13d6e17 ⬆️ deps: new version of dashmap 2021-03-21 03:15:01 +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
_ 3302411daa ptth_relay: update tokio, trying to find this bug 2021-03-16 14:50:52 +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
_ 4aa54c32d0 test: add a test that uses debug_proxy 2021-03-06 18:55:05 +00:00
_ 33746d9ace ♻️ refactor: debug_proxy into a lib 2021-03-05 04:03:40 +00:00
_ 27336d8571 add debug_proxy which I can probably use to inject network problems during tests 2021-03-05 03:17:56 +00:00
_ 09464c548a update: add endless data source for debugging 2021-02-20 17:08:38 +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
_ 8d62b29319 update: both the downstream POCs work, with the bogus downstream. 2021-01-19 23:25:24 +00:00
_ 0cb24695d0 🚧 wip: idea for tunneling TCP over HTTP
There's a lot of missing pieces, but the big picture is like this:

- Use 2 completely separate HTTP streams, and try to keep them alive as long
as possible, each in basically half-duplex mode
- Each stream has a long-running PUT and GET, sort of like station307
- Each end has to be terminated by a native app that either connects to a local
TCP server, or acts as a local TCP server
- No clue how it would work for multiple connections on the same port. Poorly,
I guess?
- It's probably gonna run like garbage because we're splitting TCP into
2 TCP streams, and although backpressure might work, the ACKs will be less
efficient. And the congestion control might get confused

My only goal is to tunnel Tracy over it, so that I can have that remotely.
2021-01-19 23:25:24 +00:00
_ 29a6ad20ee 🚧 wip: adding http service to ptth_kv 2021-01-19 23:25:24 +00:00
_ eb927ef80d test: ptth_kv is slower with async, but still fast enough 2021-01-19 23:25:24 +00:00
_ 88e7839841 🚧 wip: outlining idea for Redis-like KV store in ptth_server 2021-01-03 18:09:00 +00:00
_ 137e8e1bf8 update: add prototype for `tail -f` based on polling 2020-12-20 18:59:05 -06:00
_ f335644b03 update: measuring CPU usage every minute 2020-12-20 17:17:31 -06:00
_ e5103d48bd update: add ArcSwap to update gauges lock-free 2020-12-20 19:35:32 +00:00
_ bc361fa876 update: add heim for measuring process RSS 2020-12-20 18:52:53 +00:00
_ d03c1a5476 update: add InstanceMetrics and replace ServerInfo 2020-12-18 20:43:34 +00:00
_ 1e160ec55b new: add subcommand in ptth_relay to hash API keys from the terminal 2020-12-16 14:57:47 +00:00
_ cda627fa4b new: add JSON API in server for dir listings 2020-12-15 05:15:17 +00:00
_ fa5aa8b05a 🚧 wip: add server list API endpoint 2020-12-14 01:07:13 -06:00
_ 670ce30667 test: add end-to-end test for scraper API 2020-12-13 01:55:47 +00:00
_ 0eb1e7e38f new: add code for scraper keys to expire and have limited durations 2020-12-12 17:11:22 +00:00
_ 31626844ca ⬆️ deps: cargo update 2020-12-12 05:31:29 +00:00
_ 0c5a37b441 🐳 build (ptth_relay): clean up Docker build process
The new method is much nicer and doesn't require the manual make-old-git
step. The top-level command is actually build_and_minimize.bash, which uses
`git archive` to unpack the last Git commit and build with _that_ Dockerfile
and Docker context. This is better for determinism. It's similar to our build
process for that one big project at work.
2020-12-12 05:08:58 +00:00