diff --git a/README.md b/README.md
index 9304c7419e..459dd264fa 100644
--- a/README.md
+++ b/README.md
@@ -19,6 +19,7 @@ RSSHub 是一个轻量、易于扩展的 RSS 生成器,可以给任何奇奇
- 番剧
- UP 主投稿
- UP 主动态
+ - UP 主频道
- UP 主默认收藏夹
- UP 主非默认收藏夹
- UP 主投币视频
diff --git a/docs/README.md b/docs/README.md
index 5fd1814a0e..e90fe4b26c 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -130,6 +130,16 @@ RSSHub 同时支持 RSS 2.0、Atom 和 [JSON Feed](https://jsonfeed.org/) 输出
参数: uid,用户 id,可在 UP 主主页中找到
+### UP 主频道
+
+举例: [https://rsshub.app/bilibili/channel/142821407/23390](https://rsshub.app/bilibili/channel/142821407/23390)
+
+路由: `/bilibili/channel/:uid/:cid`
+
+参数: uid,用户 id,可在 UP 主主页中找到
+
+cid,频道 ID,可在频道的 URL 中找到
+
### UP 主默认收藏夹
举例: [https://rsshub.app/bilibili/user/fav/2267573](https://rsshub.app/bilibili/user/fav/2267573)
diff --git a/router.js b/router.js
index 408468d7b3..5ddb5b66b5 100755
--- a/router.js
+++ b/router.js
@@ -104,6 +104,7 @@ router.get('/bilibili/blackboard', require('./routes/bilibili/blackboard'));
router.get('/bilibili/mall/new', require('./routes/bilibili/mallNew'));
router.get('/bilibili/mall/ip/:id', require('./routes/bilibili/mallIP'));
router.get('/bilibili/ranking/:rid?/:day?', require('./routes/bilibili/ranking'));
+router.get('/bilibili/channel/:uid/:cid', require('./routes/bilibili/userChannel'));
// bangumi
router.get('/bangumi/calendar/today', require('./routes/bangumi/calendar/today'));
diff --git a/routes/bilibili/userChannel.js b/routes/bilibili/userChannel.js
new file mode 100644
index 0000000000..35f6f8691f
--- /dev/null
+++ b/routes/bilibili/userChannel.js
@@ -0,0 +1,36 @@
+const axios = require('../../utils/axios');
+const config = require('../../config');
+const cache = require('./cache');
+
+module.exports = async (ctx) => {
+ const cid = ctx.params.cid;
+ const uid = ctx.params.uid;
+
+ const userName = await cache.getUsernameFromUID(ctx, uid);
+ const host = `https://api.bilibili.com/x/space/channel/video?mid=${uid}&cid=${cid}&pn=1&ps=10&order=0`;
+
+ const response = await axios({
+ method: 'get',
+ url: host,
+ headers: {
+ 'User-Agent': config.ua,
+ Referer: `https://space.bilibili.com/${uid}/`,
+ },
+ });
+ const data = response.data.data.list;
+
+ const channelName = data.name;
+
+ ctx.state.data = {
+ title: `${userName} 的 bilibili 频道 ${channelName}`,
+ link: `https://space.bilibili.com/${uid}/#/channel/detail?cid=${cid}`,
+ description: data.name,
+
+ item: data.archives.map((item) => ({
+ title: item.title,
+ description: `${item.desc}
`,
+ pubDate: new Date(item.fav_at * 1000).toUTCString(),
+ link: `https://www.bilibili.com/video/av${item.aid}`,
+ })),
+ };
+};