DeepLX Serverless是一个基于DeepL网页版且无需(账号)令牌的轻量化NodeJS项目,完全使用JavaScript编写代码,这意味着您无需重新编译或打包,只需要安装依赖包即可开始运行!
本项目正在尝试支持大多数平台及运行时,目前已通过重构迁移到Hono框架实现这一点,这让我们省了很多事。
过去的代码过于依赖 Node 运行时,这样的代码想要在譬如 Cloudflare Workers 中运行是很困难的,同时由于为了追求轻量化,近期的版本正在逐步移除依赖项改用原生的 Web 标准 API,Hono框架更是助力了这一想法。
借助Hono这个强大的框架,我们的代码得以运行在全平台,因此您无需局限于单一运行时。
不过为了部署即启动,还需要做许多的适配工作,虽然已经可以全平台运行了,但目前我们只支持/测试了 Node/Bun/Deno
- JavaScript Runtimes (E.g.
Node/Bun/Deno/...) - (可选) 拥有Vercel的账号
git clone https://github.com/guobao2333/DeepLX-Serverless
cd DeepLX-Serverless| 平台 | 安装 | 运行 |
|---|---|---|
| Node | npm install |
npm run start |
| Bun | bun install |
bun run start |
| Deno | - | deno task start |
配置可编辑.env或者提供启动参数来修改。
🐳预构建:
docker run -d -p 6119:6119 ghcr.io/guobao2333/deeplx-serverless自行构建:
docker build -t deeplxs .
docker run -d -p 6119:6119 deeplxsImportant
启动参数会覆盖.env
有时你可能想在启动服务时添加参数。
比如使用-c参数来允许所有跨域请求:
npm run start -- -c或者换个端口号:
npm run start -- -p6666Note
💡使用-h选项获取所有参数。
- 详细调用参数请查看项目Wiki。
curl -X POST 'http://localhost:6119/translate' -H 'Content-Type: application/json' -d '{"text": "你好,世界!", "source_lang": "zh", "target_lang": "en"}'运行npm test来测试翻译接口。还可以集成到你的项目中来使用DeepL翻译服务。
translate.js是独立模块,其不依赖server.js工作。
简单的示例:
import { translate } from './src/translate.js';
translate('how are you?', 'en', 'zh', false)
.then(result => console.log(result))
.catch(err => console.error(err));- 获取
main分支的代码 - 提交你的更改并描述提交内容
- 创建一个
Pull Requests
如果你是第一次贡献,那么请查看《如何为开源做贡献》
它们是本项目的根本,没有它们就没有本项目。
本项目并非DeepL官方产品,亦与其无任何从属关系。
请勿依赖本项目,由于基于DeepL网页版开发,因接口及协议变动可能导致随时罢工。如果您有大量内容需要翻译,请使用DeepL官方翻译API,DeepLXS始终受到DeepL网页版政策限制。