API implementations for "dandanplay" resource search service.
弹弹play 资源搜索节点的 API 实现。
提供分别基于 Cloudflare Workers, Deno Deploy, Golang 和 Rust 的四种实现。
- Serverless 优先,也支持在本地或服务器运行
- 支持 搜索指令 :
$realtime
,$page
,$limit
- 部署或运行后,访问根路径可以看到简易的测试页面
注册一个 Cloudflare 免费账户即可部署,无需 远程服务器 或 常驻任何本地程序 。
- 可在搜索引擎中搜索 "
Cloudflare Workers部署教程
" ,参照进行。- 由于暂未实现 缓存机制 ,且 Cloudflare Workers 免费版账户有每日 100,000 的请求次数限制,目前暂不提供演示站点。可以自行部署体验。
复制 worker.js
内容到 workers.dev 脚本编辑页面 中,部署即可。
使用 GitHub 账户登录注册 Deno Deploy 即可部署,无需 远程服务器 或 常驻任何本地程序 。
复制 playground.js
内容到 Deno Playground 脚本编辑页面 中,部署即可。
从 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 版的功能、使用方法与 Golang 版基本一致,主要差异如下表所示。
比较项目 | Rust | Golang |
---|---|---|
可执行文件大小 | ✔️ | |
内存占用 | ✔️ | |
静态编译 | ✔️ | ✔️ |
编译速度 | ✔️ | |
交叉编译 | ✔️ |
了解如何在本地或服务器运行,或开发相关,详见各自实现所在的文件夹。
- TypeScript (Cloudflare Workers, Deno Deploy)
- Golang
- Rust
- API Specification - 弹弹play资源搜索节点API规范
- 关于“资源搜索”功能即将下线的通知
- 资源搜索相关问题的解答
- 添加 Dockerfile
- 引入缓存机制
Issues, pull requests, and discussions are always welcome.
This project is licensed under the Apache-2.0 License.