fix: allow multiple radar rules per route (#14800)

* fix: allow multiple radar rules per route

* fix: github folder

* feat: add namespace to radar target

* docs: fix types url
This commit is contained in:
Tony 2024-03-16 03:28:44 +08:00 committed by GitHub
parent aad06528db
commit d585a87daf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1249 changed files with 6848 additions and 4248 deletions

View File

@ -1,36 +1,43 @@
import { namespaces } from '@/registry';
import { parse } from 'tldts';
import { Radar } from '@/types';
import { RadarItem } from '@/types';
import { createRoute, RouteHandler } from '@hono/zod-openapi';
const radar: Radar = {};
const radar: {
[domain: string]: {
_name: string;
[subdomain: string]: RadarItem[] | string;
};
} = {};
for (const namespace in namespaces) {
for (const path in namespaces[namespace].routes) {
const realPath = `/${namespace}${path}`;
const data = namespaces[namespace].routes[path];
if (data.radar && data.radar.source) {
const parsedDomain = parse(new URL('https://' + data.radar.source[0]).hostname);
const subdomain = parsedDomain.subdomain || '.';
const domain = parsedDomain.domain;
if (domain) {
if (!radar[domain]) {
radar[domain] = {
_name: namespaces[namespace].name,
};
if (data.radar?.length) {
for (const radarItem of data.radar) {
const parsedDomain = parse(new URL('https://' + radarItem.source[0]).hostname);
const subdomain = parsedDomain.subdomain || '.';
const domain = parsedDomain.domain;
if (domain) {
if (!radar[domain]) {
radar[domain] = {
_name: namespaces[namespace].name,
};
}
if (!radar[domain][subdomain]) {
radar[domain][subdomain] = [];
}
radar[domain][subdomain].push({
title: radarItem.title || data.name,
docs: `https://docs.rsshub.app/routes/${data.categories?.[0] || 'other'}`,
source: radarItem.source.map((source) => {
const sourceURL = new URL('https://' + source);
return sourceURL.pathname + sourceURL.search + sourceURL.hash;
}),
target: radarItem.target ? `/${namespace}${radarItem.target}` : realPath,
});
}
if (!radar[domain][subdomain]) {
radar[domain][subdomain] = [];
}
radar[domain][subdomain].push({
title: data.name,
docs: `https://docs.rsshub.app/routes/${data.categories?.[0] || 'other'}`,
source: data.radar.source.map((source) => {
const sourceURL = new URL('https://' + source);
return sourceURL.pathname + sourceURL.search + sourceURL.hash;
}),
target: data.radar.target || realPath,
});
}
}
}

View File

@ -1,36 +1,43 @@
import { namespaces } from '@/registry';
import { parse } from 'tldts';
import { Radar } from '@/types';
import { RadarItem } from '@/types';
import { z, createRoute, RouteHandler } from '@hono/zod-openapi';
const radar: Radar = {};
const radar: {
[domain: string]: {
_name: string;
[subdomain: string]: RadarItem[] | string;
};
} = {};
for (const namespace in namespaces) {
for (const path in namespaces[namespace].routes) {
const realPath = `/${namespace}${path}`;
const data = namespaces[namespace].routes[path];
if (data.radar && data.radar.source) {
const parsedDomain = parse(new URL('https://' + data.radar.source[0]).hostname);
const subdomain = parsedDomain.subdomain || '.';
const domain = parsedDomain.domain;
if (domain) {
if (!radar[domain]) {
radar[domain] = {
_name: namespaces[namespace].name,
};
if (data.radar?.length) {
for (const radarItem of data.radar) {
const parsedDomain = parse(new URL('https://' + radarItem.source[0]).hostname);
const subdomain = parsedDomain.subdomain || '.';
const domain = parsedDomain.domain;
if (domain) {
if (!radar[domain]) {
radar[domain] = {
_name: namespaces[namespace].name,
};
}
if (!radar[domain][subdomain]) {
radar[domain][subdomain] = [];
}
radar[domain][subdomain].push({
title: radarItem.title || data.name,
docs: `https://docs.rsshub.app/routes/${data.categories?.[0] || 'other'}`,
source: radarItem.source.map((source) => {
const sourceURL = new URL('https://' + source);
return sourceURL.pathname + sourceURL.search + sourceURL.hash;
}),
target: radarItem.target ? `/${namespace}${radarItem.target}` : realPath,
});
}
if (!radar[domain][subdomain]) {
radar[domain][subdomain] = [];
}
radar[domain][subdomain].push({
title: data.name,
docs: `https://docs.rsshub.app/routes/${data.categories?.[0] || 'other'}`,
source: data.radar.source.map((source) => {
const sourceURL = new URL('https://' + source);
return sourceURL.pathname + sourceURL.search + sourceURL.hash;
}),
target: data.radar.target || realPath,
});
}
}
}

View File

@ -17,10 +17,12 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['www.12306.cn/', 'www.12306.cn/mormhweb/1/:id/index_fl.html'],
target: '/zxdt/:id',
},
radar: [
{
source: ['www.12306.cn/', 'www.12306.cn/mormhweb/1/:id/index_fl.html'],
target: '/zxdt/:id',
},
],
name: '最新动态',
maintainers: ['LogicJake'],
handler,

View File

@ -22,9 +22,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['ds.163.com/user/:id'],
},
radar: [
{
source: ['ds.163.com/user/:id'],
},
],
name: '用户发帖',
maintainers: ['luyuhuang'],
handler,

View File

@ -90,9 +90,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['3g.163.com/touch/exclusive/sub/:id'],
},
radar: [
{
source: ['3g.163.com/touch/exclusive/sub/:id'],
},
],
name: '栏目',
maintainers: ['nczitzk'],
handler,

View File

@ -22,9 +22,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['vip.open.163.com/'],
},
radar: [
{
source: ['vip.open.163.com/'],
},
],
name: '精品课程',
maintainers: ['hoilc'],
handler,

View File

@ -27,9 +27,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['renjian.163.com/:category', 'renjian.163.com/'],
},
radar: [
{
source: ['renjian.163.com/:category', 'renjian.163.com/'],
},
],
name: '人间',
maintainers: ['nczitzk'],
handler,

View File

@ -18,10 +18,12 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['wp.m.163.com/163/html/newsapp/todayFocus/index.html', 'wp.m.163.com/'],
target: '/today',
},
radar: [
{
source: ['wp.m.163.com/163/html/newsapp/todayFocus/index.html', 'wp.m.163.com/'],
target: '/today',
},
],
name: '今日关注',
maintainers: ['nczitzk'],
handler,

View File

@ -19,9 +19,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['jmcomic.group/'],
},
radar: [
{
source: ['jmcomic.group/'],
},
],
name: '专辑',
maintainers: ['nczitzk'],
handler,

View File

@ -19,9 +19,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['jmcomic.group/'],
},
radar: [
{
source: ['jmcomic.group/'],
},
],
name: '文庫',
maintainers: ['nczitzk'],
handler,

View File

@ -14,9 +14,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['jmcomic.group/'],
},
radar: [
{
source: ['jmcomic.group/'],
},
],
name: '成人 A 漫',
maintainers: ['nczitzk'],
handler,

