ROMS43 3DS Downloader

A simple script that let you get a direct download link from ROMS43's 3DS section

当前为 2015-03-22 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name        ROMS43 3DS Downloader
// @namespace   roms43_3ds_downloader
// @description A simple script that let you get a direct download link from ROMS43's 3DS section
// @license     GPL; https://www.gnu.org/licenses/gpl.html
// @version     1
// @grant       none
// @match       http://www.roms43.com/download/*
// ==/UserScript==
/*
*
* ROMS43 3DS Downloader
* A simple script that let you get a direct download link from ROMS43's 3DS section.
* Licensed under the GPL license.
* https://www.gnu.org/licenses/gpl.html
* 
* Made by / aka slash
*
* Some files are still returning a 404 error, feel free to report these bugs as well as any idea to improve this script.
*
* Have fun
*
*/

link = "http://www.instantshare.net";

region = "none";

releaseName = ""

breadcrumb = document.getElementById("breadcrumb").innerHTML;

baseTitle = document.querySelectorAll(".topbar.orange")[0].innerHTML.slice(4,-5);
title = baseTitle.replace("Patched - ", "");
title = title.replace(/ /g, "%20");

if(document.body.innerHTML.search("eu.gif")!=-1){
    region = "eu";
} else if((document.body.innerHTML.search("jp.gif")!=-1)||(document.body.innerHTML.search("ja.gif")!=-1)){
    region = "jp";
} else if(document.body.innerHTML.search("us.gif")!=-1){
    region = "us";
}

if(breadcrumb.search("3ds")!=-1){
    if(breadcrumb.search("/3ds/")!=-1){
        link = link + "/3DS/" + title + ".3ds";
    }
    else if(breadcrumb.search("/3dscia/")!=-1){    
        for(i=0;i<document.querySelectorAll(".right").length;i++){
                if(document.querySelectorAll(".right")[i].innerHTML.search(baseTitle)!=-1){
                    releaseName = document.querySelectorAll(".right")[i].innerHTML;
                    releaseName = releaseName.replace(/ /g, "%20");
                    link = "http://www.instantshare.net/3DSCIA/" + releaseName+".cia";
                }
            }
        if(releaseName!=""){
           downloading = "<div style='text-align:center'><a style='font-size:50px' href="+link+">Download</a></div><p style='font-size:10px'>Feel free to report any bug <a style='font-size:10px' href='#'>there.</a></p>";
           document.querySelectorAll(".full-wrapper")[1].innerHTML = downloading;
        }else{

           link = link + "/3DSCIA/" + title;
            downloading = "<div style='text-align:center;'><p style='font-size:50px'>Please check every link*</p><p style='font-size:10px'>Feel free to report any bug <a style='font-size:10px' href='#'>there.</a></p><br/>";
            switch(region){
                    case "eu":downloading = downloading + "<a href="+link+"%20(Europe).cia>Link 1</a><br/>";
                              downloading = downloading + "<a href="+link+"%20(Europe)%20(eShop).cia>Link 2</a><br/>";
                              downloading = downloading + "<a href="+link+"%20(eShop)%20(Europe).cia>Link 3</a><br/>";
                              downloading = downloading + "<a href="+link+"%20(Europe)(En,Fr,Ge,It,Es).cia>Link 4</a><br/>";
                              downloading = downloading + "<a href="+link+"%20(Europe)%20(En,Fr,Ge,It,Es).cia>Link 4</a><br/>";
                              downloading = downloading + "<a href="+link+"%20(Europe)%20(Theme).cia>Link 5</a><br/>";break;
                    case "jp":if(document.body.innerHTML.search("(RF)")!=-1){
                              downloading + "<a href="+link+"%20(Japan)%20(RF).cia>Link 1</a><br/>";
                              downloading = downloading + "<a href="+link+"%20(Japan)(RF%20FS).cia>Link 2</a><br/>";
                          }else{
                              downloading = downloading + "<a href="+link+"%20(Japan).cia>Link 1</a><br/>";
                              downloading = downloading + "<a href="+link+"%20(eShop)%20(Japan).cia>Link 2</a><br/>";
                              downloading = downloading + "<a href="+link+"%20(Japan)%20(Theme).cia>Link 3</a><br/>";
                          };break;
                    case "us":if(document.body.innerHTML.search("(RF)")!=-1){
                              downloading = downloading + "<a href="+link+"%20(USA)%20(RF).cia>Link 1</a><br/>";
                              downloading = downloading + "<a href="+link+"%20(USA)(RF%20FS).cia>Link 2</a><br/>";
                          }else{
                              downloading = downloading + "<a href="+link+"%20(USA).cia>Link 1</a><br/>";
                              downloading = downloading + "<a href="+link+"%20(Usa).cia>Link 2</a><br/>";
                              downloading = downloading + "<a href="+link+"%20(USA)%20(Theme).cia>Link 3</a><br/>";
                          };break;
                    case "none":downloading = downloading + "<a href="+link+".cia>Link</a>";break;
            }
            downloading = downloading + "</div><p style='font-size:10px'>*There's a lot of filename confusion in CIA's and you cannot directly know how a file is named using it's page informations.<br/>It's possible that you have to use the links ROMS43 is providing you.</p><p style='font-size:5px'>I'm sorry guys.</p>"
            document.querySelectorAll(".full-wrapper")[1].innerHTML = downloading + document.querySelectorAll(".full-wrapper")[1].innerHTML;
        }
    }
    else if(breadcrumb.search("/3dsvc/")!=-1){
        link = link + "/3DSVC/" + title;
        switch(region){
                case "eu":link=link+"%20(E).cia";break;
                case "jp":link=link+"%20(J).cia";break;
                case "us":link=link+"%20(U).cia";break;
        }
    }
    else if(breadcrumb.search("/3ds-patched/")!=-1){
        link = link + "/3DS-onlinepatched/" + title;
        switch(region){
                case "eu":link=link+"EUR-Online%20Patched.3dz";break;
                case "jp":link=link+"JPN-Online%20Patched.3dz";break;
                case "us":link=link+"USA-Online%20Patched.3dz";break;
        }

    }

    if(breadcrumb.search("/3dscia/")==-1){
    downloading = "<div style='text-align:center'><a style='font-size:50px' href="+link+">Download</a></div><p style='font-size:10px'>Feel free to report any bug <a style='font-size:10px' href='#'>there.</a></p>";
        document.querySelectorAll(".full-wrapper")[1].innerHTML = downloading;}
}