DeepLX

command module
v0.9.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 23, 2024 License: MIT Imports: 16 Imported by: 0

README

GitHub Workflow Go Version Go Report Maintainability GitHub License Docker Pulls Releases

Link Description Maintainer
OwO-Network/PyDeepLX Python Package for DeepLX Vincent Yang
OwO-Network/gdeeplx Golang Package for DeepLX Vincent Yang
ifyour/deeplx JS Package for DeepLX (JavaScript) ifyour
deeplx-serverless Serverless Package for DeepLX LegendLeo

Discussion Group

Telegram Group

Description

  • DeepLX is listening to 0.0.0.0:1188 by default. You can modify the listening port by yourself.
  • DeepLX is using DeepL Free API.
  • DeepLX is unlimited to the number of requests.

Usage

For Developer

Request Parameters
  • text: string
  • source_lang: string
  • target_lang: string
Response
{
  "alternatives": [
    "Did you hear about this?",
    "You've heard about this?",
    "You've heard of this?"
  ],
  "code": 200,
  "data": "Have you heard about this?",
  "id": 8356681003,
  "method": "Free",
  "source_lang": "ZH",
  "target_lang": "EN"
}

Custom Options

The following settings are optional and not required.

  • -port or -p : Listening port. Default is 1188.
  • -token : Access token. If you have set it up, each request needs to include Authorization in the Headers or token parameter in the URL Params.
  • -authkey : DeepL Official AuthKey. If you have set it up, after the 429 response, the official AuthKey will be used for the request. If multiple authKeys are used simultaneously, they need to be separated by commas.
  • -s: dl-session is the cookie for a DeepL Pro account. If you set this, you will be able to use another endpoint /v1/translate, which can effectively avoid 429.
  • /v2/translate : This endpoint is fully compatible with the DeepL official API. When using this endpoint, please strictly adhere to the request styles outlined in the official DeepL documentation. Note that in this endpoint, please use DeepL-Auth-Key $token in the Authorization, which is actually the Access Token, not the official Auth Key of DeepL.
Example of requesting a token-protected /v2/translate endpoint
curl -X POST 'http://localhost:1188/v2/translate' \
--header 'Authorization: DeepL-Auth-Key [yourAccessToken] [yourAuthKey]' \
--header 'Content-Type: application/json' \
--data '{
  "text": [
    "Hello, world!"
  ],
  "target_lang": "DE"
}'
# Please note that either `yourAccessToken` or `yourAuthKey` can be omitted.
Requesting a token-protected DeepLX API instance using the curl
curl -X POST http://localhost:1188/translate \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_access_token" \
-d '{
    "text": "Hello, world!",
    "source_lang": "EN",
    "target_lang": "DE"
}'

or

curl -X POST http://localhost:1188/translate?token=your_access_token \
-H "Content-Type: application/json" \
-d '{
    "text": "Hello, world!",
    "source_lang": "EN",
    "target_lang": "DE"
}'

Run with Docker

# ghcr.io
docker run -itd -p 1188:1188 ghcr.io/owo-network/deeplx:latest

# custom environment variables
docker run -itd -p 1188:1188 -e "TOKEN=helloxxx" -e "AUTHKEY=xxxx:fx" -e "DL_SESSION=xxxxx" ghcr.io/owo-network/deeplx:latest

# dockerhub
docker run -itd -p 1188:1188 missuo/deeplx:latest

# custom environment variables
docker run -itd -p 1188:1188 -e "TOKEN=helloxxx" -e "AUTHKEY=xxxx:fx" -e "DL_SESSION=xxxxx" missuo/deeplx:latest

Run with Docker Compose

mkdir deeplx
cd deeplx
wget https://raw.githubusercontent.com/OwO-Network/DeepLX/main/compose.yaml
# modify environment variables
# environment:
  # - TOKEN=helloxxx
  # - AUTHKEY=xxxxxxx:fx
  # - DL_SESSION=xxxxx
# docker compose
docker compose up -d

Run on Linux Server

bash <(curl -Ls https://raw.githubusercontent.com/OwO-Network/DeepLX/main/install.sh)
# or
bash <(curl -Ls https://owo.nz/deeplx)

Run on Mac

brew tap owo-network/brew
brew install deeplx
brew services start owo-network/brew/deeplx

# Update to the latest version
brew update
brew upgrade deeplx
brew services restart owo-network/brew/deeplx

# View the currently installed version
brew list --versions deeplx
Manual
  1. Download the latest release of DeepL X.
sudo mv deeplx_darwin_amd64 /usr/local/bin/deeplx
sudo chmod +x /usr/local/bin/deeplx
  1. Download the me.missuo.deeplx.plist to ~/Library/LaunchAgents.
wget https://raw.githubusercontent.com/OwO-Network/DeepLX/main/me.missuo.deeplx.plist -O ~/Library/LaunchAgents/me.missuo.deeplx.plist
  1. Run following command.
launchctl load ~/Library/LaunchAgents/me.missuo.deeplx.plist
launchctl start ~/Library/LaunchAgents/me.missuo.deeplx.plist

Install from AUR

paru -S deeplx-bin

After installation, start the daemon with the following command.

systemctl daemon-reload
systemctl enable deeplx

Special thanks to AsukaMinato for maintaining the updates of ArchLinux packages.

Run on Sealos

Setup on Bob App

  1. Install bob-plugin-deeplx on Bob.

  2. Setup the API. (If you use Brew to install locally you can skip this step) c5c19dd89df6fae1a256d

Setup on immersive-translate

It is not recommended, because the immersive-translate will send many requests in a short time, which will cause the DeepL API to block your IP.

  1. Install Latest immersive-translate on your browser.

  2. Click on Developer Settings in the bottom left corner. Enable Beta experimental features.

  3. Set the URL. (If you are not deploying locally, you need to change 127.0.0.1 to the IP of your server)

6a48ba28621f2465028f0

Use in Python

import httpx, json

deeplx_api = "http://127.0.0.1:1188/translate"

data = {
	"text": "Hello World",
	"source_lang": "EN",
	"target_lang": "ZH"
}

post_data = json.dumps(data)
r = httpx.post(url = deeplx_api, data = post_data).text
print(r)

Backup the Docker Image of zu1k

docker run -itd -p 1188:80 missuo/deeplx-bk

This docker image is not related to this project, as the original author deleted the image, it is only for backup.

Acknowledgements

Contributors

Activity

Alt

License

FOSSA Status

Documentation

Overview

* @Author: Vincent Yang * @Date: 2023-07-01 21:45:34 * @LastEditors: Vincent Yang * @LastEditTime: 2024-04-23 00:42:28 * @FilePath: /DeepLX/main.go * @Telegram: https://t.me/missuo * @GitHub: https://github.com/missuo * * Copyright © 2024 by Vincent, All Rights Reserved.

* @Author: Vincent Yang * @Date: 2024-03-20 15:43:57 * @LastEditors: Vincent Yang * @LastEditTime: 2024-04-23 00:37:39 * @FilePath: /DeepLX/types.go * @Telegram: https://t.me/missuo * @GitHub: https://github.com/missuo * * Copyright © 2024 by Vincent, All Rights Reserved.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL