Updated version available at: http://steam.madjoki.com/apps/free (requires login /w steam account to customize)

Old version is still available here

7 years ago*

Comment has been collapsed.

Today steam.madjoki.com is blocked by uBlock and uMatrix as a malware domain.

Further research shows it was listed by openphish.com on June 21 and that's used by malwaredomains.com which is used by the uBlock/uMatrix extensions.

6 years ago*
Permalink

Comment has been collapsed.

It became blocked for me ~2 days ago, using uBlock Origin.

6 years ago
Permalink

Comment has been collapsed.

Ah. I guess mine only updated the database today.

6 years ago
Permalink

Comment has been collapsed.

That would be fun idea for a malware, adding everything free on Steam to your account. Then promise to remove them if you pay so you don't have to clean your library manually.

6 years ago
Permalink

Comment has been collapsed.

View attached image.
6 years ago
Permalink

Comment has been collapsed.

It will be removed in next update.

6 years ago
Permalink

Comment has been collapsed.

7233 games - only one DLC added...
(╯°□°)╯︵ ┻━┻

6 years ago
Permalink

Comment has been collapsed.

happy cake there!

6 years ago
Permalink

Comment has been collapsed.

Heya, just wanted to point out that the script at https://steam.madjoki.com/bundles.user.js isn't a valid userscript as it's missing all the required tags and this creates compatibility issues (i.e. the script doesn't install from your webpage, it just downloads a raw javascript file that has to be manually copied and pasted which is no different than using the console in-browser).

6 years ago
Permalink

Comment has been collapsed.

Thanks for info. This was due to cloudflare minifying javascript files.

6 years ago
Permalink

Comment has been collapsed.

How dare they debeautify text. I bet they use spaces instead of tabs too!

6 years ago
Permalink

Comment has been collapsed.

ONE SCRIPT TO RULE THEM ALL ... :) how to properly add this ?

6 years ago
Permalink

Comment has been collapsed.


Windows Script Host

Script: C:\Users\====\Downloads\bundles.user.js
Line: 3
Char: 47
Error: Expected identifier, string or number
Code: 800A0404
Source: Microsoft JScript compilation error


OK

what is the problem?

6 years ago
Permalink

Comment has been collapsed.

Problem for Userscript.

I double click and I:
Script: C:\Users\====\Downloads\bundles.user.js
Line: 3
Char: 47
Error: Expected identifier, string or number
Code: 800A0404
Source: Microsoft JScript compilation error

And when I copy / paste, I have warning messages:
'$' is not defined.
Expected { after 'else'.

Need help plz

6 years ago
Permalink

Comment has been collapsed.

this for use inside your browser like chrome or firefox with greasemonkey / tampermonkey pluggins

6 years ago
Permalink

Comment has been collapsed.

Yes i use chrome and tampermonkey pluggins but I have its errors since the script was updated while before I had no problem.

6 years ago
Permalink

Comment has been collapsed.

This is the version I got a while back, still running fine (?) on my browser.

// ==UserScript==
// @name        Steam.madjoki.com - Owned Games Support
// @namespace   Madjoki
// @include     *//steam.madjoki.com/*
// @version     26
// @grant       GM_xmlhttpRequest
// ==/UserScript==

(function () {

    window.postMessage({
        'type': 'extensionInstalled',
        'version': 26
    }, "*");

    function updateGames()
    {
        localStorage.extensionLastUpdate = new Date().getTime();

        var link = "https://store.steampowered.com/dynamicstore/userdata/?t=" + (new Date().getTime());

        GM_xmlhttpRequest({
            method: "GET",
            url: link,
            timeout: 5000,
            onload: function(response) {

                var jsonFile = JSON.parse(response.responseText);

                if (jsonFile.rgOwnedPackages.length === 0)
                {
                    window.postMessage({
                        'type': 'extensionLogout',
                    }, "*");

                    return;
                }

                window.postMessage({
                    'type': 'updateUserdata',
                    'json': jsonFile
                }, "*");

            },
        });
    }

    var steamSessionID = null;

    function getSteamSessionID(callback)
    {
        if (steamSessionID !== null)
        {
            callback(steamSessionID);
            return;
        }

        GM_xmlhttpRequest({
            method: "GET",
            url: "https://store.steampowered.com/",
            timeout: 5000,
            onload: function(response) {

                // Get Session ID
                // Needed to add package
                var m = /g_sessionID = "([^"]+)"/.exec(response.responseText);

                steamSessionID = m[1];

                callback(steamSessionID);
            },
        });
    }

    function addPackage(subid, callback)
    {
        getSteamSessionID(function (sessionID) {

            GM_xmlhttpRequest({
                    method: "POST",
                    url: "https://store.steampowered.com/checkout/addfreelicense",
                    timeout: 5000,
                    data: $.param({
                        action: 'add_to_cart',
                        sessionid: sessionID,
                        subid: subid
                    }),
                    headers: {
                        "Content-Type": "application/x-www-form-urlencoded"
                    },
                    onload: function(response) {

                        var dom = $.parseHTML(response.responseText);

                        var success = $(dom).find(".add_free_content_success_area");
                        var failure = $(dom).find("#error_box");

                        if (success.length)
                            callback(true, success.text());
                        else
                            callback(false, failure.text() || "Error");
                    }
                });

        });
    }

    // Add Package to account
    $(".extension-add-package").click(function (ev) {

        ev.preventDefault();

        var btn = $(this);

        var subid = btn.data('package-id');

        addPackage(subid, function (success, text) {
            if (success)
                btn.text('OK');
            else
                btn.text('Error');
        });
    });

    $(".extension-add-packages").click(function (ev) {
        ev.preventDefault();

        var btn = $(this);

        var subids = btn.data('packages');

        var current = 0;
        var total = subids.length;

        function addNext()
        {
            if (current == total)
            {
                btn.text('Done');
                return;
            }

            addPackage(subids[current], function (success, status) {
                current++;

                btn.text(current + ' / ' + total);

                addNext();
            });
        }

        addNext();

    });

    $(".extension-add-package").removeAttr('disabled').removeClass('disabled');
    $(".extension-add-packages").removeAttr('disabled').removeClass('disabled');

    var updateCutoff = (new Date().getTime()) - (30 * 60 * 1000);

    if (localStorage.extensionLastUpdate === undefined || localStorage.extensionLastUpdate < updateCutoff)
        updateGames();
    else
        console.log("not updating");

    $("#updateGames").click(updateGames);

})();
6 years ago
Permalink

