feat: add config description field
This commit is contained in:
parent
e5b8f852f5
commit
1afe43eccd
|
|
@ -9,7 +9,16 @@ export const route: Route = {
|
|||
example: '/bilibili/user/followers/2267573/3',
|
||||
parameters: { uid: '用户 id, 可在 UP 主主页中找到', loginUid: '用于登入的用户id,需要配置对应的 Cookie 值' },
|
||||
features: {
|
||||
requireConfig: ['BILIBILI_COOKIE_*'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'BILIBILI_COOKIE_*',
|
||||
description: `BILIBILI_COOKIE_{uid}: 用于用户关注动态系列路由,对应 uid 的 b 站用户登录后的 Cookie 值,\`{uid}\` 替换为 uid,如 \`BILIBILI_COOKIE_2267573\`,获取方式:
|
||||
1. 打开 [https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=0&type=8](https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=0&type=8)
|
||||
2. 打开控制台,切换到 Network 面板,刷新
|
||||
3. 点击 dynamic_new 请求,找到 Cookie
|
||||
4. 视频和专栏,UP 主粉丝及关注只要求 \`SESSDATA\` 字段,动态需复制整段 Cookie`,
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -9,7 +9,16 @@ export const route: Route = {
|
|||
example: '/bilibili/followings/article/99800931',
|
||||
parameters: { uid: '用户 id' },
|
||||
features: {
|
||||
requireConfig: ['BILIBILI_COOKIE_*'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'BILIBILI_COOKIE_*',
|
||||
description: `BILIBILI_COOKIE_{uid}: 用于用户关注动态系列路由,对应 uid 的 b 站用户登录后的 Cookie 值,\`{uid}\` 替换为 uid,如 \`BILIBILI_COOKIE_2267573\`,获取方式:
|
||||
1. 打开 [https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=0&type=8](https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=0&type=8)
|
||||
2. 打开控制台,切换到 Network 面板,刷新
|
||||
3. 点击 dynamic_new 请求,找到 Cookie
|
||||
4. 视频和专栏,UP 主粉丝及关注只要求 \`SESSDATA\` 字段,动态需复制整段 Cookie`,
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -13,7 +13,16 @@ export const route: Route = {
|
|||
example: '/bilibili/followings/dynamic/109937383',
|
||||
parameters: { uid: '用户 id', routeParams: '额外参数;请参阅 [#UP 主动态](#bilibili-up-zhu-dong-tai) 的说明和表格' },
|
||||
features: {
|
||||
requireConfig: ['BILIBILI_COOKIE_*'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'BILIBILI_COOKIE_*',
|
||||
description: `BILIBILI_COOKIE_{uid}: 用于用户关注动态系列路由,对应 uid 的 b 站用户登录后的 Cookie 值,\`{uid}\` 替换为 uid,如 \`BILIBILI_COOKIE_2267573\`,获取方式:
|
||||
1. 打开 [https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=0&type=8](https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=0&type=8)
|
||||
2. 打开控制台,切换到 Network 面板,刷新
|
||||
3. 点击 dynamic_new 请求,找到 Cookie
|
||||
4. 视频和专栏,UP 主粉丝及关注只要求 \`SESSDATA\` 字段,动态需复制整段 Cookie`,
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -10,7 +10,16 @@ export const route: Route = {
|
|||
example: '/bilibili/followings/video/2267573',
|
||||
parameters: { uid: '用户 id', disableEmbed: '默认为开启内嵌视频, 任意值为关闭' },
|
||||
features: {
|
||||
requireConfig: ['BILIBILI_COOKIE_*'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'BILIBILI_COOKIE_*',
|
||||
description: `BILIBILI_COOKIE_{uid}: 用于用户关注动态系列路由,对应 uid 的 b 站用户登录后的 Cookie 值,\`{uid}\` 替换为 uid,如 \`BILIBILI_COOKIE_2267573\`,获取方式:
|
||||
1. 打开 [https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=0&type=8](https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=0&type=8)
|
||||
2. 打开控制台,切换到 Network 面板,刷新
|
||||
3. 点击 dynamic_new 请求,找到 Cookie
|
||||
4. 视频和专栏,UP 主粉丝及关注只要求 \`SESSDATA\` 字段,动态需复制整段 Cookie`,
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -9,7 +9,16 @@ export const route: Route = {
|
|||
example: '/bilibili/user/followings/2267573/3',
|
||||
parameters: { uid: '用户 id, 可在 UP 主主页中找到', loginUid: '用于登入的用户id,需要配置对应的 Cookie 值' },
|
||||
features: {
|
||||
requireConfig: ['BILIBILI_COOKIE_*'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'BILIBILI_COOKIE_*',
|
||||
description: `BILIBILI_COOKIE_{uid}: 用于用户关注动态系列路由,对应 uid 的 b 站用户登录后的 Cookie 值,\`{uid}\` 替换为 uid,如 \`BILIBILI_COOKIE_2267573\`,获取方式:
|
||||
1. 打开 [https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=0&type=8](https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=0&type=8)
|
||||
2. 打开控制台,切换到 Network 面板,刷新
|
||||
3. 点击 dynamic_new 请求,找到 Cookie
|
||||
4. 视频和专栏,UP 主粉丝及关注只要求 \`SESSDATA\` 字段,动态需复制整段 Cookie`,
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -9,7 +9,16 @@ export const route: Route = {
|
|||
example: '/bilibili/manga/followings/26009',
|
||||
parameters: { uid: '用户 id', limits: '抓取最近更新前多少本漫画,默认为10' },
|
||||
features: {
|
||||
requireConfig: ['BILIBILI_COOKIE_*'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'BILIBILI_COOKIE_*',
|
||||
description: `BILIBILI_COOKIE_{uid}: 用于用户关注动态系列路由,对应 uid 的 b 站用户登录后的 Cookie 值,\`{uid}\` 替换为 uid,如 \`BILIBILI_COOKIE_2267573\`,获取方式:
|
||||
1. 打开 [https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=0&type=8](https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=0&type=8)
|
||||
2. 打开控制台,切换到 Network 面板,刷新
|
||||
3. 点击 dynamic_new 请求,找到 Cookie
|
||||
4. 视频和专栏,UP 主粉丝及关注只要求 \`SESSDATA\` 字段,动态需复制整段 Cookie`,
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -11,7 +11,16 @@ export const route: Route = {
|
|||
example: '/bilibili/watchlater/2267573',
|
||||
parameters: { uid: '用户 id', disableEmbed: '默认为开启内嵌视频, 任意值为关闭' },
|
||||
features: {
|
||||
requireConfig: ['BILIBILI_COOKIE_*'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'BILIBILI_COOKIE_*',
|
||||
description: `BILIBILI_COOKIE_{uid}: 用于用户关注动态系列路由,对应 uid 的 b 站用户登录后的 Cookie 值,\`{uid}\` 替换为 uid,如 \`BILIBILI_COOKIE_2267573\`,获取方式:
|
||||
1. 打开 [https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=0&type=8](https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=0&type=8)
|
||||
2. 打开控制台,切换到 Network 面板,刷新
|
||||
3. 点击 dynamic_new 请求,找到 Cookie
|
||||
4. 视频和专栏,UP 主粉丝及关注只要求 \`SESSDATA\` 字段,动态需复制整段 Cookie`,
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -10,7 +10,12 @@ export const route: Route = {
|
|||
example: '/civitai/discussions/4384',
|
||||
parameters: { modelId: 'N' },
|
||||
features: {
|
||||
requireConfig: ['CIVITAI_COOKIE'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'CIVITAI_COOKIE',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -15,7 +15,12 @@ export const route: Route = {
|
|||
example: '/discord/channel/950465850056536084',
|
||||
parameters: { channelId: 'Channel ID' },
|
||||
features: {
|
||||
requireConfig: ['DISCORD_AUTHORIZATION'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'DISCORD_AUTHORIZATION',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -9,7 +9,12 @@ export const route: Route = {
|
|||
example: '/discourse/0/notifications',
|
||||
parameters: { configId: 'Environment variable configuration id, see above', fulltext: 'Fetch the content if the notification points to a post. This is disabled by default, set it to `1` to enable it.' },
|
||||
features: {
|
||||
requireConfig: ['DISCOURSE_CONFIG_*'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'DISCOURSE_CONFIG_*',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -9,7 +9,12 @@ export const route: Route = {
|
|||
example: '/discourse/0/posts',
|
||||
parameters: { configId: 'Environment variable configuration id, see above' },
|
||||
features: {
|
||||
requireConfig: ['DISCOURSE_CONFIG_*'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'DISCOURSE_CONFIG_*',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -11,7 +11,12 @@ export const route: Route = {
|
|||
example: '/github/notifications',
|
||||
parameters: {},
|
||||
features: {
|
||||
requireConfig: ['GITHUB_ACCESS_TOKEN'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'GITHUB_ACCESS_TOKEN',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -18,7 +18,12 @@ export const route: Route = {
|
|||
spoken_language: "natural language, available in [Trending page](https://github.com/trending/javascript?since=monthly) 's URL",
|
||||
},
|
||||
features: {
|
||||
requireConfig: ['GITHUB_ACCESS_TOKEN'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'GITHUB_ACCESS_TOKEN',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -22,7 +22,12 @@ export const route: Route = {
|
|||
example: '/google/fonts/date',
|
||||
parameters: { sort: 'Sorting type, see below, default to `date`' },
|
||||
features: {
|
||||
requireConfig: ['GOOGLE_FONTS_API_KEY'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'GOOGLE_FONTS_API_KEY',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -61,7 +61,13 @@ export const route: Route = {
|
|||
example: '/instagram/user/stefaniejoosten',
|
||||
parameters: { category: 'Feed category, see table above', key: 'Username / Hashtag name' },
|
||||
features: {
|
||||
requireConfig: ['IG_PROXY?'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'IG_PROXY',
|
||||
optional: true,
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: true,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -19,7 +19,16 @@ export const route: Route = {
|
|||
example: '/iwara/subscriptions',
|
||||
parameters: {},
|
||||
features: {
|
||||
requireConfig: ['IWARA_USERNAME', 'IWARA_PASSWORD'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'IWARA_USERNAME',
|
||||
description: '',
|
||||
},
|
||||
{
|
||||
name: 'IWARA_PASSWORD',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -12,7 +12,12 @@ export const route: Route = {
|
|||
example: '/lemmy/technology@lemmy.world/Hot',
|
||||
parameters: { community: 'Lemmmy community, for example technology@lemmy.world', sort: 'Sort by, defaut to Active' },
|
||||
features: {
|
||||
requireConfig: ['ALLOW_USER_SUPPLY_UNSAFE_DOMAIN'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'ALLOW_USER_SUPPLY_UNSAFE_DOMAIN',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -16,7 +16,12 @@ export const route: Route = {
|
|||
example: '/manhuagui/subscribe',
|
||||
parameters: {},
|
||||
features: {
|
||||
requireConfig: ['MHGUI_COOKIE'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'MHGUI_COOKIE',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -10,7 +10,12 @@ export const route: Route = {
|
|||
example: '/medium/following/imsingee',
|
||||
parameters: { user: 'Username' },
|
||||
features: {
|
||||
requireConfig: ['MEDIUM_COOKIE_*'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'MEDIUM_COOKIE_*',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -10,7 +10,12 @@ export const route: Route = {
|
|||
example: '/medium/for-you/imsingee',
|
||||
parameters: { user: 'Username' },
|
||||
features: {
|
||||
requireConfig: ['MEDIUM_COOKIE_*'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'MEDIUM_COOKIE_*',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -10,7 +10,12 @@ export const route: Route = {
|
|||
example: '/medium/tag/imsingee/cybersecurity',
|
||||
parameters: { user: 'Username', tag: 'Subscribed Tag' },
|
||||
features: {
|
||||
requireConfig: ['MEDIUM_COOKIE_*'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'MEDIUM_COOKIE_*',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -10,7 +10,12 @@ export const route: Route = {
|
|||
example: '/mihoyo/bbs/timeline',
|
||||
parameters: {},
|
||||
features: {
|
||||
requireConfig: ['MIHOYO_COOKIE'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'MIHOYO_COOKIE',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -9,7 +9,12 @@ export const route: Route = {
|
|||
example: '/newrank/douyin/110266463747',
|
||||
parameters: { dyid: '抖音ID,可在新榜账号详情 URL 中找到' },
|
||||
features: {
|
||||
requireConfig: ['NEWRANK_COOKIE'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'NEWRANK_COOKIE',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: true,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -11,7 +11,12 @@ export const route: Route = {
|
|||
example: '/newrank/wechat/chijiread',
|
||||
parameters: { wxid: '微信号,若微信号与新榜信息不一致,以新榜为准' },
|
||||
features: {
|
||||
requireConfig: ['NEWRANK_COOKIE'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'NEWRANK_COOKIE',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: true,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -19,7 +19,12 @@ export const route: Route = {
|
|||
example: '/notion/database/a7cc133b68454f138011f1530a13531e',
|
||||
parameters: { databaseId: 'Database ID' },
|
||||
features: {
|
||||
requireConfig: ['NOTION_TOKEN'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'NOTION_TOKEN',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -9,7 +9,12 @@ export const route: Route = {
|
|||
example: '/pianyuan/index',
|
||||
parameters: { media: '类别,见下表,默认为首页' },
|
||||
features: {
|
||||
requireConfig: ['PIANYUAN_COOKIE'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'PIANYUAN_COOKIE',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -14,7 +14,13 @@ export const route: Route = {
|
|||
example: '/pixabay/search/cat',
|
||||
parameters: { q: 'Search term', order: 'Order, `popular` or `latest`, `latest` by default' },
|
||||
features: {
|
||||
requireConfig: ['PIXABAY_KEY?'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'PIXABAY_KEY',
|
||||
optional: true,
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -12,7 +12,12 @@ export const route: Route = {
|
|||
example: '/pixiv/user/illustfollows',
|
||||
parameters: {},
|
||||
features: {
|
||||
requireConfig: ['PIXIV_REFRESHTOKEN'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'PIXIV_REFRESHTOKEN',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -19,7 +19,12 @@ export const route: Route = {
|
|||
example: '/qweather/3days/广州',
|
||||
parameters: { location: 'N' },
|
||||
features: {
|
||||
requireConfig: ['HEFENG_KEY'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'HEFENG_KEY',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -15,7 +15,12 @@ export const route: Route = {
|
|||
example: '/qweather/广州',
|
||||
parameters: { location: 'N' },
|
||||
features: {
|
||||
requireConfig: ['HEFENG_KEY'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'HEFENG_KEY',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -9,7 +9,12 @@ export const route: Route = {
|
|||
example: '/rsshub/transform/html/https%3A%2F%2Fwechat2rss.xlab.app%2Fposts%2Flist%2F/item=div%5Bclass%3D%27post%2Dcontent%27%5D%20p%20a',
|
||||
parameters: { url: '`encodeURIComponent`ed URL address', routeParams: 'Transformation rules, requires URL encode' },
|
||||
features: {
|
||||
requireConfig: ['ALLOW_USER_SUPPLY_UNSAFE_DOMAIN'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'ALLOW_USER_SUPPLY_UNSAFE_DOMAIN',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -21,7 +21,12 @@ export const route: Route = {
|
|||
example: '/rsshub/transform/json/https%3A%2F%2Fapi.github.com%2Frepos%2Fginuerzh%2Fgost%2Freleases/title=Gost%20releases&itemTitle=tag_name&itemLink=html_url&itemDesc=body',
|
||||
parameters: { url: '`encodeURIComponent`ed URL address', routeParams: 'Transformation rules, requires URL encode' },
|
||||
features: {
|
||||
requireConfig: ['ALLOW_USER_SUPPLY_UNSAFE_DOMAIN'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'ALLOW_USER_SUPPLY_UNSAFE_DOMAIN',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -14,7 +14,12 @@ export const route: Route = {
|
|||
example: '/sehuatang/user/411096',
|
||||
parameters: { uid: '用户 uid, 可在用户主页 URL 中找到' },
|
||||
features: {
|
||||
requireConfig: ['SEHUATANG_COOKIE'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'SEHUATANG_COOKIE',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -9,7 +9,16 @@ export const route: Route = {
|
|||
example: '/spotify/artist/6k9TBCxyr4bXwZ8Y21Kwn1',
|
||||
parameters: { id: 'Artist ID' },
|
||||
features: {
|
||||
requireConfig: ['SPOTIFY_CLIENT_ID', 'SPOTIFY_CLIENT_SECRET'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'SPOTIFY_CLIENT_ID',
|
||||
description: '',
|
||||
},
|
||||
{
|
||||
name: 'SPOTIFY_CLIENT_SECRET',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -8,7 +8,20 @@ export const route: Route = {
|
|||
example: '/spotify/top/artists',
|
||||
parameters: {},
|
||||
features: {
|
||||
requireConfig: ['SPOTIFY_CLIENT_ID', 'SPOTIFY_CLIENT_SECRET', 'SPOTIFY_REFRESHTOKEN'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'SPOTIFY_CLIENT_ID',
|
||||
description: '',
|
||||
},
|
||||
{
|
||||
name: 'SPOTIFY_CLIENT_SECRET',
|
||||
description: '',
|
||||
},
|
||||
{
|
||||
name: 'SPOTIFY_REFRESHTOKEN',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -9,7 +9,16 @@ export const route: Route = {
|
|||
example: '/spotify/playlist/4UBVy1LttvodwivPUuwJk2',
|
||||
parameters: { id: 'Playlist ID' },
|
||||
features: {
|
||||
requireConfig: ['SPOTIFY_CLIENT_ID', 'SPOTIFY_CLIENT_SECRET'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'SPOTIFY_CLIENT_ID',
|
||||
description: '',
|
||||
},
|
||||
{
|
||||
name: 'SPOTIFY_CLIENT_SECRET',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -9,7 +9,20 @@ export const route: Route = {
|
|||
example: '/spotify/saved/50',
|
||||
parameters: { limit: 'Track count, 50 by default' },
|
||||
features: {
|
||||
requireConfig: ['SPOTIFY_CLIENT_ID', 'SPOTIFY_CLIENT_SECRET', 'SPOTIFY_REFRESHTOKEN'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'SPOTIFY_CLIENT_ID',
|
||||
description: '',
|
||||
},
|
||||
{
|
||||
name: 'SPOTIFY_CLIENT_SECRET',
|
||||
description: '',
|
||||
},
|
||||
{
|
||||
name: 'SPOTIFY_REFRESHTOKEN',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -9,7 +9,16 @@ export const route: Route = {
|
|||
example: '/spotify/show/5CfCWKI5pZ28U0uOzXkDHe',
|
||||
parameters: { id: 'Show ID' },
|
||||
features: {
|
||||
requireConfig: ['SPOTIFY_CLIENT_ID', 'SPOTIFY_CLIENT_SECRET'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'SPOTIFY_CLIENT_ID',
|
||||
description: '',
|
||||
},
|
||||
{
|
||||
name: 'SPOTIFY_CLIENT_SECRET',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -8,7 +8,20 @@ export const route: Route = {
|
|||
example: '/spotify/top/tracks',
|
||||
parameters: {},
|
||||
features: {
|
||||
requireConfig: ['SPOTIFY_CLIENT_ID', 'SPOTIFY_CLIENT_SECRET', 'SPOTIFY_REFRESHTOKEN'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'SPOTIFY_CLIENT_ID',
|
||||
description: '',
|
||||
},
|
||||
{
|
||||
name: 'SPOTIFY_CLIENT_SECRET',
|
||||
description: '',
|
||||
},
|
||||
{
|
||||
name: 'SPOTIFY_REFRESHTOKEN',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -9,7 +9,13 @@ export const route: Route = {
|
|||
example: '/tophub/Om4ejxvxEN',
|
||||
parameters: { id: '榜单id,可在 URL 中找到' },
|
||||
features: {
|
||||
requireConfig: ['TOPHUB_COOKIE?'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'TOPHUB_COOKIE',
|
||||
optional: true,
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -14,7 +14,13 @@ export const route: Route = {
|
|||
example: '/tophub/list/Om4ejxvxEN',
|
||||
parameters: { id: '榜单id,可在 URL 中找到' },
|
||||
features: {
|
||||
requireConfig: ['TOPHUB_COOKIE?'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'TOPHUB_COOKIE',
|
||||
optional: true,
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -11,7 +11,16 @@ export const route: Route = {
|
|||
example: '/twitter/collection/DIYgod/1527857429467172864',
|
||||
parameters: { uid: 'username, should match the generated token', collectionId: 'collection ID, can be found in URL', routeParams: 'extra parameters, see the table above' },
|
||||
features: {
|
||||
requireConfig: ['TWITTER_USERNAME', 'TWITTER_PASSWORD'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'TWITTER_USERNAME',
|
||||
description: '',
|
||||
},
|
||||
{
|
||||
name: 'TWITTER_PASSWORD',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -11,7 +11,16 @@ export const route: Route = {
|
|||
example: '/twitter/followings/DIYgod',
|
||||
parameters: { id: 'username', routeParams: 'extra parameters, see the table above' },
|
||||
features: {
|
||||
requireConfig: ['TWITTER_USERNAME', 'TWITTER_PASSWORD'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'TWITTER_USERNAME',
|
||||
description: '',
|
||||
},
|
||||
{
|
||||
name: 'TWITTER_PASSWORD',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -7,7 +7,16 @@ export const route: Route = {
|
|||
example: '/twitter/keyword/RSSHub',
|
||||
parameters: { keyword: 'keyword', routeParams: 'extra parameters, see the table above' },
|
||||
features: {
|
||||
requireConfig: ['TWITTER_USERNAME', 'TWITTER_PASSWORD'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'TWITTER_USERNAME',
|
||||
description: '',
|
||||
},
|
||||
{
|
||||
name: 'TWITTER_PASSWORD',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -7,7 +7,16 @@ export const route: Route = {
|
|||
example: '/twitter/media/DIYgod',
|
||||
parameters: { id: 'username; in particular, if starts with `+`, it will be recognized as a [unique ID](https://github.com/DIYgod/RSSHub/issues/12221), e.g. `+44196397`', routeParams: 'extra parameters, see the table above.' },
|
||||
features: {
|
||||
requireConfig: ['TWITTER_USERNAME', 'TWITTER_PASSWORD'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'TWITTER_USERNAME',
|
||||
description: '',
|
||||
},
|
||||
{
|
||||
name: 'TWITTER_PASSWORD',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -11,7 +11,16 @@ export const route: Route = {
|
|||
original: 'extra parameters, data type of return, if the value is not `0`/`false` and `config.isPackage` is `true`, return the original data of twitter',
|
||||
},
|
||||
features: {
|
||||
requireConfig: ['TWITTER_USERNAME', 'TWITTER_PASSWORD'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'TWITTER_USERNAME',
|
||||
description: '',
|
||||
},
|
||||
{
|
||||
name: 'TWITTER_PASSWORD',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -11,7 +11,16 @@ export const route: Route = {
|
|||
'extra parameters, see the table above; particularly when `routeParams=exclude_replies`, replies are excluded; `routeParams=exclude_rts` excludes retweets,`routeParams=exclude_rts_replies` exclude replies and retweets; for default include all.',
|
||||
},
|
||||
features: {
|
||||
requireConfig: ['TWITTER_USERNAME', 'TWITTER_PASSWORD'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'TWITTER_USERNAME',
|
||||
description: '',
|
||||
},
|
||||
{
|
||||
name: 'TWITTER_PASSWORD',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -12,7 +12,12 @@ export const route: Route = {
|
|||
example: '/weibo/friends',
|
||||
parameters: { routeParams: '额外参数;请参阅上面的说明和表格' },
|
||||
features: {
|
||||
requireConfig: ['WEIBO_COOKIES'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'WEIBO_COOKIES',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -12,7 +12,12 @@ export const route: Route = {
|
|||
example: '/weibo/group/4541216424989965',
|
||||
parameters: { gid: '分组id, 在网页版分组地址栏末尾`?gid=`处获取', gname: '分组显示名称; 默认为: `微博分组`', routeParams: '额外参数;请参阅上面的说明和表格' },
|
||||
features: {
|
||||
requireConfig: ['WEIBO_COOKIES'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'WEIBO_COOKIES',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -13,7 +13,16 @@ export const route: Route = {
|
|||
example: '/weibo/timeline/3306934123',
|
||||
parameters: { uid: '用户的uid', feature: '过滤类型ID,0:全部、1:原创、2:图片、3:视频、4:音乐,默认为0。', routeParams: '额外参数;请参阅上面的说明和表格' },
|
||||
features: {
|
||||
requireConfig: ['WEIBO_APP_KEY', 'WEIBO_REDIRECT_URL'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'WEIBO_APP_KEY',
|
||||
description: '',
|
||||
},
|
||||
{
|
||||
name: 'WEIBO_REDIRECT_URL',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -87,7 +87,12 @@ export const route: Route = {
|
|||
example: '/ximalaya/album/299146',
|
||||
parameters: { type: '专辑类型, 通常可以使用 `album`,可在对应专辑页面的 URL 中找到', id: '专辑 id, 可在对应专辑页面的 URL 中找到', all: '是否需要获取全部节目,填入 `1`、`true`、`all` 视为获取所有节目,填入其他则不获取。' },
|
||||
features: {
|
||||
requireConfig: ['XIMALAYA_TOKEN'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'XIMALAYA_TOKEN',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -11,7 +11,24 @@ export const route: Route = {
|
|||
example: '/youtube/subscriptions',
|
||||
parameters: { embed: 'Default to embed the video, set to any value to disable embedding' },
|
||||
features: {
|
||||
requireConfig: ['YOUTUBE_KEY', 'YOUTUBE_CLIENT_ID', 'YOUTUBE_CLIENT_SECRET', 'YOUTUBE_REFRESH_TOKEN'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'YOUTUBE_KEY',
|
||||
description: '',
|
||||
},
|
||||
{
|
||||
name: 'YOUTUBE_CLIENT_ID',
|
||||
description: '',
|
||||
},
|
||||
{
|
||||
name: 'YOUTUBE_CLIENT_SECRET',
|
||||
description: '',
|
||||
},
|
||||
{
|
||||
name: 'YOUTUBE_REFRESH_TOKEN',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -10,7 +10,12 @@ export const route: Route = {
|
|||
example: '/zhihu/timeline',
|
||||
parameters: {},
|
||||
features: {
|
||||
requireConfig: ['ZHIHU_COOKIES'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'ZHIHU_COOKIES',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: true,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -17,7 +17,12 @@ export const route: Route = {
|
|||
example: '/zodgame/forum/13',
|
||||
parameters: { fid: 'forum id, can be found in URL' },
|
||||
features: {
|
||||
requireConfig: ['ZODGAME_COOKIE'],
|
||||
requireConfig: [
|
||||
{
|
||||
name: 'ZODGAME_COOKIE',
|
||||
description: '',
|
||||
},
|
||||
],
|
||||
requirePuppeteer: false,
|
||||
antiCrawler: false,
|
||||
supportBT: false,
|
||||
|
|
|
|||
|
|
@ -73,7 +73,13 @@ interface RouteItem {
|
|||
categories?: string[];
|
||||
|
||||
features: {
|
||||
requireConfig?: (`${string}?` | `${string}*` | string)[] | false;
|
||||
requireConfig?:
|
||||
| {
|
||||
name: string;
|
||||
optional?: boolean;
|
||||
description: string;
|
||||
}[]
|
||||
| false;
|
||||
requirePuppeteer?: boolean;
|
||||
antiCrawler?: boolean;
|
||||
supportRadar?: boolean;
|
||||
|
|
|
|||
Loading…
Reference in New Issue