View File

@ -20,10 +20,12 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['jmcomic.group/'],
target: '/:category?/:time?/:order?/:keyword?',
},
radar: [
{
source: ['jmcomic.group/'],
target: '/:category?/:time?/:order?/:keyword?',
},
],
name: '搜索',
maintainers: [],
handler,

View File

@ -18,10 +18,12 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['1lou.me/:path'],
target: '/:path',
},
radar: [
{
source: ['1lou.me/:path'],
target: '/:path',
},
],
name: '搜索',
maintainers: ['falling'],
handler,

View File

@ -16,9 +16,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['blog.1point3acres.com/:category'],
},
radar: [
{
source: ['blog.1point3acres.com/:category'],
},
],
name: '博客',
maintainers: ['nczitzk'],
handler,

View File

@ -15,9 +15,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['instant.1point3acres.com/section/:id', 'instant.1point3acres.com/'],
},
radar: [
{
source: ['instant.1point3acres.com/section/:id', 'instant.1point3acres.com/'],
},
],
name: '标签',
maintainers: ['nczitzk'],
handler,

View File

@ -20,10 +20,12 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['offer.1point3acres.com/'],
target: '/offer',
},
radar: [
{
source: ['offer.1point3acres.com/'],
target: '/offer',
},
],
name: '录取结果',
maintainers: ['EthanWng97'],
handler,

