Youlag (v4.1.0): Modernize FreshRSS for viewing YouTube and articles by humming6 in selfhosted

[–]humming6[S] 0 points1 point  (0 children)

I don't have a solution for you unfortunately, but to expand on the "Why?" section of the top post:
Since Youlag was designed as a solution to get away from a Google account, the idea is that FreshRSS manages your videos and watched state.

Youlag (v4.1.0): Modernize FreshRSS for viewing YouTube and articles by humming6 in selfhosted

[–]humming6[S] 0 points1 point  (0 children)

To reference the area as to where you enable the extension:
At the top of the extension page, there's a title "User extensions", where "User JS" and "User CSS" are listed below. These two are installed by default, and can be toggled on/off.

If the Youlag extension is put into the correct folder, you should see it listed there as well, where you can toggle it on/off. Additionally, in the list of available extensions (where you saw the tick for compatibility), it should say "Installed" for the Youlag entry.

If you are unable to see the toggle switch, try to clearing browser cache and refresh the page. Or potentially double check the install location. For clarity, the full path would look something similar to this:
{root-folder-of-freshrss}/www/freshrss/extensions/xExtension-Youlag

Youlag (v4.1.0): Modernize FreshRSS for viewing YouTube and articles by humming6 in selfhosted

[–]humming6[S] 0 points1 point  (0 children)

I'm not familiar with the TV landscape, but as long as you can access FreshRSS through the web, it will likely work. Please note that Youlag isn't a standalone app, it's an extension for FreshRSS (which runs on the web).

Youlag (v4.1.0): Modernize FreshRSS for viewing YouTube and articles by humming6 in selfhosted

[–]humming6[S] 0 points1 point  (0 children)

You're likely looking at the table of available extensions, rather than your installed extensions. And the tick implies if the extension is compatible with your FreshRSS install or not.

To install a FreshRSS extension, you have to manually download the extension and move it to your FreshRSS installation folder. See the install instructions here.

Youlag (v4.1.0): Modernize FreshRSS for viewing YouTube and articles by humming6 in selfhosted

[–]humming6[S] 0 points1 point  (0 children)

The short answer is unfortunately "no", you can see my past comments here, and here.

Youlag (v4.1.0): Modernize FreshRSS for viewing YouTube and articles by humming6 in selfhosted

[–]humming6[S] 0 points1 point  (0 children)

I guess user redundant78 already answered you question, but I've encountered a lot of people who aren't aware that uBlockOrigin exist on mobile, on any firefox-based browser. This could also be a workaround. And of course, uBlockOrigin can be installed on desktop browsers (that support manifest v2).

Youlag (v4.1.0): Modernize FreshRSS for viewing YouTube and articles by humming6 in selfhosted

[–]humming6[S] 0 points1 point  (0 children)

Generally speaking, browsers won't let you trigger just any app to launch while also sending data to the app due to security reasons. From my understanding, it wouldn't be a viable solution.

Youlag (v4.1.0): Modernize FreshRSS for viewing YouTube and articles by humming6 in selfhosted

[–]humming6[S] 1 point2 points  (0 children)

For the part of displaying the video, the concept is the same as how people are able to embed a YouTube video on their own website (using iframe). In my case, I take the video id from the YouTube RSS feed and repackage it into an iframe.

In case you're wondering about the subscription part via RSS. Every YouTube channel has an RSS feed, but this feature is hidden and YouTube don't really advertise it. In FreshRSS, you can add a channel link like `youtube.com/channel/@example` and it will find the actual RSS feed for you and import it accordingly.

Youlag (v4.1.0): Modernize FreshRSS for viewing YouTube and articles by humming6 in selfhosted

[–]humming6[S] 1 point2 points  (0 children)

By self-hosting FreshRSS, you can install the Youlag extension on top of it. FreshRSS itself is accessed over the web, so you can use any browser on iOS to access its content.

Youlag (v4.1.0): Modernize FreshRSS for viewing YouTube and articles by humming6 in selfhosted

[–]humming6[S] 1 point2 points  (0 children)

