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

    Copy this Script and past to tampermonkey delete the previous script

    Mega link

    Oops!

    The embed code for this video is not valid.

    this is the error checked on multiple browsers same issue

    22 days later

    we can’t access the site because it asks for sign-up the scripts don’t work anymore.