More actions
FourthTube | |
---|---|
![]() | |
General | |
Author | Erie Valley Software |
Type | Media Players |
Version | Beta 31 |
License | GPL-3.0 |
Last Updated | 2025/02/03 |
Links | |
Download | |
Website | |
Source | |
FourthTube is a fork of ThirdTube, which had become non-functional around July 2024. The developer of FourthTube, also known for creating NexTube, collaborated with members of the ThirdTube Discord server to implement a fix, resulting in the creation of FourthTube.
ThirdTube uses a decrypter and manipulates certain JavaScript files to access YouTube's player without encountering access issues. However, this method proved to be unstable over time. In contrast, FourthTube employs a different approach by sending data that mimics the iOS YouTube app, a technique also used by tools like YT-DLP.
Features
- Video Playback up to 480p.
- Livestreams and premiere videos support.
- Searching.
- Video suggestion.
- Comments.
- Captions.
- Local watch history and channel subscription.
- No ads.
Installation
Requires 3DS (including 2DS) with Luma3DS (at least 8.1.0-0) and DSP1.
To migrate data from ThirdTube to FourthTube, rename the /3ds/ThirdTube/ folder to FourthTube. If you were using an unofficial fork of ThirdTube (such as a translation), this folder may be named differently.
Controls
B - Go back to the previous scene
Circle Pad Up/Down - Scroll
L/R - Switch between tabs
Select+Start - Blackout the bottom screen
In video player:
Left/Right - 10s seek
ZL/ZR - 5s seek
Debugging:
Select+X - Toggle debug log
Select+Y - Toggle memory usage monitor
Select+R+A - Toggle FPS monitor
Screenshots
Changelog
Beta - 31
- Smu1zel
- Rewrote community posts workaround to take advantage of Google's parameters (images load much faster and take up less memory, at the cost of a small drop in quality).
- Added code to wait up to 20 seconds for the 3DS to connect to Wi-Fi at launch (avoids some race conditions).
- Added visionOS app/spoof data.
- Upgraded nghttp2 to version 1.64.0.
- Some more QoL internal improvements to enhance the developer's experience.
- 2ipper
- Added code to fetch visitorData from YouTube's servers directly (fixes the infamous gray Play button again).
- Added the ability to see the latest changelog in the Update tab.
- Fixed subscriber count in the Subscribed tab.
- Search fixes.
- cooolgamer
- Created a custom boot screen.
Beta - 30
- Added option to switch app data (iOS, Android VR) to Settings -> Advanced.
- Update iOS client.
- Added visitor data (YouTube requests). (Comment From Me ErieVS: I have no idea why I didn't think about doing this to begin with, I used it with MangoTube, guess I just forgot, anwyas huge thanks to 2ipper for this fix!)
Credits
FourthTube credits:
- WindowsServer2003 - The creator of ThirdTube.
- Smu1zel - Figured out the line of code that needed to be changed and tested the change out, fixing the app after it stopped working in 2024.
- NCP 3.0 - Fixing the app after it stopped working in 2024.
- 5GBurrito - Minor changes (project manager?).
- 2B_enpitsu - New banner, watch history fix, new icon, 480p support, some other fixes, and a fair bit more (thank you so much!).
- ItsFrocat & Dragontwo14 - For the strings used in the German translation.
- cooolgamer - For the strings used in the French translation, as well as a custom boot screen.
- returndislike - Used for dislikes.
ThirdTube credits:
- Core 2 Extreme - For Video player for 3DS which this app is based on. Needless to say, the video playback functionality is essential for this app, and it would not have been possible to develop this software without him spending his time optimizing the code sometimes even with assembly and looking into HW decoding on the new 3DS.
- dixy52-beep - For in-app textures.
- PokéTube - For the icon and the banner.
- The contributors of youtube-dl - As a reference about YouTube webpage parsing. It was especially helpful for the deobfuscation of ciphered signatures.
- The contributors of pytube - As a reference about YouTube webpage parsing. Thanks to its strict dependency-free policy, I was able to port some of the code without difficulty.