From c16deb61b232950d2f8eb06596b9b6f15aceb622 Mon Sep 17 00:00:00 2001 From: guobao2333 Date: Fri, 13 Sep 2024 19:21:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=EF=BC=9A=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E5=A4=A7=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 85 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 44 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index 9eed4cb..0e4311d 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,23 @@ # DeepLX Serverless +[本项目](https://github.com/guobao2333/DeepLX-Serverless)是一个基于 DeepL翻译API 的无服务器函数部署项目,旨在提供一个可直接对接的免费翻译解决方案,很适合需要在无服务器环境中集成DeepL翻译服务的开发者使用。 -DeepLX 免费翻译API**函数部署版**,与原项目[DeepLX](https://github.com/OwO-Network/DeepLX)的区别在于**利用了无服务器函数(也叫边缘函数)请求IP不固定的特性,极大程度上避免了`Error 429`请求太频繁** +与原项目[DeepLX](https://github.com/OwO-Network/DeepLX)的区别在于**利用了无服务器函数(边缘函数)请求IP不固定的特性**,有效避免了`Error 429`请求太频繁的报错(不过嘛凡事总有例外¯\_(ツ)_/¯) + +虽然因此不会立马被暂时封禁,但也请不要滥用!目前我部署在vercel上会有流量限制,如果您有大量内容需要翻译,请购买DeepL的付费版,当前项目使用的free接口会受到DeepL政策限制 +由于目前项目未对pro接口进行适配,所以现在还只能使用free接口,不过在将来会完善,敬请期待~ („• ֊ •„)੭ **如果本项目对你有用的话,不妨点个`Star`❤️** **Click `Star` if you like!! thanks❤️** -## Major Changes | 重大改变 - -如果您在这之前不使用本项目,此部分可以跳过。 -1. 新增了docker部署支持 -2. 请求参数变化: `alternative_number` -> `alt_count` -3. 许可证变化: `MIT` -> `AGPLv3` - -## Let's Go | 开始使用 -### Prerequisites | 你需要准备什么 +# Let's Go | 开始使用 +## Prerequisites | 你需要准备什么 -- 一双灵活的小手 -- 一个聪明的小脑袋瓜 -- 支持 `Nodejs ≥16.13` 或 `Docker` 或 `Serverless Function` 的服务器 -- (可选) 拥有[Vercel](https://vercel.com)账号 +- 一双灵活的小手🙌🏻 +- 一个聪明的小脑袋瓜🧠 +- 支持 `Nodejs ≥16.13` 或 `Docker` 或 `Serverless Function` 的服务器💻 +- (可选) 拥有[Vercel](https://vercel.com)或[Netlify](https://netlify.com)的账号 -### Deploy | 部署 +## Deploy | 部署 使用任意支持无服务器函数部署的服务器,比如可以使用 `Vercel` 或者 `Netlify` 进行部署,又或者其他能够使用nodejs的服务器。(大多数服务器提供商都提供函数计算服务器) @@ -28,29 +25,33 @@ DeepLX 免费翻译API**函数部署版**,与原项目[DeepLX](https://github. [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/guobao2333/DeepLX-Serverless) -你也可以在[Netlify](https://netlify.com)上一键部署本项目: +或者你拥有[Netlify](https://netlify.com)账号的话,也可以一键部署到Netlify: [![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/guobao2333/DeepLX-Serverless) -因维护者我有多个仓库需要维护,短时间内将无法对多平台部署方案进行兼容,您可以先打开一个`issues`并选择**自托管**方案。 +因维护者我有多个仓库需要维护,短时间内将无法对多平台部署方案进行兼容,您可以打开一个`issues📌`或打开一个`Pull Request📎`贡献您的代码。 ✨项目当前没有任何需要填写的变量值,但在后续可能会添加。 -#### Docker | 容器部署 +> [!IMPORTANT] +> 如果您需要跨域访问,请在`server.js`中配置`CORS` +> Vercel这类平台支持更便捷的方式配置,详请查阅其平台文档。 + +### Docker | 容器部署 -直接运行预构建容器: +🐳直接运行预构建容器: ```bash docker run -d -p 9000:9000 ghcr.io/guobao2333/deeplx-serverless ``` -你还可以自己构建后运行: +🚧你还可以自己构建后运行: ```bash -docker build -t deeplx-serverless . -docker run -d -p 9000:9000 deeplx-serverless +docker build -t DeepLXS . +docker run -d -p 9000:9000 DeepLXS ``` -#### Self hosting | 源码部署 +### Self hosting | 源码部署 -✅尽管本项目是专为 serverless 适配的方案,但是也能使用自己的服务器直接部署源码: +✅尽管本项目是专为 serverless 适配的方案,但是也能使用自己的服务器进行部署: ```bash git clone https://github.com/guobao2333/DeepLX-Serverless cd DeepLX-Serverless @@ -63,15 +64,17 @@ npm run start git clone https://github.com/guobao2333/DeepLX-Serverless && cd DeepLX-Serverless && npm i && npm run start ``` -🚧你可以运行`npm run test`用来测试翻译接口。 +🛠️你可以运行`npm run test`用来测试翻译接口。 ⚠️注意!测试命令仅返回翻译内容,获取所有结果需要使用`POST`! 如果部署完成了,就可以开始使用啦!🎉 -### How To Use | 如何使用 +## How To Use | 如何使用 +> [!IMPORTANT] +> 请求时视部署服务的地区而定,可能会存在返回速度不一的情况,在中国地区可能会出现完全无法访问的情况,届时请尝试更换部署服务的地区,或让您部署的服务能够正常向DeepL发送请求即可。 -使用post通过 `域名地址` + `/translate` + `json请求体` 这样的形式获取json响应。 +📡使用post通过 `域名地址` + `/translate` + `json请求体` 这样的形式获取json响应。 -详细API文档,请查看本项目的wiki: +❔详细API文档,请查看本项目的wiki: [English](https://github.com/guobao2333/DeepLX-Serverless/wiki/API-Parameters) | [简体中文](https://github.com/guobao2333/DeepLX-Serverless/wiki/API-%E5%8F%82%E6%95%B0) 📋你可以直接复制到命令行运行**本地测试:** @@ -81,7 +84,7 @@ curl --location --request POST 'http://localhost:9000/translate' --header 'Conte ✨部署完成后,建议搭配浏览器插件「沉浸式翻译」一同使用。 -## Use On Browser Plugin | 沉浸式翻译设置 +# Use In Browser Extension Plugin | 在沉浸式翻译中使用 1. 在浏览器上安装最新的 [沉浸式翻译](https://github.com/immersive-translate/immersive-translate/releases)。 2. 点击左下角的 "开发者设置"。启用测试版实验功能。 @@ -90,18 +93,18 @@ curl --location --request POST 'http://localhost:9000/translate' --header 'Conte ![沉浸式翻译](https://github.com/LegendLeo/deeplx-serverless/assets/25115173/d3affe2b-9e99-4d5c-bc8c-cd67e70d0368) -## Contribute | 贡献 +# Contribute | 贡献 > [!IMPORTANT] -> 在您做出贡献之前请先阅读理解并遵守以下内容: -1. 先切换到`dev`分支,并同步最新代码。 -2. 需要进行完整测试后才可在`main`分支打开拉取请求。 +> **在您做出贡献之前请先阅读理解并遵守以下内容:** +1. 先切换到`dev`分支,同步最新代码。 +2. 如果在贡献时对贡献规范有疑惑,请打开一个`issues` 3. 不要对**相同代码**进行多次拉取请求!! -本人因时间(和各种各样的)原因,故无法及时对您的贡献进行测试,所以您还需要**自行测试**。 +本人因时间(和各种各样的)原因,故无法及时对您的贡献进行测试,所以您可能还需要**自行测试**。 -如果你是第一次贡献,并且真的想贡献点什么,那么请查看[如何为开源做贡献](https://opensource.guide/how-to-contribute/),不过我喜欢叫它「开源贡献指南」,那里有你需要知道的一切。 +如果你是第一次贡献,并且真的想贡献点什么,那么请查看[《如何为开源做贡献》](https://opensource.guide/how-to-contribute/),不过我喜欢叫它「开源贡献指南」,那里有你需要知道的一切。 -## Star History +# Star History @@ -111,8 +114,8 @@ curl --location --request POST 'http://localhost:9000/translate' --header 'Conte -## License | 许可证 -本项目遵循[GNU/AGPL-3.0 许可证](./LICENSE)的条款发布。 +# License | 开源许可 +本项目遵循[GNU/AGPLv3 许可证](./LICENSE)的条款发布。 DeepL free translate API for Serverless Copyright (C) 2024 shiguobaona @@ -130,8 +133,8 @@ curl --location --request POST 'http://localhost:9000/translate' --header 'Conte You should have received a copy of the GNU Affero General Public License along with this program. If not, see . -## Acknowledgments | 鸣谢 +# Acknowledgments | 鸣谢 -1. [OwO-Network/DeepLX](https://github.com/OwO-Network/DeepLX) - 一切的开始 -2. [LegendLeo/deeplx-serverless](https://github.com/LegendLeo/deeplx-serverless) - 本项目的重构前项目 +1. [OwO-Network/DeepLX](https://github.com/OwO-Network/DeepLX) - 感谢OwO-Network的优秀项目(•̀ᴗ•́)و̑̑ +2. [LegendLeo/deeplx-serverless](https://github.com/LegendLeo/deeplx-serverless) - 本项目的重构前项目,接过维护的大旗(ง •̀_•́)ง 3. [bropines/Deeplx-vercel](https://github.com/bropines/Deeplx-vercel) - 参考部分实现