View File

@ -26,9 +26,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['instant.1point3acres.com/section/:id', 'instant.1point3acres.com/'],
},
radar: [
{
source: ['instant.1point3acres.com/section/:id', 'instant.1point3acres.com/'],
},
],
name: '分区',
maintainers: ['nczitzk'],
handler,

View File

@ -14,9 +14,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['instant.1point3acres.com/profile/:id', 'instant.1point3acres.com/'],
},
radar: [
{
source: ['instant.1point3acres.com/profile/:id', 'instant.1point3acres.com/'],
},
],
name: '用户回帖',
maintainers: ['Maecenas'],
handler,

View File

@ -14,9 +14,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['instant.1point3acres.com/profile/:id', 'instant.1point3acres.com/'],
},
radar: [
{
source: ['instant.1point3acres.com/profile/:id', 'instant.1point3acres.com/'],
},
],
name: '用户主题帖',
maintainers: ['Maecenas'],
handler,

View File

@ -37,10 +37,12 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['36kr.com/hot-list/:category', '36kr.com/'],
target: '/hot-list/:category',
},
radar: [
{
source: ['36kr.com/hot-list/:category', '36kr.com/'],
target: '/hot-list/:category',
},
],
name: '资讯热榜',
maintainers: ['nczitzk'],
handler,

View File

@ -7,9 +7,11 @@ import { parseArticle } from './utils';
export const route: Route = {
path: '/:name/:type?',
radar: {
source: ['3dmgame.com/games/:name/:type'],
},
radar: [
{
source: ['3dmgame.com/games/:name/:type'],
},
],
name: 'Unknown',
maintainers: ['sinchang', 'jacky2001114', 'HenryQW'],
handler,

View File

@ -19,9 +19,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['3dmgame.com/news/:category?', '3dmgame.com/news'],
},
radar: [
{
source: ['3dmgame.com/news/:category?', '3dmgame.com/news'],
},
],
name: '新闻中心',
maintainers: ['zhboner'],
handler,

View File

@ -5,15 +5,16 @@ import { parseList, parseItem, getCategories } from './utils';
export const route: Route = {
path: ['/', '/category/:category'],
radar: {
source: ['www.4gamers.com.tw/news', 'www.4gamers.com.tw/'],
target: '',
},
radar: [
{
source: ['www.4gamers.com.tw/news', 'www.4gamers.com.tw/'],
target: '',
},
],
name: 'Unknown',
maintainers: ['TonyRL'],
handler,
url: 'www.4gamers.com.tw/news',
url: 'www.4gamers.com.tw/news',
};
async function handler(ctx) {

View File

@ -16,9 +16,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['www.4gamers.com.tw/news/tag/:tag'],
},
radar: [
{
source: ['www.4gamers.com.tw/news/tag/:tag'],
},
],
name: '标签',
maintainers: ['hoilc'],
handler,

View File

@ -16,9 +16,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['www.4gamers.com.tw/news/option-cfg/:topic'],
},
radar: [
{
source: ['www.4gamers.com.tw/news/option-cfg/:topic'],
},
],
name: '主題',
maintainers: ['bestpika'],
handler,

View File

@ -21,9 +21,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['500px.com.cn/:id', '500px.com.cn/community/user-details/:id', '500px.com.cn/community/user-details/:id/*'],
},
radar: [
{
source: ['500px.com.cn/:id', '500px.com.cn/community/user-details/:id', '500px.com.cn/community/user-details/:id/*'],
},
],
name: '摄影师作品',
maintainers: ['TonyRL'],
handler,

View File

@ -7,10 +7,12 @@ import timezone from '@/utils/timezone';
export const route: Route = {
path: '/',
radar: {
source: ['50forum.org.cn/home/article/index/category/zhuanjia.html', '50forum.org.cn/'],
target: '',
},
radar: [
{
source: ['50forum.org.cn/home/article/index/category/zhuanjia.html', '50forum.org.cn/'],
target: '',
},
],
name: 'Unknown',
maintainers: ['sddiky'],
handler,

View File

@ -18,10 +18,12 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['52hrtt.com/global/n/w/symposium/:id'],
target: '/symposium/:id',
},
radar: [
{
source: ['52hrtt.com/global/n/w/symposium/:id'],
target: '/symposium/:id',
},
],
name: '专题',
maintainers: ['nczitzk'],
handler,

