Instead of fetching the CurseForge API key from PolyMC's server, fetch
it from the files of the CurseForge app, mirrored by archive.org. We can
do this without downloading the entire 100MiB+ application by
range-requesting the specific DEFLATE block where the key is and
decompressing just that block.
* Curseforge workarounds
This should allow people to use Curseforge without having to manually
paste a working key into the settings or change the user agent.
Signed-off-by: Lenny McLennington <lenny@sneed.church>
* chore: update cf api key api url
Sascha says the domain name we're using is not gonna be renewed, so I'm
switching it to a domain controlled by me instead so that this won't be
a problem in the future.
Signed-off-by: Lenny McLennington <lenny@sneed.church>
* feat: add ability to disable cf api key fetching
by setting the cf api key api url to a blank string
Signed-off-by: Lenny McLennington <lenny@sneed.church>
* don't ask before fetching key
* change polymc mention to pollymc
Signed-off-by: Lenny McLennington <lenny@sneed.church>
Co-authored-by: Lenny McLennington <lenny@sneed.church>
- There's now a notice reminding people to change the base URL if they
had a custom base URL and change the paste type (that was something I
personally had problems with when I was testing, so a reminder was
helpful for me).
- Broke down some of the long lines on APIPage.cpp to be more readable.
- Added copyright headers where they were missing.
- Changed the paste service display names to the names they are more
commonly known by.
- Changed the default hastebin base URL to https://hst.sh due to the
acquisition of https://hastebin.com by Toptal.
- Modified PasteUpload task to upload the log file to 0x0.st and other
services with the same protocol.
- Modified Paste settings UI to allow the user to select a custom paste
URL, simplified the settings page code.