{"repo":"shiquda/xyz-dl","free":true,"listed":false,"github":"https://github.com/shiquda/xyz-dl","clone":"git clone https://github.com/shiquda/xyz-dl.git","description":"小宇宙FM 播客 CLI 下载工具，支持单集下载、专辑下载、字幕下载","language":"Python","stars":208,"topics":["cli","python"],"license":"AGPL-3.0","category":"cli-tools","readme_excerpt":"小宇宙播客下载器 (xyz-dl) [!WARNING] 不再建议登录使用。 已有用户报告使用本工具的登录态 / token 下载能力可能触发小宇宙账号风控或封禁风险。请不要在重要账号上使用，也不要进行批量、高频或自动化下载。项目仅保留作研究与代码参考，使用者需自行承担账号风险。后续如果继续维护，方向会优先转向 免登录下载 / 免账号凭据 的方案。 [!IMPORTANT] 当前免登录能力说明 - ✅ 支持： 公开单集链接 的免登录音频下载（例如 https://www.xiaoyuzhoufm.com/episode/ ） - ❌ 暂不支持免登录：播客整专辑批量下载、分页抓取更多集数、付费/私有内容、依赖登录态的字幕/元数据接口 - ⚠️ 也就是说： 目前免登录模式仅保证“公开单集下载”这条最小链路 ，其他功能暂时仍不保证可用 一个简单易用的小宇宙播客下载工具，支持批量下载播客专辑或单集。 主要功能 - 公开单集免登录下载 - 给定公开 episode 链接，优先通过网页公开数据提取音频直链并直接下载 - Token 认证 - 保留 refresh token 和 device id 认证能力（但 不再推荐 使用） - 播客下载 - 下载整个播客的所有集数（当前仍依赖鉴权能力） - 单集下载 - 下载指定的单个播客集数 - 数据保存 - 可选择仅保存元数据，不下载文件 - 字幕下载 - 支持下载单集字幕（ --with-subtitles ） - 自定义目录 - 支持指定下载路径 快速开始 环境要求 - Python 3.13+ 安装 方式一：使用 UV Tool 安装到本地（推荐） 方式二：本地开发安装（uv） 使用方法 首次使用 如果你只是下载 公开单集 ，现在可以 直接免登录使用 ： 只有在你确实要尝试旧的鉴权能力（例如整播客、受限内容、某些接口）时，才需要登录认证： 认证信息会自动保存到 credentials.json ，后续无需重复登录。 下载播客 获取播客链接 - 播客专辑页面： https://www.xiaoyuzhoufm.com/podcast/ - 播客单集页面： https://www.xiaoyuzhoufm.com/episode/ 可从 APP 分享 复制链接 中获取。 命令行参数 参数 说明 示例 -------------------- ----------------------------------- --------------------------------- --login 交互式登录 xyz-dl --login --refresh-token 指定 refresh token（需配合 --device-id） --refresh-token --device-id 指定 device id --device-id --max-episodes 最大下载集数 --max-episodes 50 --output, -o 下载目录 --output /path/to/download --save-only 仅保存数据，不下载 --save-only --from-json 从JSON文件下载 --from-json data/podcast.json --subtitles [FORMAT] 下载字幕，支持 txt / srt --subtitles srt --with-subtitles 兼容旧参数，等同于 --subtitles txt --save-only --with-subti","default_branch":null,"files":null,"tree":[],"storefront":"/r/shiquda","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/shiquda/xyz-dl/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."}