View File

@ -20,9 +20,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['csgo.5eplay.com/', 'csgo.5eplay.com/article'],
},
radar: [
{
source: ['csgo.5eplay.com/', 'csgo.5eplay.com/article'],
},
],
name: '新闻列表',
maintainers: ['Dlouxgit'],
handler,

View File

@ -7,10 +7,12 @@ import { parseDate } from '@/utils/parse-date';
export const route: Route = {
path: '/:id?/:type?/:keyword?',
radar: {
source: ['club.6parkbbs.com/:id/index.php', 'club.6parkbbs.com/'],
target: '/:id?',
},
radar: [
{
source: ['club.6parkbbs.com/:id/index.php', 'club.6parkbbs.com/'],
target: '/:id?',
},
],
name: 'Unknown',
maintainers: [],
handler,

View File

@ -7,10 +7,12 @@ import { parseDate } from '@/utils/parse-date';
export const route: Route = {
path: '/news/:site?/:id?/:keyword?',
radar: {
source: ['club.6parkbbs.com/:id/index.php', 'club.6parkbbs.com/'],
target: '/:id?',
},
radar: [
{
source: ['club.6parkbbs.com/:id/index.php', 'club.6parkbbs.com/'],
target: '/:id?',
},
],
name: 'Unknown',
maintainers: [],
handler,

View File

@ -16,9 +16,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['hao6v.com/', 'hao6v.com/gvod/zx.html'],
},
radar: [
{
source: ['hao6v.com/', 'hao6v.com/gvod/zx.html'],
},
],
name: '最新电影',
maintainers: ['tc9011'],
handler,

View File

@ -16,9 +16,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['hao6v.com/', 'hao6v.com/gvod/dsj.html'],
},
radar: [
{
source: ['hao6v.com/', 'hao6v.com/gvod/dsj.html'],
},
],
name: '最新电视剧',
maintainers: ['tc9011'],
handler,

View File

@ -6,10 +6,12 @@ import { SUB_NAME_PREFIX, SUB_URL } from './const';
import loadArticle from './article';
export const route: Route = {
path: '/cat/:cat{.+}?',
radar: {
source: ['8kcosplay.com/'],
target: '',
},
radar: [
{
source: ['8kcosplay.com/'],
target: '',
},
],
name: 'Unknown',
maintainers: [],
handler,

View File

@ -19,10 +19,12 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['8kcosplay.com/'],
target: '',
},
radar: [
{
source: ['8kcosplay.com/'],
target: '',
},
],
name: '最新',
maintainers: ['KotoriK'],
handler,

View File

@ -17,9 +17,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['8kcosplay.com/tag/:tag'],
},
radar: [
{
source: ['8kcosplay.com/tag/:tag'],
},
],
name: '标签',
maintainers: ['KotoriK'],
handler,

View File

@ -23,10 +23,12 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['91porn.com/index.php'],
target: '',
},
radar: [
{
source: ['91porn.com/index.php'],
target: '',
},
],
name: 'Author',
maintainers: ['TonyRL'],
handler,

View File

@ -23,10 +23,12 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['91porn.com/index.php'],
target: '',
},
radar: [
{
source: ['91porn.com/index.php'],
target: '',
},
],
name: 'Hot Video Today',
maintainers: ['TonyRL'],
handler,

View File

@ -14,9 +14,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['95mm.org/'],
},
radar: [
{
source: ['95mm.org/'],
},
],
name: '集合',
maintainers: ['nczitzk'],
handler,

View File

@ -14,9 +14,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['95mm.org/'],
},
radar: [
{
source: ['95mm.org/'],
},
],
name: '分类',
maintainers: ['nczitzk'],
handler,

View File

@ -14,9 +14,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['95mm.org/'],
},
radar: [
{
source: ['95mm.org/'],
},
],
name: '标签',
maintainers: ['nczitzk'],
handler,

View File

@ -6,10 +6,12 @@ import timezone from '@/utils/timezone';
export const route: Route = {
path: '/',
radar: {
source: ['a9vg.com/list/news', 'a9vg.com/'],
target: '',
},
radar: [
{
source: ['a9vg.com/list/news', 'a9vg.com/'],
target: '',
},
],
name: 'Unknown',
maintainers: ['monnerHenster'],
handler,

View File

@ -17,9 +17,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['aamacau.com/'],
},
radar: [
{
source: ['aamacau.com/'],
},
],
name: '话题',
maintainers: [],
handler,

