Go to file
HeshamTB 63e707f881
feat: watch channels file for updates:
- Simple reload when file is updated.
    A more optimized version is to update
    and generate the newly added, if any,
    channel ids.

Signed-off-by: HeshamTB <hishaminv@gmail.com>
2024-08-06 08:00:43 +03:00
bouncer init: tools and commands 2024-06-09 14:04:22 +03:00
cmd feat: watch channels file for updates: 2024-08-06 08:00:43 +03:00
dylinkprovider dylink: audio formats and no playlist 2024-08-04 16:34:54 +03:00
feed feed: refactor into internal function for core conversion 2024-06-09 15:19:55 +03:00
templates init: tools and commands 2024-06-09 14:04:22 +03:00
ytlinkprov fix: use linkFirst instead of empty string link 2024-07-07 23:39:12 +03:00
.gitignore yttopodcast: complete service for podcast feed and bouncer 2024-07-08 00:23:30 +03:00
doc.go doc file 2024-06-09 14:45:38 +03:00
go.mod feat: watch channels file for updates: 2024-08-06 08:00:43 +03:00
go.sum feat: watch channels file for updates: 2024-08-06 08:00:43 +03:00
LICENSE LICENSE 2024-06-09 14:51:36 +03:00
README.md README 2024-06-09 14:31:33 +03:00
TODO update TODO 2024-07-29 23:26:41 +03:00

yttopodcast

Tools to convert YouTube video feeds to standard Podcast RSS feeds. A workaround is done, bouncer, to serve files from youtube directly, rather than storing the audio files and serving them independantly.

A web server is required to serve the RSS feed as a file, and an HTTP boucner server is used to fetch valid links from yt. Since getting the content URLs is quite slow, the implemented bouncer has a basic cache.

genfeed

Generate a feed given a channel id

cd cmd/genfeed
go build .
./genfeed -id CHANNEL_ID > feed.xml

ytbouncer

The bouncer uses standard go http and can be embedded

cd cmd/ytbouncer
go build .
./ytbouncer

starts a server.

Note: the url resolution is quite slow and heavy computaionally, due to yt-dlp backend. It can be used as a DoS without the use of rate limiting or other measures.