5 days later
15 days later
2 months later

Thank you it’s working for me 5 October 2023

just follow the steps

7 days later

That’s amazing! It worked! Thank you so much!
By any chance, do you have a similar one for Frontendmasters?
I wanted their SvelteKit course

8 days later
a month later
10 days later

Still works great! Incredible…

Thanks a lot!

13 days later

i love you man thank you so much it worked

a month later

I did the exact same steps, but its requiring me to sign in, and the lectures are locked. I also tried reloading but nothing

    hi can you make the same script but for the net ninja websit please

    13 days later
    a month later

    IG they fixed it. it says opps when i use the script. any work around ?

    Here you go the working version:

    // ==UserScript==
    // @name         Freeship
    // @namespace    lemons
    // @version      1.5
    // @description  Unlock all Fireship PRO courses/lessons.
    // @author       lemons
    // @match        https://fireship.io/*
    // @icon         https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/120/apple/325/fire_1f525.png
    // @grant        none
    // @downloadURL https://update.greasyfork.org/scripts/455330/Freeship.user.js
    // @updateURL https://update.greasyfork.org/scripts/455330/Freeship.meta.js
    // ==/UserScript==
    
    setInterval(async () => {
        document.querySelectorAll("[free=\"\"]").forEach(el => el.setAttribute("free", true)) // set all elements with the attribute free set to "" to true
    
        if (document.querySelector("if-access [slot=\"granted\"]")) { // replace HOW TO ENROLL to YOU HAVE ACCESS
            document.querySelector("if-access [slot=\"denied\"]").remove()
            document.querySelector("if-access [slot=\"granted\"]").setAttribute("slot", "denied")
        }
    
        if (document.querySelector("video-player")?.shadowRoot?.querySelector(".vid")?.innerHTML) return; // return if no video player
        const vimeoId = Number(atob(document.querySelector("global-data").vimeo)) - Number(document.querySelector("head").getAttribute("data-build")); // get id for vimeo video
        const youtubeId = atob(document.querySelector("global-data").youtube); // get id for vimeo video
    
        if (vimeoId) { // if there is an id,
            document.querySelector("video-player").setAttribute("free", true) // set free to true
            const html = (await fetch(`https://vimeo.com/api/oembed.json?url=https%3A%2F%2Fvimeo.com%2F${vimeoId}&id=${vimeoId}`).then(r=>r.json())).html
            document.querySelector("video-player").shadowRoot.querySelector(".vid").innerHTML = html // set video
        }
        if (youtubeId) { // if there is an id,
            document.querySelector("video-player").setAttribute("free", true) // set free to true
            document.querySelector("video-player").shadowRoot.querySelector(".vid").innerHTML = `<iframe src="https://youtube.com/embed/${youtubeId}" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen="" title="${location.pathname.split("/")[3]}" width="426" height="240" frameborder="0"></iframe>` // set video
        }
    }, 100)
    19 days later

    bruh syler what is this? now it’s a video of some dude cooking noodles lmao XD