前言
最近因为公司的网对于谷歌自带的翻译用起来跟坨屎一样。全页翻译很难受,想着去买DeepL pro的api数,看了一下就算合租也很贵。所以直接pass掉了。然后逛了一圈发现有对接deepl网页版然后再作为api的deeplx,用了下感觉还可以。
但是!也不是完全没有缺点,虽说不限制字数和请求量了,但是经过实际使用,发现其实查询的时候如果过多,IP还是会被拉进去坐牢的。所以想了下,把自己的一些机器全部上了deeplx,然后做负载均衡。
测试使用感觉还行,比之前爽多了
部署
安装docker
得夸一下现版本的docker,真舒服,docker compose直接自带了,之前还得去下载。但是如果不含caddy,我推荐还是手动部署,这里贴一下安装的命令和优化的配置。
# 安装必要的环境,这里用我常用的debian系命令记录
apt update
apt upgrade -y
apt install curl vim wget gnupg dpkg apt-transport-https lsb-release ca-certificates
# 使用官方脚本安装docker
## 国外版
curl -fsSL https://get.docker.com | bash
## 国内版
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# 优化docker,限制日志大小
cat > /etc/docker/daemon.json << EOF
{
"log-driver": "json-file",
"log-opts": {
"max-size": "20m",
"max-file": "3"
},
"ipv6": true,
"fixed-cidr-v6": "fd00:dead:beef:c0::/80",
"experimental":true,
"ip6tables":true
}
EOF
安装 deeplx
这个就很简单了,无脑复制粘贴即可
docker run -itd -p 1188:1188 \
-e "TOKEN=xxxxxx" \
ghcr.io/owo-network/deeplx:latest
需要注意的参数:
TOKEN
参数用于防止将程序公开后,滥用请求,所以设置token来用于鉴权。需要在请求的时候带上Authorization:
头。
顺便再加个iptables拦截下,双重防护,战斗!爽!
iptables -A INPUT -p tcp --dport 1188 -s 1.1.1.1 -j ACCEPT
iptables -A INPUT -p tcp --dport 1188 -j DROP
配置Caddy负载均衡
修改Caddyfile,把负载均衡加上:
deeplx.xxxxx.com {
reverse_proxy {
to backend1:1188 backend2:1188 backend3:1188
# 下面这个是负载均衡策略,我用的随机,也可以用轮询。更多的可以去caddy官网看
lb_policy random
header_up Authorization "Bearer [你的token]"
}
}
最后重启即可。贴一个用docker 不需要重新down && up -d的重载caddy的命令
docker compose exec -w /etc/caddy caddy caddy reload
结束
全部弄好过后,终于可以翻译一整面的网页不会出现有报错了,如果有,直接重新刷新就可以了,而且也不占内存这个,后端越多越好。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容