{"repo":"yaotutu/folder2podcast","free":true,"listed":false,"github":"https://github.com/yaotutu/folder2podcast","clone":"git clone https://github.com/yaotutu/folder2podcast.git","description":"把任何音频变成私人播客 - 上传本地音频或粘贴视频链接，自动生成 RSS，在任意播客客户端订阅收听。适合离线听书、本地音乐管理、视频课程转音频。","language":"TypeScript","stars":177,"topics":["podcast","rss"],"license":null,"category":"deployment-docker-iac","readme_excerpt":"🎙️ Folder2Podcast RSS 一键将本地音频文件夹转换为私人播客 RSS 订阅源，零侵入、 无副作用 English Version 目录 - 🎙️ Folder2Podcast RSS - 目录 - 项目背景 - ✨ 核心功能 - 🚀 快速开始 - Docker 一键部署（推荐） - Docker 镜像说明 - 📱 效果展示 - 播客客户端显示效果 - 📦 目录结构规范 - ⚙️ 配置说明 - 环境变量 - podcast.json 配置 - 🎨 高级特性 - 📱 Web 界面 - 🎯 其他特性 - 📱 客户端支持 - 故障排查 - �通知 - 📋 支持与反馈 - 更新日志 - 代托管与技术支持 项目背景 播客 RSS 是一个强大的音频分发标准，它不仅仅是一个简单的音频列表，更提供了： - 🔖 完整的播放进度记录 - 🎯 精确的断点续播功能 - 🔄 跨设备的收听历史同步 - 📱 多平台收听支持 - 🎨 丰富的媒体信息展示 Folder2Podcast RSS 让您可以轻松地把本地音频文件夹转换为私人播客 RSS 源，享受专业播客客户端的所有高级特性： - 🎧 使用您最喜欢的播客应用收听（如 Apple Podcasts、Pocket Casts） - 📱 在任何设备上继续上次的收听进度 - 🔄 自动同步多设备间的收听历史 - 📚 系统化管理您的有声内容库 - 🎯 智能记住每个音频的播放位置 只需一个命令部署，让您的本地音频秒变私人播客订阅源。 ✨ 核心功能 - 🔒 零侵入设计 - 以只读方式访问音频文件，不修改原始文件夹结构和内容 - 🎯 标准 RSS 实现 - 完整支持播客 RSS 2.0 规范和 iTunes 专有标签 - 📱 完美客户端兼容 - 适配所有主流播客客户端 - 🔄 智能序列化 - 自动分析文件名构建剧集顺序，生成发布时间 - 🎨 个性化配置 - 支持播客元数据自定义（标题、作者、封面等） - 🚀 容器化部署 - 提供 Docker 一键部署方案 🚀 快速开始 Docker 一键部署（推荐） 1. 准备工作 - 安装 Docker - 准备音频文件目录（按播客内容分文件夹） - 规范文件命名（如：01-第一章.mp3、第02集.mp3） ⚠️ 重要：BASE URL 配置说明 在部署到服务器时，必须正确配置 BASE URL 环境变量，这直接影响到： - RSS feed 中的音频文件链接 - 封面图片链接 - 所有静态资源的访问路径 正确配置示例： 注意事项： - BASE URL 必须包含协议前缀（http:// 或 https://） - 如果使用了自定义端口，必须包含端口号 - 结尾不要添加斜杠 '/' - 确保该地址可以从客户端（如播客APP）访问到 2. 启动服务 方式一：Docker 命令直接运行 方式二：使用 Docker Compose（推荐） 权限说明 ： - 在某些情况下，Docker 容器可能无法正常读写您的音频文件夹 - 这时您需要设置 PUID 和 PGID 这两个环境变量 - 这两个值应该设置为您的音频文件夹所有者的用户ID和组ID - 在 Mac/Linux 系统中，只需在终端运行 id -u 和 id -g 即可获取这两个值 - 设置正确的值后，应用就能正常访问您的音频文件了 3. 验证部署 - 访问 http://localhost:3000/podcasts 确认服务运行 - 检查播客列表是否正确显示 - 测试音频文件访问 ","default_branch":null,"files":null,"tree":[],"storefront":"/r/yaotutu","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/yaotutu/folder2podcast/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}