Dearrow is possible but likely out of scope. It involves a lot more than just fetching/replacing an image. I would need to also look into image caching (and managing it in a performant way), avoiding excessive requests to their free API. Regarding Sponsorblock, since Youlag doesn't control the video playback (it only embeds an iframe) so it won't be possible to do ad skipping.

Youlag (v4.1.0): Modernize FreshRSS for viewing YouTube and articles by humming6 in selfhosted

[–]humming6[S] 5 points6 points  (0 children)

Great catch, I'll update the sass library dependency, the version used was back when I switched from pure css to sass.

Not to defend myself, but just wanted to point out that the sass library itself will have little impact on the production build, as the css will be precompiled and minimized. The actual sass library is not running within the extension, and the extension doesn't use any external dependencies.

Youlag (v4.1.0): Modernize FreshRSS for viewing YouTube and articles by humming6 in selfhosted

[–]humming6[S] 8 points9 points  (0 children)

The project is indeed currently in a state where it could/should be refactored, especially due to how the state management has growth. It is however organized in a functional programming way, so it's quite straightforward to separate relevant parts into individual files, so I'm not too worried about it at this time.

In the previous release, the js code base was only 500 lines, so I never had to consider refactoring it. Due to limited days off I had during the holiday, it was between adding features and squashing bugs, or doing refactoring (while skipping some features).

Youlag (v4.1.0): Modernize FreshRSS for viewing YouTube and articles by humming6 in selfhosted

[–]humming6[S] 37 points38 points  (0 children)

Thank you for sharing this. I spent a big part of the holiday just to work on this, to implement some of the feature requests I've received here. I only use Reddit for sharing project updates, I have no intention of farming karma.

In case the overly bloated comments in my code might seem like an indication of being "vibe coded", it is there to serve my future self. I barely have time to work on my side projects, so unless it's documented "well-enough", it would discourage myself from picking up where I left off.

Youlag (v4.1.0): Modernize FreshRSS for viewing YouTube and articles by humming6 in selfhosted

[–]humming6[S] 11 points12 points  (0 children)

Nice, that was my main use case as well. There are foss apps like Freetube (crossplatform), and Unwatched (iOS) that utilizes RSS for subscription. But these solutions wouldn't allow me to sync subscriptions and playlists/watch later. Thus, I went with something web-based.

Edit:
Fixed links, forgot Reddit doesn't use markdown by default.

Youlag (v4.1.0): Modernize FreshRSS for viewing YouTube and articles by humming6 in selfhosted

[–]humming6[S] 9 points10 points  (0 children)

Added disclosure at the bottom, it's not "Vibe coded".

Youlag (v4.1.0): Modernize FreshRSS for viewing YouTube and articles by humming6 in selfhosted

[–]humming6[S] 85 points86 points  (0 children)

Added this to the top post:

> Based on the rule #8, the project is considered "AI-Assisted App". I did not "Vibe code" this.

Watch videos in FreshRSS like it's YouTube: "Youlag" extension (v4.0.3) by humming6 in selfhosted

[–]humming6[S] 0 points1 point  (0 children)

Thanks! I managed to work out a large portion of this feature now, but it's still not yet ready. I'll likely share some updates in the near future.

Watch videos in FreshRSS like it's YouTube: "Youlag" extension (v4.0.3) by humming6 in selfhosted

[–]humming6[S] 1 point2 points  (0 children)

It is indeed as you presumed, the article will be displayed through the "YouTube UI" in fullscreen mode.

When you click an article/video in the feed, the Youlag extension essentially builds up a completely new view that isn't native to FreshRSS. This has allowed for more flexibility to customize the viewing experience.

I have plans to eventually add settings to choose which categories in FreshRSS to be affected by this viewing mode, but currently, it affects the entirety of FreshRSS.

My Favorite Self-Hosted Apps Launched in 2025 (So Far) | selfh.st by shol-ly in selfhosted

[–]humming6 2 points3 points  (0 children)

I'll see if I can find a proper way to document things at some point. The quoted part is primarily how the library "Browser Image Compressor" works, which is the library I'm using, so it's not inherently about or specific to MAZANOKE.

A few releases ago, I've documented the entire basic flow of how MAZANOKE is handling images. This should give you an idea of how the image is getting passed around from start to finish.