本服务部署在Vercel香港节点上,同时支持Next.js本地部署。
配置修改在 src/_config.ts
中,可以直接改里面的配置文本,也可在Vercel里添加对应名称变量。
使用环境变量更安全。
新版会修复一些多余请求、API失效问题。
- 支持软件:BiliRoaming、油猴脚本、哔哩(Bili.uwp)、BBDown(请包含以下cookies:
access_key
(手机客户端accesskey,可使用WEB端漫游脚本获取)以解决未登录报错) - 支持仅Cookies生成Access_key
- 尝试解除下载速度限制(方法见BiliRoaming)
- 代理HK地区番剧(目前Vercel仅提供
hkg1
节点) - 搜索替换(配置中fs开头配置)
- 自部署黑/白名单(使用NOTION/PostgreSQL作数据库)
请看完整篇README文档再动手。
请务必开启黑名单功能,建议同步公共黑名单!!!
请配置Postgresql数据库以减少B站API请求,防止Vercel IP过多请求被禁。
查看Wiki:
配置文档填写说明
注:每个服务只可代理一个地区,若需代理多个地区,请再部署一个相同的服务修改配置。
查寻本地缓存和日志请访问https://{yourDomain}/api/admin/log?s=${配置填写的secret}
清理本地缓存和日志请访问https://{yourDomain}/api/admin/clean?s=${配置填写的secret}
注: 本地缓存和日志在Vercel Serverless环境里无法长期存储,你可以查看Vercel自带的函数日志。
先Fork到自己的仓库,再修改自己仓库里src/_config.ts
,
修改vercel.json
的regions
:若需代理hk香港地区,则填写hkg1
(默认)。
注册Vercel,导入本项目,在设置中配置 域名和环境变量。
若需使用Vercel Storage的Postgresql数据库,请连接至此项目;或使用其它pg数据库。重部署后访问https://{yourDomain}/api/admin/init?s=${配置填写的secret}
,并检查数据库是否已有blacklist
cache
log
三个表。
Tips: 环境变量设置后需下一次部署才可启用,故推荐导入时提前设置。
登录想要代理区域的服务器后台。
找到一个合适的文件夹,clone本仓库并进入。
git clone https://github.com/bili-vd-bak/biliroaming-ts-server-vercel.git --depth 1
cd biliroaming-ts-server-vercel
安装依赖(使用你想要的包管理器,推荐pnpm)。
pnpm i
修改src/_config.ts
。
(可以在package.json
中修改"start": "next start -p $PORT"
以设置端口)
执行pnpm run start
。
使用nginx等反向代理此接口,配置SSL。
参考Vercel的部署,你可以将此项目部署至任何支持Next.js的Serverless服务商。
由于细节差异,不保证在其它平台上的可用性,请自行调整,也欢迎PR。
- Vercel无法本地缓存,故自带缓存功能仅在本地部署时有效。
- 使用
pnpm dev
开发时,所有搜索API内req.url
会错误获取next.config.mjs
中rewrites
后的函数路径,导致错误。(pnpm build
产物正常)(错误由nextjs框架导致) - 暂未查明cookies(
DedeUserID
bili_jct
buvid3
buvid4
)的作用,故目前强制要求以防止风控
进入你Fork的仓库,点击代码区域上面的提示Sync fork
,点击下面的Update branch
,即可自动升级。
若只有Discard n commit(s)
,则需重新部署,或创建新合并,手动修改。
当升级大版本号时,由于破坏性更改,尽量重新部署,根据Releases说明操作。
- Vercel Storage 的 Redis KV支持
- pg管理数据库(管理黑白名单、查看日志)接口
- [Done]修复番剧屏蔽(理论有效)
- [alpha]grpc-api请求(见
grpc
分支) - [BETA]Vercel支持新加坡节点,可以为东南亚地区解锁。(然后就被风控用不了了)
- [BETA]Edge函数版(见
cfp
分支) - [BETA]CloudFlare支持(见
cfp
分支)
- IP信息:
/api/server_info
- 查询黑名单:
/api/users/1
- 搜索:
/x/web-interface/search/type?search_type=media_bangumi&keyword=86
- 搜索(无法测试):
/x/v2/search/type
- 番剧详情:
/pgc/view/web/season?season_id=3375
- 番剧详情(无法测试):
/pgc/view/v2/app/season
- 获取playurl:
/pgc/player/web/playurl?cid=3629601
- 获取playurl(无法测试):
/pgc/player/api/playurl
- 所有intlAPI(暂未启用)
- Next.js
- @neondatabase/serverless
- ts-md5
- qs
- @beetcb/sstore
- pino