Greasy Fork

Greasy Fork is available in English.

Pirate Games Links for some websites

Simply adds a pirate link to all games on the GOG store

目前为 2024-01-02 提交的版本,查看 最新版本

/* eslint-disable no-multi-spaces */
var buttonSet = [
    { url: "https://gog-games.com/search/",      title: "GOG Games" },
    { url: "https://igg-games.com/?s=",          title: "IGG-1" },
    { url: "https://pcgamestorrents.com/?s=",    title: "IGG Torrent" },
    { url: "https://gload.to/?s=",               title: "Gload" },
    { url: "https://www.ovagames.com/?s=",       title: "OVA Games" },
    { url: "https://steamrip.com/?s=",           title: "SteamRIP" },
    { url: "https://gogunlocked.com/?s=",        title: "GOG Unlocked" },
    { url: "https://fitgirl-repacks.site/?s=",   title: "Fitgirl" },
    { url: "https://dodi-repacks.site/?s=",      title: "DODI" },
];
var siteSet = [
    { url: "https://www.gog.com/game/*",           title: "GOG" },
    { url: "https://www.gog.com/en/game/*",        title: "GOG" },
    { url: "https://store.steampowered.com/app/*", title: "Steam" },
//    { url: /https:\/\/igg-games.com\/.*.html/,     title: "IGG" },
];

/*
All Credit for this userscript goes to NotNeo. I simply fixed a small bug that stopped this script from working on Steam in 2019. And now I'm adding buttos for other sites
*/
// ==UserScript==
// @name         Pirate Games Links for some websites
// @namespace    Kozinc
// @author       Kozinc
// @version      0.2.0
// @description  Simply adds a pirate link to all games on the GOG store
// @require      https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js
// @match        https://www.gog.com/game/*
// @match        https://www.gog.com/en/game/*
// @match        https://store.steampowered.com/app/*
// @grant        none
// @license      MIT
// ==/UserScript==

var siteSetResult = "";

siteSet.forEach((el) => {
    if(!!document.URL.match(el.url)) siteSetResult = el.title;
})

console.log("Games Links: ", siteSetResult);
var appName = "";
switch(siteSetResult) {
    case "GOG":
        appName = document.getElementsByClassName("productcard-basics__title")[0].textContent;
        appName = appName.trim();
        buttonSet.forEach((el) => {
            $("button.cart-button")[0].parentElement.parentElement.append(furnishGOG(el.url+appName, el.title))
        })
        break;
    case "Steam":
        appName = document.getElementsByClassName("apphub_AppName")[0].textContent;
        appName = appName.trim();
        // $(".game_purchase_action_bg:first").css({"height": "32px"}); remove
        $(".game_purchase_action_bg:first").css({
            "height": "50px",
            "max-width": "500px",
            "text-wrap": "wrap"
        });
        buttonSet.forEach((el) => {
            $(".game_purchase_action_bg:first").append(furnishSteam(el.url+appName, el.title))
        })
        break;
    case "IGG":
        appName = $(".uk-article-title")[0].innerHTML.replace(" Free Download","");
        appName = appName.trim();
        buttonSet.forEach((el) => {
            $(".uk-article-meta")[0].append("  --  ")
            $(".uk-article-meta")[0].append(furnishIGG(el.url+appName, el.title))
        })
        break;
}

function furnishGOG(href, innerHTML) {
    let element = document.createElement("a");
    element.target= "_blank";
    element.style = "margin: 5px 0 5px 0 !important; padding: 5px 10px 5px 10px;";
    element.classList.add("button");
    //element.classList.add("button--small");
    element.classList.add("button--big");
    element.classList.add("cart-button");
    element.classList.add("ng-scope");
    element.href = href;
    element.innerHTML= innerHTML.replace(/['"&®™]/g, '');
    return element;
}
function furnishSteam(href, innerHTML) {
    let element = document.createElement("a");
    element.target= "_blank";
    element.style = "margin-left: 10px; padding-right: 10px;";
    element.href = href;
    element.innerHTML= innerHTML.replace(/['"&®™]/g, '');
    return element;
}
function furnishIGG(href, innerHTML) {
    let element = document.createElement("a");
    element.target= "_blank";
    element.href = href;
    element.innerHTML= innerHTML.replace(/['"&®™]/g, '');
    return element;
}