feat(route): JavBus search (#10433)

* feat(route): JavBus search

* fix typo
This commit is contained in:
Ethan Shen
2022-08-11 00:47:01 +08:00
committed by GitHub
parent 212d37fae3
commit 7ed6b92f41
5 changed files with 167 additions and 85 deletions
+74 -30
View File
@@ -520,69 +520,113 @@ BT 之家的域名会变更,本路由以 <https://www.btbtt20.com> 为默认
JavBus 有多个备用域名,本路由默认使用永久域名 <https://javbus.com> ,若该域名无法访问,可以通过在路由最后加上 `?domain=<域名>` 指定路由访问的域名。如指定备用域名为 <https://javsee.icu>,则在所有 JavBus 路由最后加上 `?domain=javsee.icu` 即可,此时路由为 [`/javbus?domain=javsee.icu`](https://rsshub.app/javbus?domain=javsee.icu)
值得注意的是 **欧陆风云** 的域名与主域名有所不同,其备用域名亦然,本路由默认使用域名 <https://javbus.red> ,若该域名无法访问,可以通过在路由最后加上 `?western_domain=<域名>` 指定路由访问的域名。如指定备用域名为 <https://javsee.one>,则在所有 JavBus **欧陆风云** 路由最后加上 `?western_domain=javsee.one` 即可,此时路由为 [`/javbus/western?western_domain=javsee.one`](https://rsshub.app/javbus/western?western_domain=javsee.one)
值得注意的是 **欧美** 的域名与主域名有所不同,其备用域名亦然,本路由默认使用域名 <https://javbus.org> ,若该域名无法访问,可以通过在路由最后加上 `?western_domain=<域名>` 指定路由访问的域名。如指定备用域名为 <https://javsee.one>,则在所有 JavBus **欧美** 路由最后加上 `?western_domain=javsee.one` 即可,此时路由为 [`/javbus/western?western_domain=javsee.one`](https://rsshub.app/javbus/western?western_domain=javsee.one)
:::
### 首页
### 有码 - 首页
<Route author="MegrezZhu CoderTonyChan nczitzk" example="/javbus" path="/javbus"/>
### 分类
### 有码 - 分类
<Route author="MegrezZhu CoderTonyChan" example="/javbus/genre/7g" path="/javbus/genre/:gid" :paramsDesc="['分类id,详见[网站里](https://www.javbus.com/genre)的链接']" />
<Route author="MegrezZhu CoderTonyChan nczitzk" example="/javbus/genre/7g" path="/javbus/genre/:id" :paramsDesc="['分类 id,可在对应分类页 URL 中找到']">
### 演员
更多分类前往 [有碼類別 - 影片](https://www.javbus.com/genre)
<Route author="MegrezZhu CoderTonyChan" example="/javbus/star/2jv" path="/javbus/star/:sid" :paramsDesc="['演员id,详见[网站里](https://www.javbus.com/actresses)的链接']" />
</Route>
### 系列
### 有码 - 演员
<Route author="MegrezZhu CoderTonyChan Felix2yu" example="/javbus/series/44q" path="/javbus/series/:seriesid" :paramsDesc="['系列id,详见作品中系列的链接']" />
<Route author="MegrezZhu CoderTonyChan nczitzk" example="/javbus/star/2jv" path="/javbus/star/:id" :paramsDesc="['演员 id,可在对应演员页 URL 中找到']">
### 制作商
更多演员前往 [有碼女優 - 影片](https://www.javbus.com/actresses)
<Route author="MegrezZhu CoderTonyChan Felix2yu" example="/javbus/studio/ej" path="/javbus/studio/:studioid" :paramsDesc="['制作商id,详见作品右侧制作商的链接']" />
</Route>
### 发行商
### 有码 - 系列
<Route author="MegrezZhu CoderTonyChan Felix2yu" example="/javbus/label/x8" path="/javbus/label/:labelid" :paramsDesc="['发行商id,详见作品右侧发行商的链接']" />
<Route author="MegrezZhu CoderTonyChan Felix2yu nczitzk" example="/javbus/series/44q" path="/javbus/series/:id" :paramsDesc="['系列 id,可在对应系列页 URL 中找到']" />
### 导演
### 有码 - 制作商
<Route author="MegrezZhu CoderTonyChan Felix2yu" example="/javbus/director/4gv" path="/javbus/director/:directorId" :paramsDesc="['导演id,详见作品右侧导演的链接']" />
<Route author="MegrezZhu CoderTonyChan Felix2yu nczitzk" example="/javbus/studio/ej" path="/javbus/studio/:id" :paramsDesc="['制作商 id,可在对应制作商页 URL 中找到']" />
### 首页 / 步兵
### 有码 - 发行商
<Route author="MegrezZhu CoderTonyChan" example="/javbus/uncensored/home" path="/javbus/uncensored/home"/>
<Route author="MegrezZhu CoderTonyChan Felix2yu nczitzk" example="/javbus/label/x8" path="/javbus/label/:id" :paramsDesc="['发行商 id,可在对应发行商页 URL 中找到']" />
### 分类 / 步兵
### 有码 - 导演
<Route author="MegrezZhu CoderTonyChan" example="/javbus/uncensored/genre/1bc" path="/javbus/uncensored/genre/:gid" :paramsDesc="['分类id,详见[网站里](https://www.javbus.com/uncensored/genre)的链接']" />
<Route author="MegrezZhu CoderTonyChan Felix2yu nczitzk" example="/javbus/director/4gv" path="/javbus/director/:id" :paramsDesc="['导演 id,可在对应导演页 URL 中找到']" />
### 演员 / 步兵
### 有码 - 搜索
<Route author="MegrezZhu CoderTonyChan" example="/javbus/uncensored/star/b5b" path="/javbus/uncensored/star/:sid" :paramsDesc="['演员id,详见[网站里](https://www.javbus.com/uncensored/actresses)的链接']" />
<Route author="nczitzk" example="/javbus/search/REBD" path="/javbus/search/:keyword" :paramsDesc="['关键字,默认为空']" />
### 系列 / 步兵
### 无码 - 首页
<Route author="MegrezZhu CoderTonyChan Felix2yu" example="/javbus/uncensored/series/1ft" path="/javbus/uncensored/series/:seriesid" :paramsDesc="['系列id,详见作品中系列的链接']" />
<Route author="MegrezZhu CoderTonyChan nczitzk" example="/javbus/uncensored" path="/javbus/uncensored"/>
### 首页 / 欧陆风云
### 无码 - 分类
<Route author="MegrezZhu CoderTonyChan" example="/javbus/western" path="/javbus/western"/>
<Route author="MegrezZhu CoderTonyChan nczitzk" example="/javbus/uncensored/genre/1bc" path="/javbus/uncensored/genre/:id" :paramsDesc="['分类 id,可在对应分类页 URL 中找到']">
### 分类 / 欧陆风云
更多分类前往 [無碼類別 - 影片](https://www.javbus.com/uncensored/genre)
<Route author="MegrezZhu CoderTonyChan" example="/javbus/western/genre/86" path="/javbus/western/genre/:gid" :paramsDesc="['分类id,详见[网站里](https://www.javbus.work/genre)的链接']" />
</Route>
### 演员 / 欧陆风云
### 无码 - 演员
<Route author="MegrezZhu CoderTonyChan" example="/javbus/western/star/4hv" path="/javbus/western/star/:sid" :paramsDesc="['演员id,详见[网站里](https://www.javbus.work/actresses)的链接']" />
<Route author="MegrezZhu CoderTonyChan nczitzk" example="/javbus/uncensored/star/b5b" path="/javbus/uncensored/star/:id" :paramsDesc="['演员 id,可在对应演员页 URL 中找到']">
### 系列 / 欧陆风云
更多演员前往 [無碼女優 - 影片](https://www.javbus.com/uncensored/actresses)
<Route author="MegrezZhu CoderTonyChan Felix2yu" example="/javbus/western/series/20" path="/javbus/western/series/:seriesid" :paramsDesc="['系列id,详见作品中系列的链接']" />
</Route>
### 无码 - 系列
<Route author="MegrezZhu CoderTonyChan Felix2yu nczitzk" example="/javbus/uncensored/series/1ft" path="/javbus/uncensored/series/:id" :paramsDesc="['系列 id,可在对应系列页 URL 中找到']" />
### 无码 - 制作商
<Route author="MegrezZhu CoderTonyChan Felix2yu nczitzk" example="/javbus/uncensored/studio/3n" path="/javbus/uncensored/studio/:id" :paramsDesc="['制作商 id,可在对应制作商页 URL 中找到']" />
### 无码 - 搜索
<Route author="nczitzk" example="/javbus/uncensored/search/HEYZO" path="/javbus/uncensored/search/:keyword" :paramsDesc="['关键字,默认为空']" />
### 欧美 - 首页
<Route author="MegrezZhu CoderTonyChan nczitzk" example="/javbus/western" path="/javbus/western"/>
### 欧美 - 分类
<Route author="MegrezZhu CoderTonyChan nczitzk" example="/javbus/western/genre/86" path="/javbus/western/genre/:id" :paramsDesc="['分类 id,可在对应分类页 URL 中找到']">
更多分类前往 [類別 - 影片](https://www.javbus.org/genre)
</Route>
### 欧美 - 演员
<Route author="MegrezZhu CoderTonyChan nczitzk" example="/javbus/western/star/4hv" path="/javbus/western/star/:id" :paramsDesc="['演员 id,可在对应演员页 URL 中找到']">
更多演员前往 [歐美演員 - 影片](https://www.javbus.org/actresses)
</Route>
### 欧美 - 系列
<Route author="MegrezZhu CoderTonyChan Felix2yu nczitzk" example="/javbus/western/series/20" path="/javbus/western/series/:id" :paramsDesc="['系列 id,可在对应系列页 URL 中找到']" />
### 欧美 - 制作商
<Route author="nczitzk" example="/javbus/western/studio/4" path="/javbus/western/studio/:id" :paramsDesc="['制作商 id,可在对应制作商页 URL 中找到']" />
### 欧美 - 搜索
<Route author="nczitzk" example="/javbus/western/search/Brazzers" path="/javbus/western/search/:keyword" :paramsDesc="['关键字,默认为空']" />
## JavDB
+2 -1
View File
@@ -8,7 +8,7 @@ module.exports = async (ctx) => {
const isWestern = /^\/western/.test(ctx.path);
const rootUrl = `https://www.${ctx.query.domain ?? 'javbus.com'}`;
const westernUrl = `https://www.${ctx.query.western_domain ?? 'javbus.red'}`;
const westernUrl = `https://www.${ctx.query.western_domain ?? 'javbus.org'}`;
const currentUrl = `${isWestern ? westernUrl : rootUrl}${ctx.path.replace(/^\/western/, '').replace(/\/home/, '')}`;
const response = await got({
@@ -149,5 +149,6 @@ module.exports = async (ctx) => {
title: `${/^JavBus/.test(title) ? '' : 'JavBus - '}${title.replace(/ - AV磁力連結分享/, '')}`,
link: currentUrl,
item: items,
allowEmpty: true,
};
};
+15 -14
View File
@@ -1,18 +1,19 @@
module.exports = {
'/': ['MegrezZhu', 'CoderTonyChan', 'nczitzk'],
'/genre/:gid': ['MegrezZhu', 'CoderTonyChan'],
'/home': ['MegrezZhu', 'CoderTonyChan'],
'/label/:labelid': ['MegrezZhu', 'CoderTonyChan', 'Felix2yu'],
'/series/:seriesid': ['MegrezZhu', 'CoderTonyChan', 'Felix2yu'],
'/star/:sid': ['MegrezZhu', 'CoderTonyChan'],
'/studio/:studioid': ['MegrezZhu', 'CoderTonyChan', 'Felix2yu'],
'/uncensored/home': ['MegrezZhu', 'CoderTonyChan'],
'/uncensored/genre/:gid': ['MegrezZhu', 'CoderTonyChan'],
'/uncensored/series/:seriesid': ['MegrezZhu', 'CoderTonyChan', 'Felix2yu'],
'/uncensored/star/:sid': ['MegrezZhu', 'CoderTonyChan'],
'/genre/:id': ['MegrezZhu', 'CoderTonyChan', 'nczitzk'],
'/label/:id': ['MegrezZhu', 'CoderTonyChan', 'Felix2yu', 'nczitzk'],
'/series/:id': ['MegrezZhu', 'CoderTonyChan', 'Felix2yu', 'nczitzk'],
'/star/:id': ['MegrezZhu', 'CoderTonyChan', 'nczitzk'],
'/studio/:id': ['MegrezZhu', 'CoderTonyChan', 'Felix2yu', 'nczitzk'],
'/search/:keyword': ['nczitzk'],
'/uncensored': ['MegrezZhu', 'CoderTonyChan', 'nczitzk'],
'/uncensored/genre/:id': ['MegrezZhu', 'CoderTonyChan', 'nczitzk'],
'/uncensored/series/:id': ['MegrezZhu', 'CoderTonyChan', 'Felix2yu', 'nczitzk'],
'/uncensored/star/:id': ['MegrezZhu', 'CoderTonyChan', 'nczitzk'],
'/uncensored/search/:keyword': ['nczitzk'],
'/western': ['MegrezZhu', 'CoderTonyChan', 'nczitzk'],
'/western/home': ['MegrezZhu', 'CoderTonyChan'],
'/western/genre/:gid': ['MegrezZhu', 'CoderTonyChan'],
'/western/series/:seriesid': ['MegrezZhu', 'CoderTonyChan', 'Felix2yu'],
'/western/star/:sid': ['MegrezZhu', 'CoderTonyChan'],
'/western/genre/:gid': ['MegrezZhu', 'CoderTonyChan', 'nczitzk'],
'/western/series/:seriesid': ['MegrezZhu', 'CoderTonyChan', 'Felix2yu', 'nczitzk'],
'/western/star/:sid': ['MegrezZhu', 'CoderTonyChan', 'nczitzk'],
'/western/search/:keyword': ['nczitzk'],
};
+75 -39
View File
@@ -2,64 +2,88 @@ const javbus = {
_name: 'JavBus',
www: [
{
title: '首页',
title: '有码 - 首页',
docs: 'https://docs.rsshub.app/multimedia.html#javbus',
source: '/',
target: '/javbus/home',
target: '/javbus',
},
{
title: '分类',
title: '有码 - 分类',
docs: 'https://docs.rsshub.app/multimedia.html#javbus',
source: '/genre/:gid',
target: '/javbus/genre/:gid',
source: '/genre/:id',
target: '/javbus/genre/:id',
},
{
title: '演员',
title: '有码 - 演员',
docs: 'https://docs.rsshub.app/multimedia.html#javbus',
source: '/star/:sid',
target: '/javbus/star/:sid',
source: '/star/:id',
target: '/javbus/star/:id',
},
{
title: '系列',
title: '有码 - 系列',
docs: 'https://docs.rsshub.app/multimedia.html#javbus',
source: '/series/:seriesid',
target: '/javbus/series/:seriesid',
source: '/series/:id',
target: '/javbus/series/:id',
},
{
title: '制作商',
title: '有码 - 制作商',
docs: 'https://docs.rsshub.app/multimedia.html#javbus',
source: '/studio/:studioid',
target: '/javbus/studio/:studioid',
source: '/studio/:id',
target: '/javbus/studio/:id',
},
{
title: '发行商',
title: '有码 - 发行商',
docs: 'https://docs.rsshub.app/multimedia.html#javbus',
source: '/label/:labelid',
target: '/javbus/label/:labelid',
source: '/label/:id',
target: '/javbus/label/:id',
},
{
title: '首页 / 步兵',
title: '有码 - 导演',
docs: 'https://docs.rsshub.app/multimedia.html#javbus',
source: '/director/:id',
target: '/javbus/director/:id',
},
{
title: '有码 - 搜索',
docs: 'https://docs.rsshub.app/multimedia.html#javbus',
source: '/search/:keyword',
target: '/javbus/search/:keyword',
},
{
title: '无码 - 首页',
docs: 'https://docs.rsshub.app/multimedia.html#javbus',
source: '/uncensored',
target: '/javbus/uncensored/home',
target: '/javbus/uncensored',
},
{
title: '分类 / 步兵',
title: '无码 - 分类',
docs: 'https://docs.rsshub.app/multimedia.html#javbus',
source: '/uncensored/genre/:gid',
target: '/javbus/uncensored/genre/:gid',
source: '/uncensored/genre/:id',
target: '/javbus/uncensored/genre/:id',
},
{
title: '演员 / 步兵',
title: '无码 - 演员',
docs: 'https://docs.rsshub.app/multimedia.html#javbus',
source: '/uncensored/star/:sid',
target: '/javbus/uncensored/star/:sid',
source: '/uncensored/star/:id',
target: '/javbus/uncensored/star/:id',
},
{
title: '系列 / 步兵',
title: '无码 - 系列',
docs: 'https://docs.rsshub.app/multimedia.html#javbus',
source: '/uncensored/series/:seriesid',
target: '/javbus/uncensored/series/:seriesid',
source: '/uncensored/series/:id',
target: '/javbus/uncensored/series/:id',
},
{
title: '无码 - 制作商',
docs: 'https://docs.rsshub.app/multimedia.html#javbus',
source: '/uncensored/studio/:id',
target: '/javbus/uncensored/studio/:id',
},
{
title: '无码 - 搜索',
docs: 'https://docs.rsshub.app/multimedia.html#javbus',
source: '/uncensored/search/:keyword',
target: '/javbus/uncensored/search/:keyword',
},
],
};
@@ -68,28 +92,40 @@ const westernJavbus = {
_name: 'JavBus',
www: [
{
title: '首页 / 欧陆风云',
title: '欧美 - 首页',
docs: 'https://docs.rsshub.app/multimedia.html#javbus',
source: '/',
target: '/javbus/western/home',
target: '/javbus/western',
},
{
title: '分类 / 欧陆风云',
title: '欧美 - 分类',
docs: 'https://docs.rsshub.app/multimedia.html#javbus',
source: '/genre/:gid',
target: '/javbus/western/genre/:gid',
source: '/genre/:id',
target: '/javbus/western/genre/:id',
},
{
title: '演员 / 欧陆风云',
title: '欧美 - 演员',
docs: 'https://docs.rsshub.app/multimedia.html#javbus',
source: '/star/:sid',
target: '/javbus/western/star/:sid',
source: '/star/:id',
target: '/javbus/western/star/:id',
},
{
title: '系列 / 欧陆风云',
title: '欧美 - 系列',
docs: 'https://docs.rsshub.app/multimedia.html#javbus',
source: '/series/:seriesid',
target: '/javbus/western/series/:seriesid',
source: '/series/:id',
target: '/javbus/western/series/:id',
},
{
title: '欧美 - 制作商',
docs: 'https://docs.rsshub.app/multimedia.html#javbus',
source: '/studio/:id',
target: '/javbus/western/studio/:id',
},
{
title: '欧美 - 搜索',
docs: 'https://docs.rsshub.app/multimedia.html#javbus',
source: '/search/:keyword',
target: '/javbus/western/search/:keyword',
},
],
};
+1 -1
View File
@@ -1,3 +1,3 @@
module.exports = (router) => {
router.get(/([\w\d/-]+)?/, require('./index'));
router.get(/([\w/-]+)?/, require('./index'));
};