this post was submitted on 29 Oct 2024
21 points (95.7% liked)

Selfhosted

40702 readers
460 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

this is a really underdocumented feature that this extension supports, wanted to share it with people. i've never written and shared a blog post like this before so feel free to give me tips about documenting steps or point out any errors i made. i kinda take docker knowldge for granted, not sure if i should avoid that. here's the contents:


I came across documentation for this in the readme for the FreshRSS extension YoutubeChannel2RssFeed. The method involves running an instance of the Youtube-operational-API (there was a public instance that has been cease and desisted by Google, see here) and plugging the extension into it.

YoutubeChannel2RssFeed Extension

TL;DR install this extension

git clone https://github.com/cn-tools/cntools_FreshRssExtensions.git
cd cntools_FreshRssExtension
cp -r xExtension-YouTubeChannel2RssFeed <your_freshrss_data_directory>/config/www/freshrss/extensions

Youtube-operational-API instance

Here's a Docker compose.yml for running both

services:
  freshrss:
    image: lscr.io/linuxserver/freshrss:latest
    container_name: freshrss
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/Los_Angeles
    volumes:
      - ./freshrss/config:/config
    ports:
      - "8811:80""
    restart: unless-stopped
  youtube-operational-api:
    container_name: freshrss-yt-o-api
    image: benjaminloison/youtube-operational-api:latest
    restart: unless-stopped
    ports:
      - "8812:80"
    depends_on:
     - freshrss

Configuring extension

In FreshRSS, log in as admin and go to Configuration > Extensions. Turn on YoutubeChannel2RssFeed under User extensions and click the gear to configure.

Set Youtube Shorts to be marked as read or blocked completely. Enter the URL for your yt-o-api instance. Based on the above compose file it would be http://freshrss-yt-o-api:8812. Submit changes.

For me this worked immediately, no shorts ever show up in FreshRSS for my Youtube feeds. I haven't seen this documented anywhere else so I wanted to mirror it somewhere.

top 3 comments
sorted by: hot top controversial new old
[–] JubilantJaguar 7 points 1 month ago (1 children)

Useful. I hate shorts and portrait-format video in general.

NB for those who don't know: a server is not needed to make Youtube RSS feeds, they exist natively: https://www.youtube.com/feeds/videos.xml?channel_id=UCxxxxxxxxxx. You just have to find the channel_id buried in the page source, which admittedly is a bit of a PITA. But no native way to exclude shorts, though.

[–] vegetaaaaaaa 2 points 1 month ago (1 children)

You just have to find the channel_id buried in the page source

I use this Firefox addon for that: https://addons.mozilla.org/en-US/firefox/addon/youtube-rss-finder/ - really useful

[–] slug 1 points 1 month ago

i'm pretty sure you can just drop the normal channel url into freshrss and it'll convert it automatically. maybe it's an extension doing that though