From e431b726e90b6101a08a8b91faa57185be4a71e9 Mon Sep 17 00:00:00 2001 From: "Jagger.H" Date: Thu, 23 Jul 2026 05:58:04 +0800 Subject: [PATCH] fix(route/163): add radar rules for NetEase Cloud Music routes (#22788) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The 163 routes carry no radar rules, so RSSHub Radar cannot suggest them from a music.163.com page. This adds one rule per route, each pointing at the URL that route already builds in its own `link`. `user/playlist` declares `:uid` in its path while the page URL carries `?id=`, so its target binds `:id` — the same convention as acfun/video.ts (path `:uid`, source/target `:id`). --- lib/routes/163/music/artist-songs.ts | 7 +++++++ lib/routes/163/music/artist.ts | 7 +++++++ lib/routes/163/music/djradio.tsx | 7 +++++++ lib/routes/163/music/playlist.ts | 7 +++++++ lib/routes/163/music/userevents.tsx | 6 ++++++ lib/routes/163/music/userplaylist.tsx | 7 +++++++ 6 files changed, 41 insertions(+) diff --git a/lib/routes/163/music/artist-songs.ts b/lib/routes/163/music/artist-songs.ts index 3ebf5cb07b..f1becb7ef5 100644 --- a/lib/routes/163/music/artist-songs.ts +++ b/lib/routes/163/music/artist-songs.ts @@ -12,10 +12,17 @@ export const route: Route = { requireConfig: false, requirePuppeteer: false, antiCrawler: false, + supportRadar: true, supportBT: false, supportPodcast: false, supportScihub: false, }, + radar: [ + { + source: ['music.163.com/artist'], + target: '/music/artist/songs/:id', + }, + ], name: '歌手歌曲', maintainers: ['ZhongMingKun'], handler, diff --git a/lib/routes/163/music/artist.ts b/lib/routes/163/music/artist.ts index 4f4b6edecc..5b6e1dd3db 100644 --- a/lib/routes/163/music/artist.ts +++ b/lib/routes/163/music/artist.ts @@ -12,10 +12,17 @@ export const route: Route = { requireConfig: false, requirePuppeteer: false, antiCrawler: false, + supportRadar: true, supportBT: false, supportPodcast: false, supportScihub: false, }, + radar: [ + { + source: ['music.163.com/artist/album'], + target: '/music/artist/:id', + }, + ], name: '歌手专辑', maintainers: ['metowolf'], handler, diff --git a/lib/routes/163/music/djradio.tsx b/lib/routes/163/music/djradio.tsx index ab876b54b9..19cdcf1840 100644 --- a/lib/routes/163/music/djradio.tsx +++ b/lib/routes/163/music/djradio.tsx @@ -15,10 +15,17 @@ export const route: Route = { requireConfig: false, requirePuppeteer: false, antiCrawler: false, + supportRadar: true, supportBT: false, supportPodcast: true, supportScihub: false, }, + radar: [ + { + source: ['music.163.com/djradio'], + target: '/music/djradio/:id', + }, + ], name: '电台节目', maintainers: ['magic-akari'], handler, diff --git a/lib/routes/163/music/playlist.ts b/lib/routes/163/music/playlist.ts index 173b3b308b..0c9eca8f25 100644 --- a/lib/routes/163/music/playlist.ts +++ b/lib/routes/163/music/playlist.ts @@ -19,10 +19,17 @@ export const route: Route = { ], requirePuppeteer: false, antiCrawler: true, + supportRadar: true, supportBT: false, supportPodcast: false, supportScihub: false, }, + radar: [ + { + source: ['music.163.com/playlist'], + target: '/music/playlist/:id', + }, + ], name: '歌单歌曲', maintainers: ['DIYgod'], handler, diff --git a/lib/routes/163/music/userevents.tsx b/lib/routes/163/music/userevents.tsx index 6174be14b4..911f0df8c4 100644 --- a/lib/routes/163/music/userevents.tsx +++ b/lib/routes/163/music/userevents.tsx @@ -23,6 +23,12 @@ const renderDescription = ({ description, pics }) => { export const route: Route = { path: '/music/user/events/:id', categories: ['multimedia'], + radar: [ + { + source: ['music.163.com/user/event'], + target: '/music/user/events/:id', + }, + ], name: '用户动态', maintainers: ['Master-Hash'], handler, diff --git a/lib/routes/163/music/userplaylist.tsx b/lib/routes/163/music/userplaylist.tsx index 4dcf677fb4..381b08699a 100644 --- a/lib/routes/163/music/userplaylist.tsx +++ b/lib/routes/163/music/userplaylist.tsx @@ -31,10 +31,17 @@ export const route: Route = { requireConfig: false, requirePuppeteer: false, antiCrawler: false, + supportRadar: true, supportBT: false, supportPodcast: false, supportScihub: false, }, + radar: [ + { + source: ['music.163.com/user/home'], + target: '/music/user/playlist/:id', + }, + ], name: '用户歌单', maintainers: ['DIYgod'], handler,