View File

@ -11,10 +11,12 @@ import * as path from 'node:path';
export const route: Route = {
path: '/:category{.+}?',
radar: {
source: ['abc.net.au/:category*'],
target: '/:category',
},
radar: [
{
source: ['abc.net.au/:category*'],
target: '/:category',
},
],
name: 'Unknown',
maintainers: [],
handler,

View File

@ -21,10 +21,12 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['www.abmedia.io/category/:catehory'],
target: '/:category',
},
radar: [
{
source: ['www.abmedia.io/category/:catehory'],
target: '/:category',
},
],
name: '类别',
maintainers: [],
handler,

View File

@ -18,9 +18,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['www.abmedia.io/'],
},
radar: [
{
source: ['www.abmedia.io/'],
},
],
name: '首页最新新闻',
maintainers: [],
handler,

View File

@ -6,10 +6,12 @@ import { parseDate } from '@/utils/parse-date';
export const route: Route = {
path: '/',
radar: {
source: ['ahhhhfs.com/'],
target: '',
},
radar: [
{
source: ['ahhhhfs.com/'],
target: '',
},
],
name: 'Unknown',
maintainers: ['zhenhappy'],
handler,

View File

@ -4,10 +4,12 @@ import { parseDate } from '@/utils/parse-date';
export const route: Route = {
path: '/nsfw',
radar: {
source: ['ahhhhfs.com/'],
target: '',
},
radar: [
{
source: ['ahhhhfs.com/'],
target: '',
},
],
name: 'Unknown',
maintainers: [],
handler,

View File

@ -5,10 +5,12 @@ import { parseDate } from '@/utils/parse-date';
export const route: Route = {
path: '/user/video/:uid',
radar: {
source: ['www.acfun.cn/u/:id'],
target: '/user/video/:id',
},
radar: [
{
source: ['www.acfun.cn/u/:id'],
target: '/user/video/:id',
},
],
name: 'Unknown',
maintainers: ['wdssmq'],
handler,

View File

@ -17,9 +17,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['acg17.com/post'],
},
radar: [
{
source: ['acg17.com/post'],
},
],
name: '全部文章',
maintainers: ['SunBK201'],
handler,

View File

@ -12,9 +12,11 @@ import puppeteer from '@/utils/puppeteer';
export const route: Route = {
path: '/journal/:id',
radar: {
source: ['pubs.acs.org/journal/:id', 'pubs.acs.org/'],
},
radar: [
{
source: ['pubs.acs.org/journal/:id', 'pubs.acs.org/'],
},
],
name: 'Unknown',
maintainers: ['nczitzk'],
handler,

View File

@ -22,9 +22,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: true,
},
radar: {
source: ['aeaweb.org/journals/:id', 'aeaweb.org/'],
},
radar: [
{
source: ['aeaweb.org/journals/:id', 'aeaweb.org/'],
},
],
name: 'Journal',
maintainers: ['nczitzk'],
handler,

View File

@ -16,9 +16,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['aeon.aeon.co/:category'],
},
radar: [
{
source: ['aeon.aeon.co/:category'],
},
],
name: 'Categories',
maintainers: ['emdoe'],
handler,

View File

@ -16,9 +16,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['aeon.aeon.co/:type'],
},
radar: [
{
source: ['aeon.aeon.co/:type'],
},
],
name: 'Types',
maintainers: ['emdoe'],
handler,

View File

@ -16,9 +16,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['agemys.org/detail/:id'],
},
radar: [
{
source: ['agemys.org/detail/:id'],
},
],
name: '番剧详情',
maintainers: ['s2marine'],
handler,

View File

@ -17,9 +17,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['agemys.org/update', 'agemys.org/'],
},
radar: [
{
source: ['agemys.org/update', 'agemys.org/'],
},
],
name: '最近更新',
maintainers: ['nczitzk'],
handler,

View File

@ -17,10 +17,12 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['agirls.aotter.net/posts/:category'],
target: '/:category',
},
radar: [
{
source: ['agirls.aotter.net/posts/:category'],
target: '/:category',
},
],
name: '分类',
maintainers: ['TonyRL'],
handler,

