Compare commits

...

81 Commits

Author SHA1 Message Date
97638c5536 v0.3.0 rewrite clap usage + create asset + get inventory 2024-04-25 18:52:15 -07:00
ae181fd401 more options for create 2024-04-25 18:50:57 -07:00
312c0e7cd9 get inventory function 2024-04-25 17:45:58 -07:00
5ceb118ba1 create assets 2024-04-25 01:09:53 -07:00
c084219534 clarify 2024-04-25 00:28:54 -07:00
90aa03f86e change arg 2024-04-25 00:28:54 -07:00
53755caad5 found out why clap seemed insane 2024-04-19 00:08:47 -07:00
561a94c4d3 what a bug! 2024-04-10 03:59:04 -07:00
6b689c8d6c hack for model uploads 2024-04-10 03:45:22 -07:00
a96715ecaf error for bad status 2024-04-10 03:45:11 -07:00
eac6546aed fix upload 2024-03-15 11:07:30 -07:00
c43ed400c9 try this 2024-03-15 10:52:49 -07:00
91aa21a993 v0.2.0 compile+decompile 2024-03-08 10:32:27 -08:00
1dff5d6856 rewrite clap usage 2024-03-08 09:50:56 -08:00
b64da4511c import PathBuf 2024-03-08 09:48:47 -08:00
8f2115ebf2 eternal license 2024-03-08 09:42:05 -08:00
f23be6f445 tweak history gen 2024-03-08 09:42:05 -08:00
0d1692f253 compile feature 2024-03-08 09:42:05 -08:00
7ad7fa3d41 misc fixes 2024-03-08 09:42:05 -08:00
b8d5efe168 update deps 2024-03-08 09:42:05 -08:00
48ab23bae5 tabs 2024-01-22 20:28:24 -08:00
97286612b7 path 2024-01-22 12:28:32 -08:00
8e589f7f0f download asset list 2024-01-16 21:50:35 -08:00
cbb5805d54 fix download path 2024-01-14 18:43:03 -08:00
d6add611fb fix error message 2024-01-14 13:24:33 -08:00
ebd5bb526e force update 2024-01-14 11:12:57 -08:00
858ed8a89c todo 2024-01-14 11:07:33 -08:00
35657d4d51 versions not correctly updated 2024-01-13 23:08:30 -08:00
15e8c8208f add --continue feature for download history 2024-01-13 21:24:50 -08:00
5574c34045 end_version for download_history + catch download error and write versions.json 2024-01-13 20:49:06 -08:00
e5322ad711 todo 2024-01-13 20:32:54 -08:00
0d0f1b1792 limit concurrent downloads using JoinSet 2024-01-12 17:07:06 -08:00
1b3a8be142 start version argument 2024-01-12 16:43:37 -08:00
eb20f8056d make download_history faster 2024-01-12 16:43:34 -08:00
b3f5dd6c4d opti 2024-01-12 15:53:25 -08:00
10f1ac313c DecompileStyle 2024-01-12 13:14:21 -08:00
2260d9a565 fix analyzer 2024-01-12 11:23:45 -08:00
ee8e59b898 rearrange and comment args 2024-01-12 11:20:22 -08:00
a9a40cd2f0 I think this is better 2024-01-11 22:25:00 -08:00
cef0f38482 pray rayon doesn't spawn 600 threads and crash 2024-01-11 22:07:01 -08:00
c2041b33e4 add rayon dep 2024-01-11 22:06:43 -08:00
29b4211484 limit stupid bs 2024-01-11 22:02:10 -08:00
bbbbd6bf64 wrong tab 2024-01-11 21:32:28 -08:00
e8ef06c2cb tokio looks like this on some random dude's webpage 2024-01-11 21:29:06 -08:00
9dc67a22c1 call this function because it makes it work better 2024-01-11 21:18:37 -08:00
67048cccf6 update deleted or moved files 2024-01-11 21:18:37 -08:00
b9eaefe056 note about default signature 2024-01-11 21:18:37 -08:00
1bdfbf96c3 write no empty commits 2024-01-11 21:18:37 -08:00
db44cf12be fix code duplication 2024-01-11 21:18:37 -08:00
30169ddc5b respect config 2024-01-11 21:18:37 -08:00
4d77895260 use less ram lol 2024-01-11 21:18:37 -08:00
aeb72503f0 print for each 2024-01-11 17:13:05 -08:00
1ba8d636f1 not sure if this drops file earlier 2024-01-11 17:13:05 -08:00
a5c01ff9cf DownloadAndDecompileHistoryIntoGit 2024-01-11 16:11:46 -08:00
c3ca545119 write some stupid stuff using unlimited scoped threads 2024-01-11 16:06:12 -08:00
def0d1a69a async decompile 2024-01-11 14:51:31 -08:00
00f4788169 prepare to write files with TOKIO!!! 2024-01-11 13:59:32 -08:00
e12c13a1dd add args for committer name and email 2024-01-11 13:48:57 -08:00
816461e9f4 async download -> unzip -> decompile -> git history 2024-01-11 02:47:20 -08:00
13ebb96ed6 refactor 2024-01-11 02:46:47 -08:00
097c92f602 add git2 dep 2024-01-11 02:06:50 -08:00
82eb78db23 rewrite stuff as functions 2024-01-11 02:06:15 -08:00
1434a11f28 pass tally into stack instruction to generate name override 2024-01-10 20:14:41 -08:00
1aef1f73d9 minor refactor to add/respect some cli options 2024-01-08 15:15:10 -08:00
eebc843cb4 comment for clarity 2024-01-08 15:11:28 -08:00
fdbe3251b3 more requests 2024-01-06 13:10:13 -08:00
b2f92a741c download version history 2024-01-06 13:10:13 -08:00
7e4a9f872c add version history deps 2024-01-06 12:39:16 -08:00
5f1178d0cf use output instead of key val pair 2024-01-06 12:38:43 -08:00
bb32d30896 error msg 2024-01-06 11:15:07 -08:00
03ae57e2e1 sanitize 2024-01-06 11:13:52 -08:00
589c1b044e invalid states are representable but I don't care 2024-01-05 21:36:21 -08:00
aed3b69ca0 decompile 2024-01-05 21:07:04 -08:00
4a081d5b8f delete useless enum 2024-01-05 13:47:32 -08:00
54ca5520b7 containerfile 2024-01-02 13:11:28 -08:00
23dfcadc85 only support one asset for now 2024-01-01 12:22:12 -08:00
1075d59a91 async upload 2024-01-01 12:22:12 -08:00
01676bb4da redo asset stuff as asset id and file list 2024-01-01 12:21:34 -08:00
df62258608 implement cookie and group as arg (bad) 2024-01-01 12:21:34 -08:00
dc4ec4547a release opti 2024-01-01 12:21:34 -08:00
929484855d async download 2024-01-01 12:21:33 -08:00
5 changed files with 2176 additions and 234 deletions

