├── .dockerignore ├── .github └── workflows │ └── docker-main.yml ├── .gitignore ├── .prettierrc.json ├── Dockerfile ├── README.md ├── bun.lockb ├── eslint.config.mjs ├── nginx.conf ├── package.json ├── src ├── env.ts ├── index.ts ├── router.ts ├── services │ ├── cacheService.ts │ ├── configService.ts │ ├── feedService.ts │ ├── queueService.ts │ ├── searchService.ts │ ├── startupService.ts │ ├── videoService.ts │ └── youtubeService.ts ├── utils │ ├── AsyncQueue.ts │ ├── getYoutubeLink.ts │ └── logZodError.ts └── validators │ ├── channelValidator.ts │ ├── configValidator.ts │ ├── playlistValidator.ts │ └── videoValidator.ts ├── tsconfig.json └── ui ├── bun.lockb ├── index.html ├── package.json ├── public ├── assets │ ├── applepodcasts.svg │ ├── loading.svg │ ├── next.svg │ ├── pocketcasts.svg │ └── rss.svg ├── favicon.ico └── robots.txt ├── src ├── components │ ├── MainPage.tsx │ ├── RssLinks.tsx │ ├── Search.tsx │ ├── SearchInput.tsx │ └── SearchResult.tsx ├── index.css ├── main.tsx ├── routes.ts ├── utils │ └── getSearchText.ts └── vite-env.d.ts └── vite.config.ts /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/.dockerignore -------------------------------------------------------------------------------- /.github/workflows/docker-main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/.github/workflows/docker-main.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/.gitignore -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/.prettierrc.json -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/Dockerfile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/README.md -------------------------------------------------------------------------------- /bun.lockb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/bun.lockb -------------------------------------------------------------------------------- /eslint.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/eslint.config.mjs -------------------------------------------------------------------------------- /nginx.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/nginx.conf -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/package.json -------------------------------------------------------------------------------- /src/env.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/src/env.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/router.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/src/router.ts -------------------------------------------------------------------------------- /src/services/cacheService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/src/services/cacheService.ts -------------------------------------------------------------------------------- /src/services/configService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/src/services/configService.ts -------------------------------------------------------------------------------- /src/services/feedService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/src/services/feedService.ts -------------------------------------------------------------------------------- /src/services/queueService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/src/services/queueService.ts -------------------------------------------------------------------------------- /src/services/searchService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/src/services/searchService.ts -------------------------------------------------------------------------------- /src/services/startupService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/src/services/startupService.ts -------------------------------------------------------------------------------- /src/services/videoService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/src/services/videoService.ts -------------------------------------------------------------------------------- /src/services/youtubeService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/src/services/youtubeService.ts -------------------------------------------------------------------------------- /src/utils/AsyncQueue.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/src/utils/AsyncQueue.ts -------------------------------------------------------------------------------- /src/utils/getYoutubeLink.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/src/utils/getYoutubeLink.ts -------------------------------------------------------------------------------- /src/utils/logZodError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/src/utils/logZodError.ts -------------------------------------------------------------------------------- /src/validators/channelValidator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/src/validators/channelValidator.ts -------------------------------------------------------------------------------- /src/validators/configValidator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/src/validators/configValidator.ts -------------------------------------------------------------------------------- /src/validators/playlistValidator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/src/validators/playlistValidator.ts -------------------------------------------------------------------------------- /src/validators/videoValidator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/src/validators/videoValidator.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/tsconfig.json -------------------------------------------------------------------------------- /ui/bun.lockb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/ui/bun.lockb -------------------------------------------------------------------------------- /ui/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/ui/index.html -------------------------------------------------------------------------------- /ui/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/ui/package.json -------------------------------------------------------------------------------- /ui/public/assets/applepodcasts.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/ui/public/assets/applepodcasts.svg -------------------------------------------------------------------------------- /ui/public/assets/loading.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/ui/public/assets/loading.svg -------------------------------------------------------------------------------- /ui/public/assets/next.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/ui/public/assets/next.svg -------------------------------------------------------------------------------- /ui/public/assets/pocketcasts.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/ui/public/assets/pocketcasts.svg -------------------------------------------------------------------------------- /ui/public/assets/rss.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/ui/public/assets/rss.svg -------------------------------------------------------------------------------- /ui/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/ui/public/favicon.ico -------------------------------------------------------------------------------- /ui/public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Allow: /* -------------------------------------------------------------------------------- /ui/src/components/MainPage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/ui/src/components/MainPage.tsx -------------------------------------------------------------------------------- /ui/src/components/RssLinks.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/ui/src/components/RssLinks.tsx -------------------------------------------------------------------------------- /ui/src/components/Search.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/ui/src/components/Search.tsx -------------------------------------------------------------------------------- /ui/src/components/SearchInput.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/ui/src/components/SearchInput.tsx -------------------------------------------------------------------------------- /ui/src/components/SearchResult.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/ui/src/components/SearchResult.tsx -------------------------------------------------------------------------------- /ui/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/ui/src/index.css -------------------------------------------------------------------------------- /ui/src/main.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/ui/src/main.tsx -------------------------------------------------------------------------------- /ui/src/routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/ui/src/routes.ts -------------------------------------------------------------------------------- /ui/src/utils/getSearchText.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/ui/src/utils/getSearchText.ts -------------------------------------------------------------------------------- /ui/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /ui/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trevorsharp/youtubecast/HEAD/ui/vite.config.ts --------------------------------------------------------------------------------