Comment has been collapsed.

OUAH NICE VERY THX.

6 years ago
Permalink

Comment has been collapsed.

I forced cleanup as some Cloudflare nodes had stuck with broken version. Make sure you clean cache and reinstall.

6 years ago
Permalink

Comment has been collapsed.

Doesn't work, my region is india

6 years ago
Permalink

Comment has been collapsed.

I'm not sure I get this. I have the script installed, but I'm not sure where to go from here. Do I still need to copy and paste the script into console? If so, what is the reason for installing the script?

Apologies in advance, maybe it's just too early and I'm not seeing the obvious.

6 years ago
Permalink

Comment has been collapsed.

I've used the method from the link below and I seem to have hit rock bottom.
https://steamdb.info/freepackages/

What other scripts and methods I could use now? Please offer detailed instructions if you can.

6 years ago
Permalink

Comment has been collapsed.

is there a working script, thanks!

6 years ago
Permalink

Comment has been collapsed.

For some reason, updating manually stops working since a week ago or two. Updating via server still works, though

6 years ago
Permalink

Comment has been collapsed.

hmm, doesn´t work for me (but did in the past)
is this an error on my side or can onyone confirm the same?

6 years ago
Permalink

Comment has been collapsed.

It seems to be broken for some, but still works for most. Might be on steam. (one other person is having trouble too).
If you can't install with client, then it's on steam.

6 years ago
Permalink

Comment has been collapsed.

Nice, got a few that I was missing. Thanks:)

6 years ago
Permalink

Comment has been collapsed.

Legit?

6 years ago
Permalink

Comment has been collapsed.

Thanks for this... finally figured out how to run javascript in console... just go to the end of the copy-pasted script and click and enter...

DUHHHHH.... added 50 at a time,,, will wait an hour and try again.

6 years ago
Permalink

Comment has been collapsed.

These days I manually browse the Steam store and add the free stuff I want.

6 years ago
Permalink

Comment has been collapsed.

Does the website only tracks apps with ID less than 300.000? :O

6 years ago
Permalink

Comment has been collapsed.

I don't see any packages above app-id 300.000 here: https://steam.madjoki.com/apps/free

6 years ago
Permalink

Comment has been collapsed.

It seems like Valve broke userdata so it's not really working atm. hopefully they fix it soon.

6 years ago
Permalink

Comment has been collapsed.

Please could you teach me how to add a dlc or a game?

5 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 1 year ago.

6 years ago
Permalink

Comment has been collapsed.

4RJ8Z-66NAQ-VL6MV

6 years ago
Permalink

Comment has been collapsed.

I get this error:
Access Denied
You don't have permission to access "http://store.steampowered.com/dynamicstore/userdata/" on this server.
Reference #18.479fef50.1542297961.56b235fe

6 years ago
Permalink

Comment has been collapsed.

Bump. Your site seems to be down or unstable these last few days

5 years ago
Permalink

Comment has been collapsed.

HTTP ERROR 500

5 years ago
Permalink

Comment has been collapsed.

I dont understand any of this. Would you please show me an example of coding or guide me to a tutorial?

5 years ago
Permalink

Comment has been collapsed.

The site has been giving Internal Server Error for the free game page these last few days

4 years ago
Permalink

Comment has been collapsed.

same here

4 years ago
Permalink

Comment has been collapsed.

Was also seeing the same, but it seems to be working now. Perhaps your post was enough to fix it? :)

4 years ago
Permalink

Comment has been collapsed.

I deployed fix after his post.

Turns out, security fix did broke that page.

4 years ago
Permalink

Comment has been collapsed.

Looks like it's down again?

4 years ago
Permalink

Comment has been collapsed.

Thanks Madjoki for the very useful site! I check it multiple times a week :)

4 years ago
Permalink

Comment has been collapsed.

Sign in through Steam to add a comment.