Graham
e90513aa36
Update to Ktor 2
...
Signed-off-by: Graham <gpe@openrs2.org>
2 years ago
Graham
67f3dbaf57
Update dependencies
...
Signed-off-by: Graham <gpe@openrs2.org>
2 years ago
Graham
4eea6d752a
Don't terminate if downloading keys from a source fails
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
e804fdc065
Add Cache-Control and ETag headers to the exportGroup endpoint
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
9c9a1ecf39
Add archive API documentation
3 years ago
Graham
2b720af6e5
Fix line length
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
3e2d6ee0ec
Fix right-aligned columns
...
I didn't realise that .text-center was renamed to .text-end during the
last Bootstrap upgrade.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
0158bc937b
Add archive/index sizes and completion percentages to legacy cache pages
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
aa316e273d
Split version_list_stats table by index
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
ee61999c6f
Ensure size and block columns in index_stats are always non-NULL
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
6f30aebb22
Improve index table row switch order
...
Bit of a corner case, but if we ever encounter an index with a checksum
and version of 0 that resolves then this will ensure the statistics are
consistent between the overall cache and the index row.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
c85e8ed873
Remove unused import
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
2aaa19e05e
Format CacheExporter
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
f5b9f269f6
Add per-archive stats to the cache pages
...
These replace the whirlpool, group count and total uncompressed length
columns, which were kind of useless - in particular:
* The group count is also represented with the new stats columns.
* The total uncompressed length overflows, as some indexes are now
larger than 2 gigabytes. One of the new stats columns contains the
compressed size of each archive, which isn't too different.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
ce9604a28d
Allow cross-origin requests to the archive
...
Everything is read-only and unauthenticated, so there is no security
risk. Hopefully this will allow some cool projects based on AJAX to be
developed.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
c94678c7c5
Add API for downloading individual groups
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
e5512cbdf6
Update number of loading requirements
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
c3383aed11
Fix index_stats rows for empty indexes
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
ba573312dd
Add missing JOIN condition to index_stats view
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
3eefa3df52
Fix downloading caches
...
A few pieces of code hadn't been correctly modified to deal with scopes.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
af918cf535
Add support for hiding broken caches
...
Deleting them is fairly tricky due to the append-only nature of the
database.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
80dda3f2dc
Add missing JOIN condition
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
d186f5aef4
Add initial support for separate scopes to the archiving service
...
This will allow us to import FunOrb caches without worrying about the
risk of collisions with the main set of RuneScape caches.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
88ef8aec92
Fix reading timestamps with sign bit set
...
lo should've been masked rather than hi. I've switched the code to mask
both the low and high DWORDs for simplicity.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
804ae70def
Format refreshViews() in CacheImporter
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
fe69594180
Add command for extracting caches found with Edward's cache finder
...
Useful for running directly on my server, which is headless Linux. (The
current extract tool is a GUI Windows app.)
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
c9f397759e
Use advisory locks to prevent concurrent view refreshes
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
35f54fd753
Skip corrupt archives when importing legacy caches
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
5c77ee4bd2
Format CacheExporter
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
73eb30dbf9
Add game, environment, language, build and timestamp to file names
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
fb0d7ef923
Add link to the RuneScape Archive
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
7cde3a4552
Add link to the RuneScape Preservation Unit wiki page
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
64713fb862
Add --decode-js5response flag to import-master-index
...
It removes the archive/group prefix and the 0xFF markers.
Unfortunately using Js5ResponseDecoder here is tricky - perhaps it
could've been done with an EmbeddedChannel.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
71f775f282
Add JSON version of the /caches page
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
346302fc05
Add API endpoint for receiving keys
...
Keys are now initially imported into a key_queue table, which is never
locked exclusively - allowing the API endpoint to function while the
brute forcer is running. The brute forcer moves all pending keys in the
queue to the keys table before running the actual brute forcing.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
df55c3ece3
Fix reconnection on client-side timeouts in the JS5 client
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
469fe2eecc
Add environment and language columns to the caches table
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
211041ab6d
Update support build list
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
3b4fcad8f4
Add link to RuneWiki
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
334424e57a
Fix addMasterIndex()
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
f4ae5540d7
Skip version list entries with a version of zero
...
The client uses these to indicate files that don't exist.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
0cf1881db4
Rename 'Indexes' column to 'Archives'
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
ab964a2b1f
Skip corrupt files when importing a legacy cache
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
f079c415f5
Add initial support for archiving legacy caches
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
2eaba6a680
Fix cache size calculation
...
It didn't take the 2 byte version trailer into account previously.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
39d2ad7ee3
Fix ByteBuf leak
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
ab2c56f0af
Set HttpClient timeouts
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
046ccbc2c9
Optimize the master_index_stats view
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
1efa370fdd
Reconnect to the JS5 server if we lose connection while parsing indexes
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
20868a39ad
Fix warnings in CacheExporter
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago