LussacZheng / dandanplay-resource-service

弹弹play 资源搜索节点 API 实现,基于 Cloudflare Workers, Deno Deploy, Golang 或 Rust 的四种实现。 || API implementations for "dandanplay" resource search service.
Apache License 2.0
73 stars 22 forks source link
anime-search api api-service cloudflare-workers dandanplay deno-deploy golang rust typescript

dandanplay-resource-service

cfw-impl deno-impl go-impl rust-impl

GitHub release GitHub All Releases jsDelivr hits

API implementations for "dandanplay" resource search service.
弹弹play 资源搜索节点的 API 实现。

提供分别基于 Cloudflare Workers, Deno Deploy, GolangRust 的四种实现。

特性


Cloudflare Workers

注册一个 Cloudflare 免费账户即可部署,无需 远程服务器 或 常驻任何本地程序

  • 可在搜索引擎中搜索 "Cloudflare Workers部署教程" ,参照进行。
  • 由于暂未实现 缓存机制 ,且 Cloudflare Workers 免费版账户有每日 100,000 的请求次数限制,目前暂不提供演示站点。可以自行部署体验。

复制 worker.js 内容到 workers.dev 脚本编辑页面 中,部署即可。

Deno Deploy

使用 GitHub 账户登录注册 Deno Deploy 即可部署,无需 远程服务器 或 常驻任何本地程序

  • "New Project" -> "Play" -> "Playground" -> Paste code -> "Save & Deploy"
  • 由于 Deno Deploy 目前仍为 Beta 平台,风险和稳定性未知,且免费版账户有每日 100,000 的请求次数限制,目前暂不提供演示站点。可以自行部署体验。

复制 playground.js 内容到 Deno Playground 脚本编辑页面 中,部署即可。

Golang

Releases 页面 下载预编译的可执行文件到 本地 或 服务器 ,(重命名后)运行即可。

# 详细说明另见 `golang` 文件夹
$ dandanplay-resource-service -h

# 无参数,默认运行在 localhost:8080
$ dandanplay-resource-service

# 自定义端口 和 代理地址(可省略 "http://")
$ dandanplay-resource-service -P 9000 -x 127.0.0.1:10809

# 运行在 34543 端口并暴露服务到公网
$ dandanplay-resource-service -H 0.0.0.0 -P 34543

Rust

目前 Rust 版的功能、使用方法与 Golang 版基本一致,主要差异如下表所示。

比较项目 Rust Golang
可执行文件大小 ✔️
内存占用 ✔️
静态编译 ✔️ ✔️
编译速度 ✔️
交叉编译 ✔️

开发

了解如何在本地或服务器运行,或开发相关,详见各自实现所在的文件夹。

相关项目

参考资料

  1. API Specification - 弹弹play资源搜索节点API规范
  2. 关于“资源搜索”功能即将下线的通知
  3. 资源搜索相关问题的解答

TODO

Contributing

Issues, pull requests, and discussions are always welcome.

License

This project is licensed under the Apache-2.0 License.