BANKA2017/get-bduss

获取百度 bduss

★ 43Forks 17HTMLGitHub ↗Compare

Project website ↗

bdusstieba

README

BDUSS获取

workers 后端

在 https://workers.cloudflare.com 新建一个workers,将 workers.js 的内容复制粘贴就完成了

环境变量

变量名 默认值 格式 备注
REFERER * http://example.com/|https://example.com/ 不需要路径
ROUTER /api http://example.com/|https://example.com/path/|https://example.com/ 即触发路由的部分(建议将 设置 -> 触发器 -> 路由 列表里面的都放进去,注意要去掉正则表达式)。默认值没有后面斜杠
BANINFO uid1:sth1...,uid2:sth2,...,最简:uid1,uid2,uid3,... 禁止某些账号使用

可以取消掉 wrangler.jsonc 的键 vars 的注释来设置环境变量

Wrangler

# 本地调试
npx wrangler dev -l

# 发布
npx wrangler publish

更多配置请查看 Cloudflare 的相关文档

status 和 state

  • status 是一直沿用的数字状态码,混合了控制流程的进退/实际状态/远端返回状态
  • state 是新的状态码,表示准确的状态,后续更新以 state 为准
    • error
    • waiting
    • scanned
    • success
    • banned

php 后端

最后一个 PHP 支持的版本是 0c5ae16

示例

/index.html 是演示站 https://bduss.nest.moe 的源码,要直接使用需要修改或删除下述几项

  • api 地址,搜索 !!! DEPLOY YOUR OWN API ENDPOINT !!! 找到夹在中间的变量修改值即可,演示站后端已开访问校验,请尽量自行部署后端
    • 如果直接用 wrangler 或者通过 GitHub 部署到 workers 的可以无视

关于回调与stoken

  • 请将回调链接进行base64/base64url编码后以hash形式添加到连接到网站的链接中
  • 默认不提供stoken,如果需要请在query/hash的stoken_type中体现,至于这个stoken_type的可用值请自行寻找
  • query 和 hash 同时存在时,将合并数据,返回模式取决于 stoken_type 所处位置,两边同时存在的数据将以 query 的为准

参考格式

// query 回调带 stoken
// https://bduss.nest.moe/#/aHR0cHM6Ly9leGFtcGxlLmNvbS8/c3Rva2VuX3R5cGU9dGI=
// https://bduss.nest.moe/#/aHR0cHM6Ly9leGFtcGxlLmNvbS8_c3Rva2VuX3R5cGU9dGI
'https://bduss.nest.moe/#/' + btoa('https://example.com/?stoken_type=tb') /
// https://example.com/?stoken_type=tb&bduss=...&stoken=...

// hash 回调带 stoken
// https://bduss.nest.moe/#/aHR0cHM6Ly9leGFtcGxlLmNvbS8jL3N0b2tlbl90eXBlPXRi
'https://bduss.nest.moe/#/' + btoa('https://example.com/#/stoken_type=tb')
// https://example.com/#/stoken_type=tb&bduss=...&stoken=...

// query 回调不带 stoken
// https://bduss.nest.moe/#/aHR0cHM6Ly9leGFtcGxlLmNvbS8
'https://bduss.nest.moe/#/' + btoa('https://example.com/')
// https://example.com/?stoken_type=tb&bduss=...

其他

关于本项目原理可以参考 扫码登录百度获取BDUSS

Contributors

BANKA2017

Issues