From 716083b114865b00474124ffb036c6d6d2eb3e08 Mon Sep 17 00:00:00 2001 From: HeshamTB Date: Sun, 9 Jun 2024 14:30:47 +0300 Subject: [PATCH] README Signed-off-by: HeshamTB --- README.md | 30 ++++++++++++++++++++++++++++++ cmd/ytbouncer/.gitignore | 1 + 2 files changed, 31 insertions(+) create mode 100644 README.md create mode 100644 cmd/ytbouncer/.gitignore diff --git a/README.md b/README.md new file mode 100644 index 0000000..9f0ae7a --- /dev/null +++ b/README.md @@ -0,0 +1,30 @@ +# 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 +```sh +cd cmd/genfeed +go build . +./genfeed -id CHANNEL_ID > feed.xml +``` + +## ytbouncer +The bouncer uses standard go http and can be embedded +```sh +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. + + diff --git a/cmd/ytbouncer/.gitignore b/cmd/ytbouncer/.gitignore new file mode 100644 index 0000000..eda24bd --- /dev/null +++ b/cmd/ytbouncer/.gitignore @@ -0,0 +1 @@ +ytbouncer