{"id":48117925,"url":"https://github.com/uqe/youtube2rss","last_synced_at":"2026-04-04T16:17:33.407Z","repository":{"id":159505722,"uuid":"634655990","full_name":"uqe/youtube2rss","owner":"uqe","description":"This Telegram bot allows you to turn YouTube videos into podcasts that you can listen to in your favorite podcast app","archived":false,"fork":false,"pushed_at":"2026-02-14T18:40:05.000Z","size":7154,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-02-15T02:52:42.373Z","etag":null,"topics":["deno","podcast","podcast-generator","rss","rss-feed","rss-generator","telegram","video-downloader","youtube","youtube-downloader"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uqe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2023-04-30T20:30:02.000Z","updated_at":"2026-02-14T18:40:08.000Z","dependencies_parsed_at":"2023-09-25T00:47:44.874Z","dependency_job_id":"0f0178af-fa16-4e74-b876-e4145b399a87","html_url":"https://github.com/uqe/youtube2rss","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/uqe/youtube2rss","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uqe%2Fyoutube2rss","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uqe%2Fyoutube2rss/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uqe%2Fyoutube2rss/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uqe%2Fyoutube2rss/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uqe","download_url":"https://codeload.github.com/uqe/youtube2rss/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uqe%2Fyoutube2rss/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31405700,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deno","podcast","podcast-generator","rss","rss-feed","rss-generator","telegram","video-downloader","youtube","youtube-downloader"],"created_at":"2026-04-04T16:17:33.276Z","updated_at":"2026-04-04T16:17:33.390Z","avatar_url":"https://github.com/uqe.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `youtube2rss`\n\nThis Telegram bot allows you to turn YouTube videos into podcast feed that you can listen to in your favorite podcast app. Simply send a YouTube link to the bot and it will download the video, extract the audio, and generate an RSS feed that you can host on your server or use S3 storage.\n\nThe bot is built using `Bun` and uses the [youtube-dl-exec](https://www.npmjs.com/package/) library to download and extract the audio from the YouTube videos. It also uses the [podcast](https://www.npmjs.com/package/podcast) library to generate the RSS feed.\n\nTo use the bot, you'll need to set up a Telegram bot and get an API token. You'll also need to have `Bun` and `Node.js` installed.\n\n## Installation\n\n1. Clone this repository:\n\n   ```sh\n   git clone https://github.com/uqe/youtube2rss\n   ```\n\n2. Install dependencies:\n\n   ```sh\n   bun install\n   ```\n\n3. Create SQLite database:\n\n   ```sh\n   bun run prepare\n   ```\n\n4. Create the `.env` or `.env.dev` file with your Telegram bot token and Server URL (**both are required**) like in the `.env.example` file. Optionally set `TELEGRAM_WHITELIST` (comma-separated Telegram user IDs).\n\n5. Start a Teleram bot (**production**):\n\n   ```sh\n   bun run start\n   ```\n\n   or in **development** mode:\n\n   ```sh\n   bun run start:dev\n   ```\n\n## How to use\n\n1. Start a chat with your bot in Telegram.\n\n2. Send the bot a YouTube link.\n\n3. The bot will download the video, extract the audio, and generate an RSS feed.\n\n4. Host the RSS feed on your server and subscribe to it in your favorite podcast app.\n\n## Bun static file server usage (optional)\n\n1. Start the static file server (**production**):\n\n   ```sh\n   bun run serve\n   ```\n\n   or **development** mode:\n\n   ```sh\n   bun run serve:dev\n   ```\n\n## S3 file storage usage (optional)\n\n1. Fill env variables: `TELEGRAM_WHITELIST`, `TELEGRAM_BOT_TOKEN`, `SERVER_URL`, `S3_BUCKET`, `S3_ACCESS_KEY`, `S3_ENDPOINT` and `S3_SECRET_KEY` in the `.env` or `.env.dev` file.\n\nIf all variables are set, the bot will store `.mp3` files and generated `rss.xml` file in your S3 bucket. I'm using [Cloudflare R2](https://www.cloudflare.com/developer-platform/r2/) as S3 compatible storage. The [free plan](https://developers.cloudflare.com/r2/pricing/) is sufficient for my needs.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## TODO list\n\n- [x] Update README\n- [ ] Add pm2\n- [ ] Better logging\n- [ ] Add thumbnails podcast episodes\n- [ ] Parse timestamps in video description and add them to the podcast feed\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuqe%2Fyoutube2rss","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuqe%2Fyoutube2rss","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuqe%2Fyoutube2rss/lists"}