Steam advance Downloads links in store

Steam advance Downloads links in store to search and download for free ;)

当前为 2024-06-27 提交的版本,查看 最新版本

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

You will need to install an extension such as Tampermonkey to install this script.

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         Steam advance Downloads links in store
// @namespace    Wizzergod
// @description  Steam advance Downloads links in store to search and download for free ;)
// @version      3.2.2
// @license      MIT
// @match        *://store.steampowered.*/app/*
// @exclude      *://steamcommunity.*/*
// @match        *://www.gog.com/*/game/*
// @match        *://store.steampowered.*/*
// @match        *://*.steampowered.*/*
// @exclude      *://*.steampowered.com/bundle/*
// @icon         https://bit.ly/3Jj2YMu
// @grant        GM_addStyle
// @credits      Wizzergod
// ==/UserScript==

(function() {
    'use strict';

GM_addStyle(`
    .custom_game_purchase_action_bg {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: stretch;
        gap: 4px;
        width: 100%;
        padding: 4px 0 10px 0;
    }
    .custom_demoGameBtn {
        flex: 1 1 auto;
        display: flex;
        margin: 1px;
    }
    .custom_btn_green_steamui,
    .custom_btnv6_lightblue_blue,
    .custom_btn_blue_steamui,
    .custom_btnv6_blue_hoverfade,
    .pcgamewiki,
    .Ccyan,
    .Corange,
    .Cdarkorange,
    .Cgog {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 1;
        color: white;
        text-decoration: none;
        text-transform: uppercase;
        padding: 10px 15px;
        border-radius: 3px;
        box-shadow: 2px 2px 15px rgba(0, 0, 0, 0.4);
        transition: background .3s ease,transform .3s ease,box-shadow .3s ease;

        box-sizing: border-box;
        text-align: center;
        font-size: 12px;
        font-family: "Motiva Sans", Arial, Helvetica, sans-serif;
        line-height: 1.2;
        white-space: nowrap;
    }
    .custom_btn_green_steamui:hover,
    .custom_btnv6_lightblue_blue:hover,
    .custom_btn_blue_steamui:hover,
    .custom_btnv6_blue_hoverfade:hover,
    .pcgamewiki:hover,
    .Ccyan:hover,
    .Corange:hover,
    .Cdarkorange:hover,
    .Cgog:hover {
        filter: blur(0.5px) brightness(0.7);
        z-index: 0;
    }

    .custom_btn_green_steamui { background-color: #5c7e10; }
    .custom_btn_green_steamui:hover { background-color: #4b670d; }
    .custom_btnv6_lightblue_blue { background-color: #417a9b; }
    .custom_btnv6_lightblue_blue:hover { background-color: #35637a; }
    .custom_btn_blue_steamui { background-color: #1b2838; }
    .custom_btn_blue_steamui:hover { background-color: #16202d; }
    .custom_btnv6_blue_hoverfade { background-color: #176aa6; }
    .custom_btnv6_blue_hoverfade:hover { background-color: #0f4a73; }
    .pcgamewiki { background-color: #556db3; }
    .pcgamewiki:hover { background-color: #495e9b; }
    .Ccyan { background-color: #008669; }
    .Ccyan:hover { background-color: #008064; }
    .Corange { background-color: #e68a00 !important; }
    .Corange:hover { background-color: #c87801 !important; }
    .Cdarkorange { background-color: #d84a00; }
    .Cdarkorange:hover { background-color: #c44706; }
    .Cgog { background-color: rgb(109, 11, 171); }
    .Cgog:hover { background-color: rgba(109, 11, 171, 0.64); }
`);


    function createGameLink(url, label, className) {
        var linkContainer = document.createElement('div');
        linkContainer.className = 'custom_demoGameBtn custom_btn_addtocart';

        var link = document.createElement('a');
        link.target = '_blank';
        link.className = className;
        link.href = url;
        link.rel = 'noopener noreferrer';

        var linkText = document.createElement('span');
        linkText.textContent = label;

        link.appendChild(linkText);
        linkContainer.appendChild(link);

        return linkContainer;
    }

    var gameTitle = document.createElement('h1');
    gameTitle.textContent = 'Free download from torrents.';

    var discountCountdown = document.createElement('p');
    discountCountdown.textContent = 'These links lead to the search feature on specified websites, and remember piracy is bad if you downloaded, played and liked the game, then buy it, so you will thank the developers!';

    var gamePurchaseAction = document.createElement('div');
    gamePurchaseAction.className = 'custom_game_purchase_action';

    var gamePurchaseActionBg = document.createElement('div');
    gamePurchaseActionBg.className = 'custom_game_purchase_action_bg';

    var titleElement = document.querySelector('#appHubAppName .apphub_AppName, span[itemprop="name"]');
    var gameTitleText = titleElement ? titleElement.textContent.trim() : '';

    //gameappid
    var appidElement = document.querySelector('[data-appid]');
    var gameappid = appidElement ? appidElement.getAttribute('data-appid') : '';
    //or
    var gsidElement = document.querySelector('[data-miniprofile-appid]');
    var gsid = gsidElement ? gsidElement.getAttribute('data-miniprofile-appid') : '';
    if (!gsid) {
        gsidElement = document.querySelector('[data-appid]');
        gsid = gsidElement ? gsidElement.getAttribute('data-appid') : '';
    }
    //gameappid

    var links = [
        { url: 'https://rutracker.org/forum/tracker.php?nm=' + encodeURIComponent(gameTitleText), label: 'rutracker', className: 'custom_btn_green_steamui' },
        { url: 'https://thelastgame.club/?do=search&subaction=search&story=' + encodeURIComponent(gameTitleText), label: 'thelastgame.(club)', className: 'custom_btn_green_steamui' },
        { url: 'https://thelastgame.ru/?s=' + encodeURIComponent(gameTitleText), label: 'thelastgame.(ru)', className: 'custom_btn_green_steamui' },
        { url: 'https://thelastgame.org/?do=search&subaction=search&story=' + encodeURIComponent(gameTitleText), label: 'thelastgame.org', className: 'custom_btn_green_steamui' },
        { url: 'https://www.limetorrents.lol/search/games/' + encodeURIComponent(gameTitleText), label: 'limetorrents', className: 'custom_btn_green_steamui' },
        { url: 'https://1337x.to/search/' + encodeURIComponent(gameTitleText) + '/1/', label: '1337x', className: 'custom_btn_green_steamui' },
        { url: 'https://thepiratebay.org/search.php?cat=401&q=' + encodeURIComponent(gameTitleText), label: 'thepiratebay', className: 'custom_btn_green_steamui' },
        { url: 'https://igrovaya.org/?do=search&subaction=search&story=' + encodeURIComponent(gameTitleText), label: 'igrovaya', className: 'custom_btn_green_steamui' },
        { url: 'https://www.torrentdownloads.pro/search/?search=' + encodeURIComponent(gameTitleText), label: 'torrentdownloads.(pro)', className: 'custom_btn_green_steamui' },
        { url: 'https://www.torrentdownload.info/search?q=' + encodeURIComponent(gameTitleText), label: 'torrentdownload.(info)', className: 'custom_btn_green_steamui' },
        { url: 'https://catorrent.org/index.php?do=search&subaction=search&story=' + encodeURIComponent(gameTitleText), label: 'catorrent', className: 'custom_btn_green_steamui' },
        { url: 'https://repack-games.ru/index.php?do=search&subaction=search&story=' + encodeURIComponent(gameTitleText), label: 'repack-games', className: 'custom_btn_green_steamui' },
        { url: 'https://gamestracker.org/search/?q=' + encodeURIComponent(gameTitleText), label: 'gamestracker', className: 'custom_btn_green_steamui' },
        { url: 'https://nnmclub.to/forum/tracker.php?nm=' + encodeURIComponent(gameTitleText), label: 'nnmclub', className: 'custom_btn_green_steamui' },
        { url: 'https://thebyrut.org/?do=search&subaction=search&story=' + encodeURIComponent(gameTitleText), label: 'byrut', className: 'custom_btn_green_steamui' },
        { url: 'https://pcgamestorrents.com/?s=' + encodeURIComponent(gameTitleText), label: 'pcgamestorrents.(com)', className: 'custom_btn_green_steamui' },
        { url: 'https://hisgames.org/search?searchphrase=all&searchword=' + encodeURIComponent(gameTitleText), label: 'hisgames', className: 'custom_btn_green_steamui' },
        { url: 'https://freegogpcgames.com/?s=' + encodeURIComponent(gameTitleText), label: 'Gog:freegogpcgames', className: 'Cgog' },
        { url: 'https://gogunlocked.com/?s=' + encodeURIComponent(gameTitleText), label: 'Gog:gogunlocked', className: 'Cgog' },
        { url: 'https://gog-games.to/search/' + encodeURIComponent(gameTitleText), label: 'Gog:gog-games', className: 'Cgog' },

        { url: 'https://small-games.info/?go=search&search_text=' + encodeURIComponent(gameTitleText), label: 'small-games.(info)', className: 'custom_btnv6_lightblue_blue' },
        { url: 'https://www.old-games.ru/catalog/?gamename=' + encodeURIComponent(gameTitleText), label: 'old-games', className: 'custom_btnv6_lightblue_blue' },
        { url: 'https://www.pcgamingwiki.com/api/appid.php?appid=' + encodeURIComponent(gameappid), label: 'PCGamingWiki', className: 'pcgamewiki' },
        { url: 'https://f95zone.to/search/search?keywords=' + encodeURIComponent(gameTitleText), label: 'Forum: f95zone', className: 'custom_btnv6_blue_hoverfade' },
        { url: 'https://cs.rin.ru/forum//search.php?st=0&sk=t&sd=d&sr=topics&terms=any&sf=titleonly&keywords=' + encodeURIComponent(gameTitleText), label: 'cs.(rin)', className: 'custom_btnv6_blue_hoverfade' },
        { url: 'https://www.gogdb.org/products?search=' + encodeURIComponent(gameTitleText), label: 'View on GogDB', className: 'custom_btnv6_blue_hoverfade' },
        { url: 'https://steamdb.info/app/' + encodeURIComponent(gameappid), label: 'STEAMDB', className: 'custom_btnv6_blue_hoverfade' }
    ];

    var row = document.createElement('div');
    row.style.display = 'flex';
    row.style.flexWrap = 'wrap';

    links.forEach(function(linkInfo) {
        var link = createGameLink(linkInfo.url, linkInfo.label, linkInfo.className);
        row.appendChild(link);
    });

    var gameLinksDiv = document.createElement('div');
    gameLinksDiv.className = 'custom_game_area_purchase_game';

    gamePurchaseActionBg.appendChild(row);
    gamePurchaseAction.appendChild(gamePurchaseActionBg);
    gameLinksDiv.appendChild(gameTitle);
    gameLinksDiv.appendChild(discountCountdown);
    gameLinksDiv.appendChild(gamePurchaseAction);

    var targetElement = document.querySelector('.game_area_purchase');
    if (targetElement) {
        targetElement.parentNode.insertBefore(gameLinksDiv, targetElement);
    }

    var elements = document.getElementsByClassName('early_access_header');
    Array.from(elements).forEach(function(element) {
        element.parentNode.removeChild(element);
    });
})();