559
Cargo.lock generated

File diff suppressed because it is too large Load Diff

@ -1,20 +1,30 @@
[package]
name = "asset-tool"
version = "0.1.0"
version = "0.3.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
anyhow = "1.0.75"
chrono = { version = "0.4.31", features = ["serde"] }
clap = { version = "4.4.2", features = ["derive"] }
flate2 = "1.0.28"
futures = "0.3.30"
git2 = "0.18.1"
lazy-regex = "3.1.0"
pollster = "0.3.0"
rbx_binary = "0.7.1"
rbx_dom_weak = "2.5.0"
rbx_reflection_database = "0.2.7"
rbx_xml = "0.13.1"
reqwest = { version = "0.11.23", features = ["cookies"] }
rayon = "1.8.0"
rbx_binary = "0.7.4"
rbx_dom_weak = "2.7.0"
rbx_reflection_database = "0.2.10"
rbx_xml = "0.13.3"
reqwest = { version = "0.11.23", features = ["cookies", "json"] }
serde = { version = "1.0.195", features = ["derive"] }
serde_json = "1.0.111"
tokio = { version = "1.35.1", features = ["macros", "rt-multi-thread", "fs"] }
[profile.release]
#lto = true
strip = true
codegen-units = 1

23
Containerfile Normal file

@ -0,0 +1,23 @@
# Using the `rust-musl-builder` as base image, instead of
# the official Rust toolchain
FROM clux/muslrust:stable AS chef
USER root
RUN cargo install cargo-chef
WORKDIR /app
FROM chef AS planner
COPY . .
RUN cargo chef prepare --recipe-path recipe.json
FROM chef AS builder
COPY --from=planner /app/recipe.json recipe.json
# Notice that we are specifying the --target flag!
RUN cargo chef cook --release --target x86_64-unknown-linux-musl --recipe-path recipe.json
COPY . .
RUN cargo build --release --target x86_64-unknown-linux-musl --bin asset-tool
FROM alpine AS runtime
RUN addgroup -S myuser && adduser -S myuser -G myuser
COPY --from=builder /app/target/x86_64-unknown-linux-musl/release/asset-tool /usr/local/bin/
USER myuser
CMD ["/usr/local/bin/asset-tool"]

28
LICENSE

@ -1,9 +1,23 @@
MIT License
Permission is hereby granted, free of charge, to any
person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the
Software without restriction, including without
limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software
is furnished to do so, subject to the following
conditions:
Copyright (c) 2023 Quaternions
The above copyright notice and this permission notice
shall be included in all copies or substantial portions
of the Software.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

File diff suppressed because it is too large Load Diff