View File

@ -16,9 +16,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['agirls.aotter.net/', 'agirls.aotter.net/topic'],
},
radar: [
{
source: ['agirls.aotter.net/', 'agirls.aotter.net/topic'],
},
],
name: '当前精选主题列表',
maintainers: ['TonyRL'],
handler,

View File

@ -17,9 +17,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['agirls.aotter.net/topic/:topic'],
},
radar: [
{
source: ['agirls.aotter.net/topic/:topic'],
},
],
name: '精选主题',
maintainers: ['TonyRL'],
handler,

View File

@ -17,10 +17,12 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['agora0.gitlab.io/blog/:category', 'agora0.gitlab.io/'],
target: '/:category',
},
radar: [
{
source: ['agora0.gitlab.io/blog/:category', 'agora0.gitlab.io/'],
target: '/:category',
},
],
name: '零博客',
maintainers: ['nczitzk'],
handler,

View File

@ -17,9 +17,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['agorahub.github.io/pen0'],
},
radar: [
{
source: ['agorahub.github.io/pen0'],
},
],
name: '共和報',
maintainers: ['TonyRL'],
handler,

View File

@ -18,9 +18,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['news.ahjzu.edu.cn/20/list.htm'],
},
radar: [
{
source: ['news.ahjzu.edu.cn/20/list.htm'],
},
],
name: '通知公告',
maintainers: ['Yuk-0v0'],
handler,

View File

@ -16,9 +16,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['ainvest.com/news'],
},
radar: [
{
source: ['ainvest.com/news'],
},
],
name: 'Latest Article',
maintainers: ['TonyRL'],
handler,

View File

@ -16,9 +16,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['ainvest.com/news'],
},
radar: [
{
source: ['ainvest.com/news'],
},
],
name: 'Latest News',
maintainers: ['TonyRL'],
handler,

View File

@ -16,9 +16,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: true,
},
radar: {
source: ['pubs.aip.org/:pub/:jrn'],
},
radar: [
{
source: ['pubs.aip.org/:pub/:jrn'],
},
],
name: 'Journal',
maintainers: ['Derekmini', 'auto-bot-ty'],
handler,

View File

@ -18,9 +18,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['www.airchina.com.cn/'],
},
radar: [
{
source: ['www.airchina.com.cn/'],
},
],
name: '服务公告',
maintainers: ['LandonLi'],
handler,

View File

@ -17,10 +17,12 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['aliresearch.com/cn/information', 'aliresearch.com/'],
target: '/information',
},
radar: [
{
source: ['aliresearch.com/cn/information', 'aliresearch.com/'],
target: '/information',
},
],
name: '资讯',
maintainers: ['nczitzk'],
handler,

View File

@ -3,10 +3,12 @@ import { getData, getList } from './utils';
export const route: Route = {
path: '/',
radar: {
source: ['alistapart.com/articles/'],
target: '',
},
radar: [
{
source: ['alistapart.com/articles/'],
target: '',
},
],
name: 'Unknown',
maintainers: ['Rjnishant530'],
handler,

View File

@ -14,9 +14,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['alistapart.com/blog/topic/:topic'],
},
radar: [
{
source: ['alistapart.com/blog/topic/:topic'],
},
],
name: 'Topics',
maintainers: ['Rjnishant530'],
handler,

View File

@ -16,9 +16,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['mysql.taobao.org/monthly', 'mysql.taobao.org/'],
},
radar: [
{
source: ['mysql.taobao.org/monthly', 'mysql.taobao.org/'],
},
],
name: '数据库内核月报',
maintainers: ['junbaor'],
handler,

View File

@ -16,9 +16,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['developer.aliyun.com/group/:type'],
},
radar: [
{
source: ['developer.aliyun.com/group/:type'],
},
],
name: '开发者社区 - 主题',
maintainers: ['umm233'],
handler,

View File

@ -18,9 +18,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['rail.ally.net.cn/', 'rail.ally.net.cn/html/:category?/:topic?'],
},
radar: [
{
source: ['rail.ally.net.cn/', 'rail.ally.net.cn/html/:category?/:topic?'],
},
],
name: '世界轨道交通资讯网',
maintainers: ['Rongronggg9'],
handler,

View File

