Commit Graph

577 Commits (0129f36d2a9ad2d8787d5dc1e4c89557dea10968)

Author SHA1 Message Date
_ 0129f36d2a 🚧 begin building PTTH_DIREC
Working:
- Client sends the first cookie to relay
- Relay learns client's WAN address

Next steps:
- Associate PTTH_DIREC state with QUIC connection so we can track it / destroy
it all at once
- P3 asks P4 to accept PTTH_DIREC connection
2021-10-11 01:59:08 +00:00
_ 6c5dff4685 📝 2021-10-10 23:53:21 +00:00
_ 1226016150 🐛 bug: cap the number of forwarded ports at 5
If I want to access the same end server from multiple relays (like a LAN relay
or a backup cloud relay) then the relay address should be explicitly
_excluded_ from the eph port computation
2021-10-10 23:52:38 +00:00
_ e6cf9e2b72 💄 change it to just pick a client port automatically.
This is a lot less thinking for the user. (such as me)
2021-10-10 21:20:35 +00:00
_ 34873dff43 allow `0` to mean "The OS should pick an available TCP port for us to listen to" 2021-10-10 20:42:17 +00:00
_ b71d4c16a1 ♻️ refactor: use `add_port` in initialization, too 2021-10-10 19:55:52 +00:00
_ 17ed6cc4c5 💄 you can now add more ports, but it's still not useful 2021-10-10 19:51:25 +00:00
_ 227c9f7ba4 🚧 add useless "add port" button 2021-10-10 19:44:45 +00:00
_ bfb96e2475 🚨 clippy warnings 2021-10-10 19:39:50 +00:00
_ 63f9dcef97 💄 redo the GUI with `Flex`
This is way better
2021-10-10 19:37:58 +00:00
_ de248f2382 🚨 cargo check warning 2021-10-10 18:32:12 +00:00
_ 4ffcca8559 ♻️ refactor 2021-10-10 18:31:52 +00: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
_ e4285ec17d 🐛 bug: fix crash when trying to open the same port twice 2021-10-10 18:17:50 +00:00
_ baa5044186 ♻️ refactor: remove redundant var 2021-10-10 18:12:36 +00:00
_ e8bb7ab098 🔊 improve error handling when opening / closing ports 2021-10-10 18:08:25 +00:00
_ de4da749f3 🐛 bug (ptth_quic_client_gui): display the correct number of forwarded ports 2021-10-10 18:00:20 +00:00
_ 11ee6292ba ♻️ refactor: extract GuiClient struct 2021-10-10 17:56:13 +00:00
_ 07fa3b97c3 update client GUI default cert path for easier testing 2021-10-10 17:39:51 +00:00
_ 68eb6f911b 🚨 clean up clippy warnings 2021-10-10 17:22:04 +00:00
_ c002665f6c ♻️ refactor: use the code from client_proxy instead 2021-10-10 17:14:32 +00:00
_ c2caeb405c ♻️ refactor 2021-10-10 16:58:12 +00:00
_ a3b62b012d ♻️ refactor 2021-10-10 16:56:12 +00:00
_ 6fbe35379b ♻️ refactor 2021-10-10 16:48:25 +00:00
_ 88fab23871 ♻️ refactor 2021-10-10 16:36:06 +00:00
_ a906472add ♻️ refactor: clean up client to match the end server style 2021-10-10 16:33:14 +00:00
_ fc6a9c9e1e fix P2 and P4 to use the default cert path and print the client port for easier testing 2021-10-10 16:23:21 +00:00
_ 2b60396a26 start adding graceful shutdown to the end server
I think it only works if there are no streams running. So, might want to
double-check this before it goes into prod
2021-10-10 16:18:02 +00:00
_ a2d4ae81e0 ♻️ refactor 2021-10-10 15:19:48 +00:00
_ 953254e550 ♻️ refactor: continue extracting end server struct 2021-10-10 14:49:14 +00:00
_ ee31d105c9 🚨 fix cargo check warnings 2021-10-10 14:40:18 +00:00
_ 35cc1d49b7 ♻️ refactor: begin extacting a struct for the end server 2021-10-10 14:36:01 +00:00
_ 61a74c29a6 📦 switch the release package to use the multi-call server 2021-10-04 09:53:28 -05: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
_ c53ed0d2bd ⬆️ newest stable toolchain, plus `cargo update` 2021-10-02 19:28:20 +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
_ 97fc2c74d4 ♻️ refactor: extract PTTH_QUIC end server to a module in the PTTH_QUIC lib 2021-10-02 17:39:25 +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
_ b8c370a0a6 📝 readme draft 2021-10-02 16:55:04 +00:00
_ c5aadbe632 📦 add PTTH_QUIC end server to PTTH subpackage 2021-10-01 12:50:24 -05:00
_ da10ad28dc add `--cert-url` to end server too 2021-10-01 12:44:20 -05:00
Trisha f7bd179bba add `--cert-url` to GUI client 2021-10-01 12:19:23 -05:00