this post was submitted on 06 Jun 2024
488 points (99.2% liked)

Piracy: ꜱᴀɪʟ ᴛʜᴇ ʜɪɢʜ ꜱᴇᴀꜱ

54746 readers
222 users here now

⚓ Dedicated to the discussion of digital piracy, including ethical problems and legal advancements.

Rules • Full Version

1. Posts must be related to the discussion of digital piracy

2. Don't request invites, trade, sell, or self-promote

3. Don't request or link to specific pirated titles, including DMs

4. Don't submit low-quality posts, be entitled, or harass others



Loot, Pillage, & Plunder

📜 c/Piracy Wiki (Community Edition):


💰 Please help cover server costs.

Ko-Fi Liberapay
Ko-fi Liberapay

founded 1 year ago
MODERATORS
 

Vimms lair is starting to remove many roms that are being requested to be removed by Nintendo etc. soon many original roms, hacks, and translations will be lost forever. Can any of you help make archive torrents of roms from vimms lair and cdromance? They have hacks and translations that dont exist elsewhere and will probably be removed soon with ios emulation and retro handhelds bringing so much attention to roms and these sites

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 32 points 5 months ago* (last edited 5 months ago) (1 children)

A friend of mine and I put this together a few years ago. I hope yall find it helpful:

#!/usr/bin/env bash

download_roms(){
    for ((i=$1; i<=$2; i++)); do
        cd "$HOME/retroarch"
        curl  -G -L "https://download3.vimm.net/download/?mediaId=$i" -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0' -H 'Referer: https://vimm.net/' -O  -J
    done
}

choose_system(){
printf "\n============================================"
printf "\n NOTE: This Script has not been fully tested"
printf "\n       It may not work as expected"
printf "\n============================================\n"
printf "Download roms for which systems?
    1. NES
    2. SNES
    3. GameBoy
    4. N64
    5. GameCube
    6. Sega Genesis
    7. Playstation1-2
    8. Playstation Portable
    0. All\n : "

read -r system
    case $system in
        "1") download_roms 3      981    "NES";;
        "2") download_roms 983    1770   "SNES";;
        "3") download_roms 2955   5932   "GameBoy";;
        "4") download_roms 2465   2761   "N64";;
        "5") download_roms 7461   7634   "GameCube";;
        "6") download_roms 1771   2464   "Sega Genesis";;
        "7") download_roms 6071   9894   "Playstation1-2";;
        "9") download_roms 23991  23973  "Playstation Portabale";;
        "0") download_roms 1      100000 "All";;
    esac
}

mkdir -p "$HOME/retroarch"
choose_system
[–] [email protected] 7 points 5 months ago (3 children)

Thank you for the awesomeness that is the script. If I might ask a question: why is the user agent Windows 10 if this is a bash script? I'm genuinely curious and I don't know why.I imagine this might be WSL. You did mention it was an old script so maybe it had something to do with that?

[–] [email protected] 15 points 5 months ago

The "user-agent" part of the script is the same as a browser's user agent. So it's trying to emulate a common user so the site doesn't know it's a script, and there's not a more common user than a Windows one, so it's lying about it.

[–] [email protected] 2 points 5 months ago (1 children)

That's a very good question. It was a few years ago, but it's running right now on my computer on Linux.

[–] [email protected] 2 points 5 months ago* (last edited 5 months ago) (2 children)

I can confirm that the script still works, but sadly the site owner of Vim has removed the file from the server. The script sees a file link but will download nothing. When testing the script with just NES, it will see a game, but will throw an error of “remote files name has no length”, so going forward you could test via a vpn and see if they adjusted their files to be available via a country that doesn’t care, or they just haven’t gotten around to cleaning up their file directory list post removal.

P.S. the script showed that 23 field failed to download so one can assume those files were the one Nintendo decided to have them remove.

[–] [email protected] 1 points 5 months ago

Not surprised, I think a lot of sites tend to start removing things as they are posting about being made to do so. As I imagine that having them still up after posting about the removals would likely cause a surge in downloads. Not sure what kinds of things the sites might have to (or be compelled to if formally sued) provide to lawyers/courts. Would (at least to my non-understanding of processes) be that many more "infractions" to add to a "damages" total. Even if none of my assumptions are an issue. It is just like any other data issue. The worst time to try and get copies for a backup is after shit happens/fails. Though I imagine that at least for 8-bit and 16-bit games, there are plenty of copies on plenty of sites and torrents.

[–] [email protected] 1 points 5 months ago (1 children)

There are some gaps in the numbers. That could be the case. Was it for all of the ones you tried to download?

[–] [email protected] 1 points 5 months ago* (last edited 5 months ago) (1 children)

Every section had missing downloads. But with some web inspection, I found some interesting obfuscation using what I think is JavaScript on the web pages that “used” to hold the download links, for the files that were requested to be removed. If we can figure out how to reverse the code to reveal the link again we could grab (assuming they are still on the server) the files manually.

If you want to chat about this I’m on matrix

[–] [email protected] 1 points 5 months ago (1 children)

what is the use of saying that, if we don't know your matrix name?

[–] [email protected] 1 points 5 months ago* (last edited 5 months ago)

My profile has my matrix name. I figured people have known that was a feature for lemmy profiles, but I guess that was my mistake.

@codname_goose:matrix.org

[–] [email protected] 10 points 5 months ago (1 children)

It explicitly sets it to that to help disguise the fact that it's a script rather than a browser