72 lines
2.9 KiB
Plaintext
72 lines
2.9 KiB
Plaintext
# NO CUCKED ZSH OR BASH, JUST NUSHELL RAW POWER
|
|
# BECAUSE WE GIGACHADS ONLY RUN NUSHELL ON OUR VOID (OR NIXOS) MACHINES
|
|
|
|
def main [
|
|
sub_folder: string, # SUBFOLDER TO DROP THE WALLPAPERS (NO PUSSY PATHS)
|
|
url: string, # TARGET URL TO RAPE FOR WALLPAPERS
|
|
--range: string = "1-100" # DEFAULT GIGA-CHAD RANGE, OVERRIDE IF YOU'RE EXTRA
|
|
] {
|
|
# HARDCODED CHAD CONFIG (NO PUSSY VARIABLES)
|
|
let minio_host = "simxnet.andremor.eu.org:9000"
|
|
let bucket = "wallpapers"
|
|
let minio_key = "" # IM NOT GIVING YOU MY CREDS, GET YOUR OWN MINIO
|
|
let minio_secret = "" # IM NOT GIVING YOU MY CREDS, GET YOUR OWN MINIO
|
|
|
|
# CREATE A TEMP DIR LIKE A TRUE ALPHA
|
|
let tmpdir = (mktemp -d)
|
|
|
|
do {
|
|
# 🕵️♂️ STEAL WALLPAPERS WITH ZERO MERCY
|
|
print (["🕵️♂️ STEALING WALLPAPERS FROM ", $url, " (RANGE: ", $range, ")..."] | str join)
|
|
try {
|
|
gallery-dl --filter "extension in ('jpg','jpeg','png','webp')" --range $range -D $tmpdir $url
|
|
} catch {
|
|
print "❌ STEALING FAILED—YOU'RE SUCH A CUCK"
|
|
exit 1
|
|
}
|
|
|
|
# PREPARE THE DATE HEADER (RFC1123Z) FOR MAXIMUM CHAD SIGNATURE
|
|
let date_header = (sh -c "date -R")
|
|
|
|
# LOOP THROUGH EACH FILE AND UPLOAD LIKE A BEAST
|
|
for file in (ls $tmpdir | where type == "file") {
|
|
let filepath = $file.name
|
|
let filename = (basename $filepath)
|
|
print $"🚀 QUEUING UPLOAD: ($filename)..."
|
|
|
|
# DETECT CONTENT-TYPE—NO GUESSES, ONLY FACTS
|
|
let content_type = (file -b --mime-type $filepath | str trim)
|
|
if ($content_type | is-empty) {
|
|
let content_type = "application/octet-stream"
|
|
}
|
|
|
|
# BUILD THE CHAD STRING-TO-SIGN FOR AWS AUTH
|
|
let string_to_sign = $"PUT\n\n($content_type)\n($date_header)\n/($bucket)/($sub_folder)/($filename)"
|
|
|
|
# SMASH IT THROUGH OPENSSL, GET THAT BASE64 SIGNATURE
|
|
let signature = (
|
|
echo $string_to_sign |
|
|
openssl dgst -sha1 -hmac $minio_secret -binary |
|
|
base64
|
|
)
|
|
|
|
# FINALIZE THE UPLOAD URL AND THE ALPHA AUTH HEADER
|
|
let upload_url = $"https://($minio_host)/($bucket)/($sub_folder)/($filename)"
|
|
let auth_header = $"AWS ($minio_key):($signature)"
|
|
|
|
# FIRE OFF CURL IN THE BACKGROUND—NO WAITING FOR PUSSIES
|
|
sh -c $"curl -X PUT ($upload_url) -T ($filepath) -H 'Host: ($minio_host)' -H 'Date: ($date_header)' -H 'Authorization: ($auth_header)' -H 'Content-Type: ($content_type)' &"
|
|
}
|
|
|
|
# WAIT FOR ALL BACKGROUND CURLS TO FINISH—DON'T LEAVE ANY ORPHANED REQUESTS
|
|
sh -c "wait"
|
|
|
|
print "✅ ALL WALLPAPERS UPLOADED—CHAD MODE COMPLETED"
|
|
} finally {
|
|
# CLEAN UP THE TEMP DIR SO THE FEDS CAN'T TRACE US
|
|
print $"🧹 CLEANUP ($tmpdir)..."
|
|
rm -rf $tmpdir
|
|
}
|
|
}
|
|
|