Skip to content

Commit e4b763a

Browse files
authored
Revert "为bilibili支持解析服务器 实现港澳台搜索 (App/Web双模) (huangxd-#129)" (huangxd-#131)
This reverts commit 7626347.
1 parent a7392ee commit e4b763a

File tree

6 files changed

+98
-468
lines changed

6 files changed

+98
-468
lines changed

README.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ API 支持返回 Bilibili 标准 XML 格式的弹幕数据,通过查询参数
371371
| VOD_SERVERS | 【可选】VOD服务器列表,支持多个服务器并发查询,格式:`名称@URL,名称@URL,...`,示例:`金蝉@https://zy.jinchancaiji.com,789@https://www.caiji.cyou,听风@https://gctf.tfdh.top`,不填默认为`金蝉@https://zy.jinchancaiji.com,789@https://www.caiji.cyou,听风@https://gctf.tfdh.top` |
372372
| VOD_RETURN_MODE | 【可选】VOD返回模式,可选值:`all`(返回所有站点结果)、`fastest`(只返回最快的站点结果),默认为`fastest`。当配置多个VOD站点时,`all`模式会返回所有站点的结果(结果较多),`fastest`模式只返回首先响应成功的站点结果(结果较少,避免重复) |
373373
| VOD_REQUEST_TIMEOUT | 【可选】VOD服务器单个请求超时时间(毫秒),防止慢速或失效的采集站阻塞搜索,默认为`10000`(10秒),建议值:`5000-15000`。由于`fastest`模式只返回最快响应的站点,可以设置较大的超时时间给慢速站点更多机会 |
374-
| BILIBILI_COOKIE | 【可选】b站cookie(填入后能抓取完整弹幕和启用港澳台App接口),如 `buvid3=E2BCA ... eao6; theme-avatar-tip-show=SHOWED`,请自行通过浏览器或抓包工具抓取,热心网友测试后,弹幕获取实际最少只需取 `SESSDATA=xxxx` 字段,但如果需要使用港澳台区域稳定的App搜索接口还需要`bili_jct=xxxx`或`access_key=xxxx` 字段 |
374+
| BILIBILI_COOKIE | 【可选】b站cookie(填入后能抓取完整弹幕),如 `buvid3=E2BCA ... eao6; theme-avatar-tip-show=SHOWED`,请自行通过浏览器或抓包工具抓取,热心网友测试后,实际最少只需取 `SESSDATA=xxxx` 字段 |
375375
| YOUKU_CONCURRENCY | 【可选】youku弹幕请求并发数,用于加快youku弹幕请求速度,不填默认为`8`,最高`16` |
376376
| SOURCE_ORDER | 【可选】源排序,用于按源对返回资源的排序(注意:先后顺序会影响自动匹配最终的返回),默认是`360,vod,renren,hanjutv`,表示360数据排在最前,hanjutv数据排在最后,示例:`360,renren`:只返回360数据和renren数据,且360数据靠前;当前可选择的源字段有 `360,vod,tmdb,douban,tencent,youku,iqiyi,imgo,bilibili,sohu,renren,hanjutv,bahamut,dandan,custom` |
377377
| PLATFORM_ORDER | 【可选】自动匹配优选平台,按顺序优先返回指定平台弹幕,默认为空,即返回第一个满足条件的平台,示例:`bilibili1,qq`,表示如果有b站的播放源,则优先返回b站的弹幕,否则就返回腾讯的弹幕,两者都没有,则返回第一个满足条件的平台;当前可选择的平台字段有 `qiyi, bilibili1, imgo, youku, qq, sohu, renren, hanjutv, bahamut, dandan, custom` |
@@ -387,7 +387,7 @@ API 支持返回 Bilibili 标准 XML 格式的弹幕数据,通过查询参数
387387
| CONVERT_COLOR | 【可选】弹幕转换颜色配置,默认为`default`(不转换),`white` 将所有非白色的弹幕颜色转换为纯白色,`color` 将所有白色弹幕转换为随机颜色(包含白色),可选值:`default`、`white`、`color` |
388388
| DANMU_OUTPUT_FORMAT | 【可选】弹幕输出格式,默认为`json`,可选值:`json`(JSON格式)、`xml`(XML格式),支持通过查询参数`?format=xml`或`?format=json`覆盖此设置,优先级:查询参数 > 环境变量 > 默认值 |
389389
| DANMU_SIMPLIFIED | 【可选】是否将繁体弹幕转换为简体,目前只对巴哈姆特生效,默认为`true`(转换),可选值:`false`(不转换) |
390-
| PROXY_URL | 【可选】代理/反代地址,目前只对巴哈姆特、TMDB API、bilibili生效,支持格式:<br> 正常代理:`http://127.0.0.1:7890` <br> 万能反代:`@http://127.0.0.1` <br> 特定反代:`源字段@http://127.0.0.1`,目前支持的字段有:`bahamut,tmdb,bilibili`(bilibili字段会启用阿b的港澳台番剧的搜索与获取)<br> 混合配置/示例:`http://你的代理地址:28233,bahamut@你的巴哈反代地址,tmdb@你的tmdb反代地址,@你的万能反代地址` <br> 优先级:特定反代 > 万能反代 > 正常代理,高优先级覆盖低优先级使用。 <br> (注意:如果巴哈姆特请求不通,会拖慢搜索返回速度,如需使用bahamut源请在SOURCE_ORDER环境变量中手动添加`bahamut`)如果你使用docker部署并且访问不了bahamut源,请配置代理地址或者反代([Netlify反代教程](https://github.com/wan0ge/bahamut-api-proxy));vercel/netlify/cf中理应都自然能联通,不用填写 |
390+
| PROXY_URL | 【可选】代理/反代地址,目前只对巴哈姆特和TMDB API生效,支持格式:<br>`http://127.0.0.1:7890`(正常代理)<br>`@http://127.0.0.1`(万能反代)<br> `bahamut@http://127.0.0.1` 或 `tmdb@http://127.0.0.1`(特定反代)<br> `http://你的代理地址:28233,bahamut@你的巴哈反代地址,tmdb@你的tmdb反代地址,@你的万能反代地址`(混合配置) <br> 优先级:特定反代 > 万能反代 > 正常代理,高优先级覆盖低优先级使用。 <br> (注意:如果巴哈姆特请求不通,会拖慢搜索返回速度,如需使用bahamut源请在SOURCE_ORDER环境变量中手动添加`bahamut`)如果你使用docker部署并且访问不了bahamut源,请配置代理地址或者反代([Netlify反代教程](https://github.com/wan0ge/bahamut-api-proxy));vercel/netlify/cf中理应都自然能联通,不用填写 |
391391
| TMDB_API_KEY | 【可选】TMDB API Key地址,目前只对巴哈姆特生效,配置后并行从TMDB获取日语原名搜索巴哈(如果TMDB条目类型不是动画或制作地区不是jp则不会进行巴哈搜索)可以解决巴哈译名不同导致的搜索无结果问题,例如大陆常用译名`间谍过家家`在巴哈译名为`間諜家家酒`,正常搜索无法搜索到,配置后可以解决这一问题但会稍微影响请求速度,[TMDBAPI](https://www.themoviedb.org/settings/api)获取方法参考:[TMDB API Key申请 - 绿联NAS私有云](https://www.ugnas.com/tutorial-detail/id-226.html) |
392392
| RATE_LIMIT_MAX_REQUESTS | 【可选】限流配置:1分钟内同一IP最大请求次数,默认为`3`,设置为`0`表示不限流 |
393393
| LOG_LEVEL | 【可选】日志级别,默认为`info`,可选值:`error`(仅错误)、`warn`(错误和警告)、`info`(所有日志),生产环境建议使用`warn`,调试时使用`info` |
@@ -567,7 +567,6 @@ API 支持返回 Bilibili 标准 XML 格式的弹幕数据,通过查询参数
567567
- cloudflare貌似有单次请求数量限制,会导致后半部分没有弹幕。
568568
- 如果想更换兜底第三方弹幕服务器,请添加环境变量`OTHER_SERVER`,示例`https://api.danmu.icu`。
569569
- 如果想使用自定义弹幕源,请添加环境变量`CUSTOM_SOURCE_API_URL`,并在`SOURCE_ORDER`环境变量中添加`custom`源。
570-
- 如果想启用bilibili港澳台番剧弹幕源,请添加环境变量`PROXY_URL`并填写`bilibili@`字段的解析/反代服务地址,示例:`bilibili@https://233.233.233`,支持部分[公共解析服务器](https://github.com/yujincheng08/BiliRoaming/wiki/%E5%85%AC%E5%85%B1%E8%A7%A3%E6%9E%90%E6%9C%8D%E5%8A%A1%E5%99%A8),另外港澳台区域搜索最好在`BILIBILI_COOKIE`环境变量中加入包含`bili_jct`或`access_key`字段的cookie使用App接口,如果没有会使用不稳定的web接口进行搜索。(如果你填写的服务器遇到了App接口报错说明不支持App接口,Web接口报错-500、502正常,风控严重,但只要一直搜索总会成功)
571570
- 如果想更换vod站点,请添加环境变量`VOD_SERVERS`,示例`金蝉@https://zy.jinchancaiji.com,789@https://www.caiji.cyou,听风@https://gctf.tfdh.top`(支持多个服务器并发查询)。
572571
- 当配置多个VOD站点时,可通过`VOD_RETURN_MODE`环境变量控制返回结果方式:`all`(返回所有站点结果)或`fastest`(默认,只返回最快的站点结果,避免结果过多)。
573572
- 推荐vercel/netlify部署,cloudflare/edgeone/claw不稳定,当然最稳定还是自己本地docker部署最佳。

config/.env.example

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -199,10 +199,7 @@ STRICT_TITLE_MATCH=false
199199
# - 设置为万能反代为 @http://proxy-server:port 或 @https://proxy-server
200200
# - 设置为巴哈反代为 bahamut@http://proxy-server:port 或 bahamut@https://proxy-server
201201
# - 设置为TMDB反代为 tmdb@http://proxy-server:port 或 tmdb@https://proxy-server
202-
# - 设置为bilibili反代为 bilibili@http://proxy-server:port 或 bilibili@https://proxy-server
203-
# 说明:目前只对巴哈姆特、TMDB API、bilibili生效
204-
# 如果使用 Docker 部署并且访问不了 bahamut 源或 TMDB API ,请配置代理/反代地址
205-
# 如果想启用B站港澳台番剧的弹幕搜索与获取请配置代理/反代/解析服务器地址
202+
# 说明:目前只对巴哈姆特和TMDB API生效,如果使用 Docker 部署并且访问不了 bahamut 源或 TMDB API ,请配置代理/反代地址
206203
# 反代教程参考:https://github.com/wan0ge/bahamut-api-proxy
207204
# PROXY_URL=
208205

config/config.yaml.example

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -191,14 +191,9 @@ STRICT_TITLE_MATCH: false
191191
# 代理/反代地址(用于访问受限资源)
192192
# 默认值:空(不使用代理/反代)
193193
# 格式:
194-
# - 设置为代理为 http://proxy-server:port 或 https://proxy-server:port
195-
# - 设置为万能反代为 @http://proxy-server:port 或 @https://proxy-server
196-
# - 设置为巴哈反代为 bahamut@http://proxy-server:port 或 bahamut@https://proxy-server
197-
# - 设置为TMDB反代为 tmdb@http://proxy-server:port 或 tmdb@https://proxy-server
198-
# - 设置为bilibili反代为 bilibili@http://proxy-server:port 或 bilibili@https://proxy-server
199-
# 说明:目前只对巴哈姆特、TMDB API、bilibili生效
200-
# 如果使用 Docker 部署并且访问不了 bahamut 源或 TMDB API ,请配置代理/反代地址
201-
# 如果想启用B站港澳台番剧的弹幕搜索与获取请配置代理/反代/解析服务器地址
194+
# - 设置为代理为 http://proxy-server:port 或 https://proxy-server:port
195+
# - 设置为反代为 RP@http://proxy-server:port 或 RP@https://proxy-server
196+
# 说明:目前只对巴哈姆特生效,如果使用 Docker 部署并且访问不了 bahamut 源,请配置代理/反代地址
202197
# 反代教程参考:https://github.com/wan0ge/bahamut-api-proxy
203198
# PROXY_URL: ""
204199

danmu_api/server.js

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -419,7 +419,6 @@ function createProxyServer() {
419419
let forwardProxy = null; // 正向代理(传统代理)
420420
let bahamutRP = null; // 巴哈姆特专用反代
421421
let tmdbRP = null; // TMDB专用反代
422-
let bilibiliRP = null; // Bilibili专用反代
423422
let universalRP = null; // 万能反代
424423

425424
if (proxyConfig) {
@@ -435,10 +434,6 @@ function createProxyServer() {
435434
// TMDB专用反代:tmdb@http://example.com
436435
tmdbRP = config.substring(5).trim().replace(/\/+$/, '');
437436
console.log('[Proxy Server] TMDB reverse proxy detected:', tmdbRP);
438-
} else if (config.startsWith('bilibili@')) {
439-
// Bilibili专用反代:bilibili@http://example.com
440-
bilibiliRP = config.substring(9).trim().replace(/\/+$/, '');
441-
console.log('[Proxy Server] Bilibili reverse proxy detected:', bilibiliRP);
442437
} else if (config.startsWith('@')) {
443438
// 万能反代:@http://example.com
444439
universalRP = config.substring(1).trim().replace(/\/+$/, '');
@@ -479,12 +474,7 @@ function createProxyServer() {
479474
finalReverseProxy = tmdbRP;
480475
console.log('[Proxy Server] Using TMDB-specific reverse proxy');
481476
}
482-
// 3. 检查是否匹配Bilibili专用反代
483-
else if (bilibiliRP && originalUrlObj.hostname.includes('bilibili.com')) {
484-
finalReverseProxy = bilibiliRP;
485-
console.log('[Proxy Server] Using Bilibili-specific reverse proxy');
486-
}
487-
// 4. 检查万能反代
477+
// 3. 检查万能反代
488478
else if (universalRP) {
489479
finalReverseProxy = universalRP;
490480
console.log('[Proxy Server] Using universal reverse proxy');
@@ -537,16 +527,6 @@ function createProxyServer() {
537527
proxyRes.pipe(res, { end: true });
538528
});
539529

540-
// 监听客户端连接断开
541-
// 当 bilibili.js 触发 abort() 时,这里的 req 会触发 'close'
542-
// 必须立即掐断 proxyReq,防止后台继续下载垃圾数据造成堵塞
543-
req.on('close', () => {
544-
if (!res.writableEnded) {
545-
console.log('[Proxy Server] Client disconnected prematurely. Destroying upstream request.');
546-
proxyReq.destroy();
547-
}
548-
});
549-
550530
proxyReq.on('error', (err) => {
551531
console.error('Proxy request error:', err);
552532
res.statusCode = 500;

0 commit comments

Comments
 (0)