Jump to content
andruha061

Отличный способ для скачивания модов со Steam Workshop (пираты/лицензии)

Recommended Posts

Есть отличное расширение для браузера под названием Tampermonkey. С помощью него можно устанавливать пользовательские скрипты.
Скачать расширение можно тут : https://www.tampermonkey.net/

После установки расширения заходим в меню самого дополнения и нажимаем "Создать новый скрипт"

1.png

И вводим туда следующий код :

// ==UserScript==
// @author         Sycam Inc (origionally Alvaro)
// @name           Enhanced Steam Workshop Downloader
// @description    Adds an extra button to download, supports collections and new workshop layout
// @include        *steamcommunity.com/sharedfiles/filedetails/?id=*
// @include        *steamcommunity.com/workshop/filedetails/?id=*
// @require        http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js
// @grant          GM_xmlhttpRequest
// @version        2.1
// @license        MIT
// @namespace https://greasyfork.org/users/6073
// ==/UserScript==


var patt = new RegExp("[0-9]{2,15}");
var id = patt.exec(document.URL);
var baseURL = "http://api.steampowered.com/ISteamRemoteStorage/GetPublishedFileDetails/v0001/";
var baseURLCtn = "http://api.steampowered.com/ISteamRemoteStorage/GetCollectionDetails/v0001/";


if (document.URL.indexOf("steamcommunity.com") != -1) {
    if (document.URL.indexOf("workshop") != -1) {
        addCollectionBtn(id);
    } else {
        addWorkshopBtn(id);
    }
}

function prepareDownload(url, id) {
    GM_xmlhttpRequest({
        method: "POST",
        url: url,
        data: "itemcount=1&publishedfileids[0]=" + id + "&format=json",
        headers: {
            "Content-Type": "application/x-www-form-urlencoded"
        },
        onload: function (response) {
            //console.log(response.responseText);
            //debugger;
            data = jQuery.parseJSON(response.responseText);
            var fileurl = data.response.publishedfiledetails[0].file_url;
            $("#SubscribeItemOptionAdd2").click(function (e) {
                e.preventDefault(); //stop the browser from following
                window.location.href = fileurl;
            });
        },
        onerror: function (reponse) {
            //alert('error');
            console.log(reponse);
        }
    });
}

function download(url, id) {
    GM_xmlhttpRequest({
        method: "POST",
        url: url,
        data: "itemcount=1&publishedfileids[0]=" + id + "&format=json",
        headers: {
            "Content-Type": "application/x-www-form-urlencoded"
        },
        onload: function (response) {
            //console.log(response.responseText);
            //debugger;
            data = jQuery.parseJSON(response.responseText);
            var fileurl = data.response.publishedfiledetails[0].file_url;
            console.log(fileurl);
            window.open(fileurl);
        },
        onerror: function (reponse) {
            //alert('error');
            console.log(reponse);
        }
    });
}

function addWorkshopBtn(id) {
    var element = document.getElementById("AddToCollectionBtn");
    var button = document.createElement('span');
    button.setAttribute('class', 'general_btn share tooltip');
    //button.setAttribute('href', baseURLCtn + id);


    button.innerHTML = '<span id="SubscribeItemOptionAdd2"><span>Скачать дополнение</span></span>';
    // Append the element after the real subscribe button
    if (element.nextSibling) {
        element.parentNode.insertBefore(button, element.nextSibling);
    } else {
        element.parentNode.appendChild(button);
    }
    prepareDownload(baseURL, id);
    // Change the stupid text to the left of it
    document.querySelectorAll(".game_area_purchase_game")[0].getElementsByTagName('h1')[0].setAttribute('style', 'width: 300px;');
}


function addCollectionBtn(id) {
    var element = document.getElementById("AddToCollectionBtn");


    var button = document.createElement('span');
    button.setAttribute('class', 'general_btn share tooltip');
    //button.setAttribute('href', baseURLCtn + id);


    button.innerHTML = '<span id="SubscribeItemOptionAdd2"><span>Download</span></span>';


    // Append the element after the real subscribe button
    if (element.nextSibling) {
        element.parentNode.insertBefore(button, element.nextSibling);
    } else {
        element.parentNode.appendChild(button);
    }
    prepareDownloadCtn(baseURLCtn, id);
    // Change the stupid text to the left of it
    document.querySelectorAll(".game_area_purchase_game")[0].getElementsByTagName('h1')[0].setAttribute('style', 'width: 300px;');
}


function prepareDownloadCtn(url, id) {
    GM_xmlhttpRequest({
        method: "POST",
        url: url,
        data: "collectioncount=1&publishedfileids[0]=" + id + "&format=json",
        headers: {
            "Content-Type": "application/x-www-form-urlencoded"
        },
        onload: function (response) {
            //console.log(response);
            data = jQuery.parseJSON(response.responseText);
            $("#SubscribeItemOptionAdd2").click(function (e) {
                e.preventDefault(); //stop the browser from following
              $.each(data.response.collectiondetails[0].children, function(index, element) {
              download(baseURL,element.publishedfileid);
              });
            });
        },
        onerror: function (reponse) {
            //alert('error');
            console.log(reponse);
        }
    });
}

После того вы вставили код, нажимаем "Сохранить" : 

2.png

 

С этого момента ваш код работает.

Теперь заходим на сайт Steam Workshop ( https://steamcommunity.com/app/550/workshop/ )  подтверждаем и разрешаем доступ навсегда для скрипта.
Если все сделали правильно то на странице с дополнением будет кнопка "Скачать дополнение" :

3.png

Теперь пираты могут качать дополнения сразу со стима, а те у кого лицензия обходиться без подписок на аддоны.

Share this post


Link to post

Для тех кому лень что-то вводить и вставлять, можно установить скрипт : 
https://greasyfork.org/ru/scripts/5729-enhanced-steam-workshop-downloader

Но расширение Tampermonkey уже должно быть установлено.

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Информация

GAME MANIA - Это игровые сервера для второй части знаменитой игры Left 4 Dead 2.

Данные сообщество создано для того чтобы делиться своими скриншотами, видеозаписями, просматривать стримы, общаться и так далее.

Мы ВКонтакте

Подписывайтесь на нашу группу ВКонтакте.

Вступить в группу
×