Commit Graph

201 Commits (0d3b402050d62e6553ce9a12cbb939467c6a7338)

Author SHA1 Message Date
_ 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