_
d7ed2ed931
✅ test: fix tests
2021-01-19 23:27:33 +00:00
_
c40abb0fe6
🚧 wip: I was working on some port-forwarding idea.
...
It was going to be generic over TCP and use 2 HTTP streams, one each way.
The plan's written down somewhere.
2021-01-19 23:25:24 +00:00
_
f94b40b6b8
🚧 wip: further POC
2021-01-19 23:25:24 +00: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
_
574f660c1a
🚧 wip: can't remember what I was working on
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
_
27f31d0ef4
✅ test: measure performance for KV store idea
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
_
0a46fc05dc
🐛 bug: fix 30-day scraper keys having 7 days of validity.
...
This won't affect anything, because I had manually written the not_after for
the testing keys. Even the automated tests weren't using the new_30_day
function
2020-12-21 14:26:51 +00: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
_
626946b7b7
🔉 update: demote some boring logs from debug to trace
2020-12-16 19:06:15 -06:00
_
1e160ec55b
⭐ new: add subcommand in ptth_relay to hash API keys from the terminal
2020-12-16 14:57:47 +00:00
_
9ac44cfeb7
⭐ new: finish MVP for scraper auth.
...
Adding a SQLite DB to properly track the keys is going to take a while. For
now I'll just keep them in the config file and give them 30-day expirations.
2020-12-16 14:46:03 +00:00
_
cda627fa4b
⭐ new: add JSON API in server for dir listings
2020-12-15 05:15:17 +00:00
_
11f4b0e65b
✅ test: Fix tests broken by recent commits
2020-12-14 14:17:52 +00:00
_
fa5aa8b05a
🚧 wip: add server list API endpoint
2020-12-14 01:07:13 -06:00
_
e865ac56c7
🚨 refactor: fix some clippy / cargo check warnings
2020-12-13 20:05:52 -06:00
_
5d1b68dc90
📜 logging: don't log handlebars object
2020-12-13 04:47:47 +00:00
_
9c7b2b7a86
✅ test: add tests for scraper API test endpoint
2020-12-13 04:44:37 +00:00
_
0737edd8f8
👕 refactor: move handlebars out of RelayState
...
This will make it simpler to separate logic and presentation.
2020-12-13 04:03:30 +00:00
_
32e48697d5
👕 refactor: extract scraper_api module
2020-12-13 03:42:00 +00:00
_
5f947ed73c
👕 refactor: Extract relay_state module
2020-12-13 03:29:54 +00:00
_
532f99f770
💄 update: add dev mode and server Git version to server list
2020-12-13 03:00:45 +00:00
_
0e4839e146
🐳 build: add Tini to Docker image, simplify Git version injection
...
Building the Git version into the code meant that Cargo had to recompile
ptth_relay every time I built. This is annoying and it doesn't add anything.
I changed it to read the Git version from a text file which is absent by
default, and present in the Docker image.
2020-12-13 02:20:12 +00:00
_
670ce30667
✅ test: add end-to-end test for scraper API
2020-12-13 01:55:47 +00:00
_
1e81421444
👕 refactor: Extract functions for scraper API endpoints
2020-12-13 01:12:56 +00:00
_
6d68a77364
⭐ new (ptth_relay): add test endpoint for scrapers
...
Scrapers can auth using a shared (but hashed) API key.
The hash of the key is specified in ptth_relay.toml, and forces dev mode on.
2020-12-12 17:50:40 +00:00
_
004b98229a
🐛 bug: fix serde expecting phantom data in the config file
2020-12-12 17:12:38 +00:00
_
0eb1e7e38f
⭐ new: add code for scraper keys to expire and have limited durations
2020-12-12 17:11:22 +00:00
_
bf8e483d16
👕 refactor: merge the servers' config file and runtime representations
2020-12-12 15:57:22 +00:00
_
b43106393a
👕 refactor (ptth_relay): use the new blake3 deserializer
2020-12-12 15:50:38 +00:00
_
9bc4b57058
⭐ new (ptth_relay): add serde deserializer for blake3 hashes
2020-12-12 15:35:33 +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
_
f6486b2c1a
🔧 config (ptth_relay): add feature flags
...
- dev mode
- scraper auth
These will gate features I'm adding soon.
2020-12-12 01:26:58 +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
_
e59bb5b7bc
💥 Break relay config again
2020-11-30 15:52:15 +00:00
_
7925d9be95
♻️ Move server endpoints to their own file
2020-11-29 23:24:25 +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
_
aad7f8e729
♻️ Remove all practically removable unwraps from ptth_relay
2020-11-29 18:39:51 +00:00
_
687cffdf90
♻️ Fixing clippy lints
2020-11-29 18:37:33 +00:00
_
5c0d7ea998
♻️ Removing unwraps
2020-11-29 17:09:25 +00:00
_
bf96d400b2
♻️ Removing unwraps
2020-11-29 17:09:19 +00:00
_
3e74f2b1ef
♻️ Fix unwrap()s in ptth_core.
...
Some were in an unused function, so I removed that function.
Some were in graceful_shutdown and can't really be handled. So I made
them into "expect"s
2020-11-29 16:36:59 +00:00
_
bbb88c01e8
♻️ Extract ptth_server crate. Docker still broken
2020-11-27 00:50:22 +00:00
_
4c9595ee2e
♻️ Extract crate ptth_relay
2020-11-27 00:20:18 +00:00
_
84bb326f37
♻️ Extract crate ptth_core
2020-11-27 00:03:11 +00:00
_
2b93aa8b83
🐛 Implement 416 Range Not Satisfiable
...
I had a lot of trouble getting AlwaysEqual to compile, so I tested it in a
completely separate crate and vendored it back into PTTH. It's also AGPLv3.
2020-11-09 00:55:45 +00:00