@ -16,10 +16,12 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['www.alternativeto.net/platform/:name'],
target: '/platform/:name',
},
radar: [
{
source: ['www.alternativeto.net/platform/:name'],
target: '/platform/:name',
},
],
name: 'Platform Software',
maintainers: ['JimenezLi'],
handler,

View File

@ -16,10 +16,12 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['www.alternativeto.net/software/:name'],
target: '/software/:name',
},
radar: [
{
source: ['www.alternativeto.net/software/:name'],
target: '/software/:name',
},
],
name: 'Software Alternatives',
maintainers: ['JimenezLi'],
handler,

View File

@ -16,9 +16,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['developer.android.com/studio/releases/platform-tools', 'developer.android.com/'],
},
radar: [
{
source: ['developer.android.com/studio/releases/platform-tools', 'developer.android.com/'],
},
],
name: 'SDK Platform Tools release notes',
maintainers: ['nczitzk'],
handler,

View File

@ -17,9 +17,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: true,
},
radar: {
source: ['annualreviews.org/journal/:id', 'annualreviews.org/'],
},
radar: [
{
source: ['annualreviews.org/journal/:id', 'annualreviews.org/'],
},
],
name: 'Journal',
maintainers: ['nczitzk'],
handler,

View File

@ -18,10 +18,12 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['apnews.com/hub/:topic'],
target: '/topics/:topic',
},
radar: [
{
source: ['apnews.com/hub/:topic'],
target: '/topics/:topic',
},
],
name: 'Topics',
maintainers: ['zoenglinghou', 'mjysci', 'TonyRL'],
handler,

View File

@ -22,9 +22,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['install.appcenter.ms/users/:user/apps/:app/distribution_groups/:distribution_group', 'install.appcenter.ms/orgs/:user/apps/:app/distribution_groups/:distribution_group'],
},
radar: [
{
source: ['install.appcenter.ms/users/:user/apps/:app/distribution_groups/:distribution_group', 'install.appcenter.ms/orgs/:user/apps/:app/distribution_groups/:distribution_group'],
},
],
name: 'Release',
maintainers: ['Rongronggg9'],
handler,

View File

@ -28,10 +28,12 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['apps.apple.com/:country/app/:appSlug/:id', 'apps.apple.com/:country/app/:id'],
target: '/apps/update/:country/:id',
},
radar: [
{
source: ['apps.apple.com/:country/app/:appSlug/:id', 'apps.apple.com/:country/app/:id'],
target: '/apps/update/:country/:id',
},
],
name: 'App Update',
maintainers: ['EkkoG', 'nczitzk'],
handler,

View File

@ -18,10 +18,12 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['support.apple.com/:country/service-programs'],
target: '/exchange_repair/:country',
},
radar: [
{
source: ['support.apple.com/:country/service-programs'],
target: '/exchange_repair/:country',
},
],
name: 'Exchange and Repair Extension Programs',
maintainers: ['metowolf', 'HenryQW', 'kt286'],
handler,

View File

@ -17,10 +17,12 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['appleinsider.com/:category', 'appleinsider.com/'],
target: '/:category',
},
radar: [
{
source: ['appleinsider.com/:category', 'appleinsider.com/'],
target: '/:category',
},
],
name: 'Category',
maintainers: ['nczitzk'],
handler,

View File

@ -18,9 +18,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['apps.apple.com/'],
},
radar: [
{
source: ['apps.apple.com/'],
},
],
name: 'Price Drop',
maintainers: ['HenryQW'],
handler,

View File

@ -15,9 +15,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['app.so/xianmian'],
},
radar: [
{
source: ['app.so/xianmian'],
},
],
name: '每日精品限免 / 促销应用(鲜面连线 by AppSo',
maintainers: ['Andiedie'],
handler,

View File

@ -20,9 +20,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['arcteryx.com/:country/en/c/:gender/new-arrivals'],
},
radar: [
{
source: ['arcteryx.com/:country/en/c/:gender/new-arrivals'],
},
],
name: 'New Arrivals',
maintainers: ['EthanWng97'],
handler,

View File

@ -20,9 +20,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['outlet.arcteryx.com/:country/en/c/:gender'],
},
radar: [
{
source: ['outlet.arcteryx.com/:country/en/c/:gender'],
},
],
name: 'Outlet',
maintainers: ['EthanWng97'],
handler,

View File

