DIYgod mirror
Go to file
Dachein 85b5444d07
fix(route/apple/podcast): adapt to new serialized-server-data structure (#21387)
Apple Podcasts changed the `#serialized-server-data` element from a
direct array to an object wrapper `{ data: [...], userTokenHash }`.

This broke the route with:
  TypeError: Cannot read properties of undefined (reading 'data')

Changes:
- Handle both old (array) and new (object with `data` key) formats
  using `Array.isArray()` check for backward compatibility
- Add defensive optional chaining on the `channel` relationship
  access chain to prevent crashes when episodes lack channel data

Fixes the same underlying issue reported by yt-dlp (yt-dlp/yt-dlp#15926).

Made-with: Cursor

Co-authored-by: xbankeradmin <admin@xbanker.ai>
2026-03-16 19:58:24 +08:00
.devcontainer chore: migrate to oxfmt (#20735) 2026-01-13 00:06:06 +08:00
.github chore(deps): bump oven-sh/setup-bun from 2.1.3 to 2.2.0 (#21399) 2026-03-16 17:22:02 +08:00
.husky
.idx chore: migrate to oxfmt (#20735) 2026-01-13 00:06:06 +08:00
assets
eslint-plugins style: migrate eslint to oxlint (#21224) 2026-02-28 21:23:11 +08:00
lib fix(route/apple/podcast): adapt to new serialized-server-data structure (#21387) 2026-03-16 19:58:24 +08:00
logs
patches fix(deps): patch rss-parser to support gzip (#20619) 2025-12-03 04:11:56 +08:00
public chore: try root public for vercel 2025-12-07 00:15:41 +08:00
scripts chore: use mdast for route identification script 2026-03-13 19:57:27 +08:00
.codecov.yml
.dockerignore chore: migrate to oxfmt (#20735) 2026-01-13 00:06:06 +08:00
.editorconfig
.envrc fix(.envrc): add --no-pure-eval for devenv flake compatibility (#20692) 2025-12-19 00:00:46 +08:00
.gitignore feat: add Cloudflare Containers deployment support (#20932) 2026-01-20 15:29:13 +08:00
.npmrc
.oxfmtrc.json style: migrate eslint to oxlint (#21224) 2026-02-28 21:23:11 +08:00
.oxlintrc.json style: update oxlint to use simple-import-sort 2026-03-04 03:13:57 +08:00
.puppeteerrc.cjs
AGENTS.md docs: add review guidelines for codex 2025-12-29 17:42:03 +08:00
CODE_OF_CONDUCT.md chore: fix prettier config 2025-11-27 14:32:29 +08:00
CONTRIBUTING.md
Dockerfile fix(deps): patch rss-parser to support gzip (#20619) 2025-12-03 04:11:56 +08:00
LICENSE docs: update license file 2025-12-28 18:42:39 +08:00
README.md docs: Add 'Awesome RSSHub Routes' to README (#21012) 2026-02-05 23:44:38 +08:00
SECURITY.md
app.json
devenv.nix chore: add Nix flake and NixOS module support (#20597) 2025-12-09 19:43:06 +08:00
docker-compose.yml feat: redirect `/picnob` to `/picnob.info` 2026-03-11 02:03:34 +08:00
eslint.config.mjs style: update oxlint to use simple-import-sort 2026-03-04 03:13:57 +08:00
flake.lock chore: add Nix flake and NixOS module support (#20597) 2025-12-09 19:43:06 +08:00
flake.nix chore(nix): modernize pnpm packaging and hash automation (#21259) 2026-03-03 06:34:18 +08:00
fly.toml chore: update fly.toml 2025-06-06 21:38:15 +08:00
package.json chore(deps): bump rate-limiter-flexible from 9.1.1 to 10.0.1 (#21410) 2026-03-16 18:10:12 +08:00
pnpm-lock.yaml chore(deps): bump rate-limiter-flexible from 9.1.1 to 10.0.1 (#21410) 2026-03-16 18:10:12 +08:00
tailwind.config.js
tsconfig.json chore: add Vercel build configuration 2025-08-10 18:34:16 +08:00
tsdown-container.config.ts chore: rename again `inlineOnly` -> `deps.onlyAllowBundle` -> `deps.onlyBundle` 2026-03-16 18:24:08 +08:00
tsdown-lib.config.ts chore: rename again `inlineOnly` -> `deps.onlyAllowBundle` -> `deps.onlyBundle` 2026-03-16 18:24:08 +08:00
tsdown-vercel.config.ts chore: rename again `inlineOnly` -> `deps.onlyAllowBundle` -> `deps.onlyBundle` 2026-03-16 18:24:08 +08:00
tsdown-worker.config.ts chore: rename again `inlineOnly` -> `deps.onlyAllowBundle` -> `deps.onlyBundle` 2026-03-16 18:24:08 +08:00
tsdown.config.ts chore: rename again `inlineOnly` -> `deps.onlyAllowBundle` -> `deps.onlyBundle` 2026-03-16 18:24:08 +08:00
vercel.json chore: fix art template on vercel (#20647) 2025-12-08 00:21:14 +08:00
vitest.config.ts chore(deps): bump pnpm to v10.27.0 2026-01-07 12:52:21 +08:00
wrangler-container.toml feat: add Cloudflare Containers deployment support (#20932) 2026-01-20 15:29:13 +08:00
wrangler.toml refactor: deploy all routes to Cloudflare Workers (#20809) 2026-01-04 17:33:55 +08:00

README.md

RSSHub

RSSHub

🧡 Everything is RSSible

docker publish npm publish test Test coverage Visitors

Telegram group Telegram channel X (Twitter)

Introduction

RSSHub is the world's largest RSS network, consisting of over 5,000 global instances.

RSSHub delivers millions of contents aggregated from all kinds of sources, our vibrant open source community is ensuring the deliver of RSSHub's new routes, new features and bug fixes.

Documentation | Telegram Group | Telegram Channel | X (Twitter)

  • RSSHub Radar | A browser extension that can help you quickly discover and subscribe to the RSS and RSSHub of current websites.
  • RSSBud | RSSHub Radar for iOS platform, designed specifically for mobile ecosystem optimization.
  • RSSAid | RSSHub Radar for Android platform built with Flutter.
  • DocSearch | Link RSSHub DocSearch into Raycast.
  • Awesome RSSHub Routes | Curated list of RSS feeds and RSSHub routes.

Contribute

We welcome all pull requests. Suggestions and feedback are also welcomed here.

Refer to Quick Start

Deployment

Refer to Deployment

Special Thanks

Logo designer sheldonrrr

              

Author

RSSHub © DIYgod, Released under the AGPL-3.0 License.
Authored and maintained by DIYgod with help from contributors (list).

Blog @DIYgod · GitHub @DIYgod · X (Twitter) @DIYgod · Telegram Channel @awesomeDIYgod