# Unlock a Free Fireship.io PRO Account with Our Tampermonkey Script! 🔓

**URL:** <https://onehack.st/t/unlock-a-free-fireship-io-pro-account-with-our-tampermonkey-script/281716>\
**Category:** Tutorials & Methods\
**Tags:** tips-tricks\
**Created:** [April 23, 2024, 2:34pm UTC](https://onehack.st/t/unlock-a-free-fireship-io-pro-account-with-our-tampermonkey-script/281716 "2024-04-23T14:34:37Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![BlueHacker](https://onehack.st/user_avatar/onehack.st/bluehacker/32/174721_2.png) [@BlueHacker](https://onehack.st/u/BlueHacker)\
**Post date:** [April 23, 2024, 2:34pm UTC](https://onehack.st/t/unlock-a-free-fireship-io-pro-account-with-our-tampermonkey-script/281716/1 "2024-04-23T14:34:37Z")

</div>

Step 1: Install The tampermonkey chrome extension [Tampermonkey](https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo?hl=en)

 ![image](https://onehack.st/uploads/default/original/3X/6/1/615b3d5e5c5bcc1a3b7e7d38769b8b90bd7a7a30.jpeg)

* * *

Step 2: Add the extension to the chrome

Step 3: Click on Tampermonkey Chrome Extension and Click to Create a New Script

 ![image](https://onehack.st/uploads/default/original/3X/a/9/a978b3e314c48d1d282932f8fd587e216da0322e.png)

* * *

Step 4: Change Script

[Script LINK  
 ](https://api.pastecode.io/anon/raw-snippet/hpdhsqwp?raw=inline&ticket=eb9b2acc-a1d2-4e66-b915-33ee24209014)  
Step 5: Enable the Script in the [fireship.io](http://fireship.io) page

 ![image](https://onehack.st/uploads/default/original/3X/a/f/af9d246ecbbfd63e5b174160e6105c9df392217a.png)

* * *

Step 6: Go ahead and watch any Pro Fireship course

 ![image](https://onehack.st/uploads/default/original/3X/7/7/7702260fa36d5f8bd265f2c7dc9716c694e89957.jpeg)

* * *

Note: Please check all steps before posting anything; refresh the page if it asks for sign in at course section

`Credits: CH Admin`

---

<div class="post-metadata">

**Author:** ![Ata\_ur\_Rehman](https://onehack.st/user_avatar/onehack.st/ata_ur_rehman/32/160032_2.png) [@Ata\_ur\_Rehman](https://onehack.st/u/Ata_ur_Rehman)\
**Post date:** [April 23, 2024, 5:21pm UTC](https://onehack.st/t/unlock-a-free-fireship-io-pro-account-with-our-tampermonkey-script/281716/3 "2024-04-23T17:21:11Z")

</div>

Thank you!

---

<div class="post-metadata">

**Author:** ![devmadfury](https://onehack.st/user_avatar/onehack.st/devmadfury/32/139064_2.png) [@devmadfury](https://onehack.st/u/devmadfury)\
**Post date:** [April 23, 2024, 6:30pm UTC](https://onehack.st/t/unlock-a-free-fireship-io-pro-account-with-our-tampermonkey-script/281716/4 "2024-04-23T18:30:37Z")

</div>

Yes, as image shows it’s working but all videos are not playable sometime it’s showing privacy error and after reload it’s just blank. But yes it’s working as like image. if possible please solve the issue show we can injoy those videos 😶

Thank you  
God bless you

---

<div class="post-metadata">

**Author:** ![lcontrol](https://onehack.st/user_avatar/onehack.st/lcontrol/32/144693_2.png) [@lcontrol](https://onehack.st/u/lcontrol)\
**Post date:** [April 23, 2024, 7:04pm UTC](https://onehack.st/t/unlock-a-free-fireship-io-pro-account-with-our-tampermonkey-script/281716/5 "2024-04-23T19:04:07Z")

</div>

I’m using this script, just paste it once into the console and I’m done, no issues with it for many months:

```javascript
setInterval(() => {
    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 = document.querySelector("global-data").vimeo; // get id for vimeo video
    const youtubeId = 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
        document.querySelector("video-player").shadowRoot.querySelector(".vid").innerHTML = `<iframe src="https://player.vimeo.com/video/${vimeoId}" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen="" title="${location.pathname.split("/")[3]}" width="426" height="240" frameborder="0"></iframe>` // 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)

```

I hope this solves your problem. The code is almost identical with the one provided on tampermonkey, I hope this solves it. Fireship guy most probably left this intented for people that really want to learn but don’t want to pay. Kind of a nice gesture that if there’s a want there’s always gonna be how.

Happy learning, he has really nice coures and makes fun most of the time.

---

<div class="post-metadata">

**Author:** ![Zaheer\_Ahmed](https://onehack.st/user_avatar/onehack.st/zaheer_ahmed/32/138741_2.png) [@Zaheer\_Ahmed](https://onehack.st/u/Zaheer_Ahmed)\
**Post date:** [April 24, 2024, 2:20pm UTC](https://onehack.st/t/unlock-a-free-fireship-io-pro-account-with-our-tampermonkey-script/281716/6 "2024-04-24T14:20:52Z")

</div>

Brilliant. working for me

---

<div class="post-metadata">

**Author:** ![Arunya\_Goojar](https://onehack.st/user_avatar/onehack.st/arunya_goojar/32/115605_2.png) [@Arunya\_Goojar](https://onehack.st/u/Arunya_Goojar)\
**Post date:** [April 24, 2024, 5:57pm UTC](https://onehack.st/t/unlock-a-free-fireship-io-pro-account-with-our-tampermonkey-script/281716/7 "2024-04-24T17:57:10Z")

</div>

it did not work for me so i found the latest version and updated it to hide the pro buttons too : `// ==UserScript==  
// @name🔥 Freeship  
// @namespace lemons  
// @version 1.7  
// @description Unlock all Fireship PRO courses/lessons.  
// @author lemons  
// @match[https://fireship.io/](https://fireship.io/)\*  
// @icon[https://em-content.zobj.net/source/apple/391/fire\_1f525.png](https://em-content.zobj.net/source/apple/391/fire_1f525.png)  
// @grant none  
// @downloadURL [https://update.greasyfork.org/scripts/455330/Freeship.user.js](https://update.greasyfork.org/scripts/455330/Freeship.user.js)  
// @updateURL [https://update.greasyfork.org/scripts/455330/Freeship.meta.js](https://update.greasyfork.org/scripts/455330/Freeship.meta.js)  
// ==/UserScript==

const ifProElement = document.querySelector(‘if-pro’);  
ifProElement.style.display = ‘none’;

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)); // get id for vimeo video
const youtubeId = atob(document.querySelector("global-data").youtube); // get id for vimeo 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
    return;
}
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
    return;
}

```

}, 100)`

---

<div class="post-metadata">

**Author:** ![t0mekk](https://onehack.st/user_avatar/onehack.st/t0mekk/32/132710_2.png) [@t0mekk](https://onehack.st/u/t0mekk)\
**Post date:** [April 30, 2024, 3:21pm UTC](https://onehack.st/t/unlock-a-free-fireship-io-pro-account-with-our-tampermonkey-script/281716/10 "2024-04-30T15:21:09Z")

</div>

works fine for me! thanks!

---

<div class="post-metadata">

**Author:** ![lcontrol](https://onehack.st/user_avatar/onehack.st/lcontrol/32/144693_2.png) [@lcontrol](https://onehack.st/u/lcontrol)\
**Post date:** [January 9, 2025, 4:22pm UTC](https://onehack.st/t/unlock-a-free-fireship-io-pro-account-with-our-tampermonkey-script/281716/11 "2025-01-09T16:22:17Z")

</div>

For anyone wondering in the future, this is the script used to make it work with tampermonkey as the one in the post is OLD and only a version 1.5, the current version is 1.12+:

> **[Freeship](https://greasyfork.org/en/scripts/455330-freeship)**
>
> Unlock all Fireship PRO courses/lessons.

You can also look for a script called “Freeship”. If the script stops working then update the script.