@ -24,9 +24,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['regear.arcteryx.com/shop/new-arrivals', 'regear.arcteryx.com/'],
},
radar: [
{
source: ['regear.arcteryx.com/shop/new-arrivals', 'regear.arcteryx.com/'],
},
],
name: 'Regear New Arrivals',
maintainers: ['EthanWng97'],
handler,

View File

@ -15,9 +15,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['ak.arknights.jp/news', 'ak.arknights.jp/'],
},
radar: [
{
source: ['ak.arknights.jp/news', 'ak.arknights.jp/'],
},
],
name: 'アークナイツ (日服新闻)',
maintainers: ['ofyark'],
handler,

View File

@ -17,9 +17,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['ak-conf.hypergryph.com/*'],
},
radar: [
{
source: ['ak-conf.hypergryph.com/*'],
},
],
name: '游戏公告与新闻',
maintainers: ['Astrian'],
handler,

View File

@ -22,9 +22,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['www.artstation.com/:handle'],
},
radar: [
{
source: ['www.artstation.com/:handle'],
},
],
name: 'Artist Profolio',
maintainers: ['TonyRL'],
handler,

View File

@ -11,10 +11,12 @@ import * as path from 'node:path';
export const route: Route = {
path: '/:category{.+}?',
radar: {
source: ['asiantolick.com/'],
target: '',
},
radar: [
{
source: ['asiantolick.com/'],
target: '',
},
],
name: 'Unknown',
maintainers: [],
handler,

View File

@ -30,9 +30,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['asus.com.cn/'],
},
radar: [
{
source: ['asus.com.cn/'],
},
],
name: 'BIOS',
maintainers: ['Fatpandac'],
handler,

View File

@ -17,9 +17,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['asus.com/campaign/GPU-Tweak-III/*', 'asus.com/'],
},
radar: [
{
source: ['asus.com/campaign/GPU-Tweak-III/*', 'asus.com/'],
},
],
name: 'GPU Tweak',
maintainers: ['TonyRL'],
handler,

View File

@ -18,9 +18,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['hub.baai.ac.cn/comments', 'hub.baai.ac.cn/'],
},
radar: [
{
source: ['hub.baai.ac.cn/comments', 'hub.baai.ac.cn/'],
},
],
name: '智源社区 - 评论',
maintainers: ['TonyRL'],
handler,

View File

@ -17,9 +17,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['hub.baai.ac.cn/events', 'hub.baai.ac.cn/'],
},
radar: [
{
source: ['hub.baai.ac.cn/events', 'hub.baai.ac.cn/'],
},
],
name: '智源社区 - 活动',
maintainers: ['TonyRL'],
handler,

View File

@ -17,9 +17,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['backlinko.com/blog', 'backlinko.com/'],
},
radar: [
{
source: ['backlinko.com/blog', 'backlinko.com/'],
},
],
name: 'Blog',
maintainers: ['TonyRL'],
handler,

View File

@ -24,9 +24,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['gushitong.baidu.com/'],
},
radar: [
{
source: ['gushitong.baidu.com/'],
},
],
name: '首页指数',
maintainers: ['CaoMeiYouRen'],
handler,

View File

@ -45,9 +45,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['tieba.baidu.com/p/:id'],
},
radar: [
{
source: ['tieba.baidu.com/p/:id'],
},
],
name: '帖子动态',
maintainers: ['u3u'],
handler,

View File

@ -16,9 +16,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['bandcamp.com/live_schedule'],
},
radar: [
{
source: ['bandcamp.com/live_schedule'],
},
],
name: 'Upcoming Live Streams',
maintainers: ['nczitzk'],
handler,

View File

@ -16,10 +16,12 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['bandcamp.com/tag/:tag'],
target: '/tag/:tag',
},
radar: [
{
source: ['bandcamp.com/tag/:tag'],
target: '/tag/:tag',
},
],
name: 'Tag',
maintainers: ['nczitzk'],
handler,

View File

@ -20,9 +20,11 @@ export const route: Route = {
supportPodcast: false,
supportScihub: false,
},
radar: {
source: ['bandcamp.com/'],
},
radar: [
{
source: ['bandcamp.com/'],
},
],
name: 'Weekly',
maintainers: ['nczitzk'],
handler,

Some files were not shown because too many files have changed in this diff Show More