安娜提戈涅

Mellow

前述

最近在用一个非常优秀的工具ETCP(电子书翻译器)读齐泽克的书,尽管有些小问题,但是项目作者维护得非常用心,特此致敬。

关于工具的优点可以直接去看作者网站上的文章我就不赘述了,我也还在协同处理一些issue

最近这段时间,deepl的白嫖引擎突然用不了了,感觉应该是官方在做封锁限制吧,修起来应该也不容易。 原本打算开通开发者账号看看效果,结果半本书不到当月额度就爆表了。感觉除非完全不差钱,不然付费订阅体验还不如白嫖。

接下来就开始了一段摸索,首先是这个关于HTTP Error 429: Too Many Requests的贴子里提到的问题,显然就是最常见的限制访问。作者提供的调节重试次数 (Attempt times) 并没有太奏效,因为一旦到达5次以上就会是1-7小时的等待间隔,让翻译效率大幅降低。 后来经过测试,我认为在tor环境下,以10,20,30,60,120,360,720这样的步进方式会稍微好一点。顺便值得一提的是,贴子末尾提到的隐私保护和指纹泄露的话题刚好和我的摸索结果吻合可以一石二鸟。

同样在关于429访问限制的另一篇贴子里,我也遇到了类似的规律,裸ip直连基本上都会在同一个进度上被限制卡住,无论时间间隔是多少。

好在作者给出了和DeepLX项目对接的自定义引擎配置,省去了我很多尝试的时间。然而,这个项目并不是为翻译书籍这种文本量的工作而开发的,这个贴子表明开发者似乎并不打算直接为api项目加入代理服务器的选项。

最先尝试的是给deeplx单独上tor,很可惜的是proxychainstorsocks都不兼容Deeplx的流量模式,不然事情会简单很多。

还尝试了在防火墙里屏蔽www2.deepl.com域名,以阻拦Deeplx与其通信,但似乎不产生任何影响。

下面就是我目前摸索出的DeepLX+全局Tor (system-wide Torify) 的临时解决方案 (workaround) ,即爬虫工具最基础的戴套白嫖法 (反反爬) 。

Tor+自动换ip

Linux

主流发行版的源里都自带tor的包,直接装:

sudo apt install tor

#安装后可以启动tor服务以测试是否正常,测试后需要停掉
sudo systemctl start tor
sudo systemctl stop tor

到此tor的安装就搞定了,先不要着急启动。

现在tor只能指定代理,而deeplx又不支持代理功能 (最好用的重定向工具proxychains还不兼容) 。这就要用其他工具jailbox以达到全局代理,有用deb发行版的也可以考虑kali-anonsurf ,配置方法相同,路径是/etc/tor/torrc.anon

要用git安装,没装过的先sudo apt install git

git clone https://github.com/jamazi/jailbox.git
cd jailbox
sudo ./setup

然后修改配置文件,参考自这里以及这里,在torrc里加入这几行:

sudo nano /etc/jailbox/torrc

MaxCircuitDirtiness 10
CircuitBuildTimeout 10
LearnCircuitBuildTimeout 0
NewCircuitPeriod 10

上面的数值还有微调空间,目前设置的是每10秒换一个ip,没注释请自行参考文档

需要给放行白名单或修改dns等参数可以sudo nano /etc/jailbox/config,通常环境用不到。

现在就可以用下列命令启动或停止全局tor了:

sudo jailbox-start
sudo jailbox-stop

旧Mac (Intel)

相比linux下的jailbox和anonsurf,旧版Mac下的proximac可以很方便的给deeplx单独上tor,不过很久没更新了所以不兼容新版Mac (M1) 。 先安装breweasy-tor

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

echo 'eval $(/opt/homebrew/bin/brew shellenv)' >> $HOME/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

brew install tor
#easy tor cli tools这里用不到就不写了,但推荐自行安装
#如果连接有问题,用以下命令临时连接Clash代理服务器
#export http_proxy=http://127.0.0.1:7890 https_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890

安装好后编辑配置文件sudo nano /opt/homebrew/etc/tor/torrc

MaxCircuitDirtiness 10
CircuitBuildTimeout 10
LearnCircuitBuildTimeout 0
NewCircuitPeriod 10

#按需让tor走clash代理或自行设置UseBridges
#Socks5Proxy 127.0.0.1:7890

到这里tor就搞定了,接下来安装Proximac

sudo nvram boot-args="debug=0x146 kext-dev-mode=1"

brew install libuv

curl -fsSL https://raw.githubusercontent.com/proximac-org/proximac-install/master/install.py | sudo python

然后创建一个配置文件nano proximac.cfg

{
    "process_name":
    ["curl", "deeplx", "calibre"],
    "local_port":9050,
    "local_address":"127.0.0.1",
    "proximac_port":8558
}

按需修改进程名称,我的浏览器流量无法被重定向但curl和deeplx都可以,这就够了

    "local_port":7890,
    "local_address":"127.0.0.1",
    "proximac_port":8558,
    "VPN_mode":1,
    "proxyapp_name":"clash"

现在可以依次启动两个程序了

brew services start tor

proximac start -c proximac.cfg

运行curl ifconfig.io测试ip自动更换

全平台方案 (Leaf)

Leaf是目前还在活跃更新的开源全平台方案,还可以给mac开tun全局模式linux下编译或mac下使用brew install leaf-proxy安装。 配置文件定制详见这里,目前还不支持按进程名控制流量因此只做了全局Tor的配置。 创建nano leaf.conf

[General]
loglevel = info
dns-server = 1.1.1.1
routing-domain-resolve = true
tun = auto

[Proxy]
Direct = direct
Tor = socks, 127.0.0.1, 9050

[Rule]
FINAL, Tor

运行leaf-proxy -c leaf.conf./leaf -c leaf.conf

全平台方案 (Mellow)

Mellow的好处是可以像proxychains那样设置多重代理和指定流量重定向规则,对于网络环境复杂特殊的情况十分灵活友好,而且在新Mac (M1) 上也能运行。缺点是已经停止维护了,但和闭源收费软件proxifier相比还是更值得进行测试的。 下载Mellow, 运行后会出现托盘图标,右键create configcreate conf template→选中新创建的配置名→edit selected→贴入下面任一内容:

选项1:全局tor

[Endpoint]
Tor, builtin, socks, address=127.0.0.1, port=9050
Direct, builtin, freedom, domainStrategy=UseIP
Dns-Out, builtin, dns

[RoutingRule]
PORT, 1188, Direct
FINAL, Tor

[Dns]
hijack = Dns-Out

[DnsServer]
localhost
1.1.1.1

选项2:deeplx走Tor,其余直连

[Endpoint]
Tor, builtin, socks, address=127.0.0.1, port=9050
Direct, builtin, freedom, domainStrategy=UseIP
Dns-Out, builtin, dns

[RoutingRule]
PROCESS-NAME, deeplx, Tor
DOMAIN, www2.deepl.com, Tor
DOMAIN, wtfismyip.com, Tor
GEOIP, cn, Direct
GEOIP, private, Direct
DOMAIN-KEYWORD, geosite:cn, Direct
FINAL, Clash

[Dns]
hijack = Dns-Out

[DnsServer]
localhost
1.1.1.1

选项3:deeplx走Tor,国内直连,其余Clash,定制参考

[Endpoint]
Clash, builtin, socks, address=127.0.0.1, port=7891
Tor, builtin, socks, address=127.0.0.1, port=9050
Direct, builtin, freedom, domainStrategy=UseIP
Dns-Out, builtin, dns

[RoutingRule]
PROCESS-NAME, clash, Direct
PROCESS-NAME, deeplx, Tor
IP-CIDR, 192.168.1.0/32, Direct
DOMAIN, wtfismyip.com, Tor
DOMAIN, www2.deepl.com, Tor
GEOIP, cn, Direct
GEOIP, private, Direct
DOMAIN-KEYWORD, geosite:cn, Direct
FINAL, Clash

[Dns]
hijack = Dns-Out

[DnsServer]
localhost
1.1.1.1

然后先运行tor再用Mellow的connect,顺序乱了会冲突。 不过这里需要用到tor自己的配置文件,所以要做同样的修改sudo nano /usr/local/etc/tor/torrc

MaxCircuitDirtiness 10
CircuitBuildTimeout 10
LearnCircuitBuildTimeout 0
NewCircuitPeriod 10

#按需让tor走clash代理或自行设置UseBridges
#Socks5Proxy 127.0.0.1:7890

分别用网页wtfismyip.comifconfig.io进行测试,或用curl ifconfig.iocurl --socks5 127.0.0.1:9050 ifconfig.io

DeepLX+自定义引擎

安装DeepLX

Mac

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

Linux

sudo mv deeplx_linux_amd64 /usr/local/bin/deeplx
sudo chmod +x /usr/local/bin/deeplx

装好后两个系统都同样可以直接terminal里运行deeplx启动

配置自定义引擎

调试引擎参数时,试过在headers里塞各种奇怪的东西,但都无法影响被限制访问的情况。也就是说,官方接口那边就是直接处理ip地址的。所以,还是最小化配置方案最好。

电子书翻译器→引擎→自定义→添加中粘贴一下内容并保存:

{
    "name": "DeepL X",
    "languages": {
        "source": {
            "English": "EN"
        },
        "target": {
            "中文": "ZH"
        }
    },
    "request": {
        "url": "http://127.0.0.1:1188/translate",
        "method": "POST",
        "headers": {
            "Content-Type": "application/json"
        },
        "data": {
            "source_lang": "<source>",
            "target_lang": "ZH",
            "text": "<text>"
        }
    },
    "response": "response['data']"
}

目前摸索出的比较稳妥的参数是这样的:

并发限制:1 时间间隔:5.0 重试次数:6 超时:5.0

因为洋葱网络的特点,间隔/超时太高或太低都会有副作用。 参考硬编码的间隔次数自行调整: 1 x 5 = 5 秒 2 x 5 = 10 秒 3 x 10 = 30 秒 4 x 30 = 120 秒 5 x 120 = 10 分钟 6 x 600 = 1小时 7 x 3600 = 7小时

PS1:我发现每次调整过自定义引擎后,必须完全关闭电子书翻译器插件设置窗口,再次打开后进行测试才能有效调用新修改的数据。

PS2:在中断发生时可能会漏翻一个段落,应该在翻译完成后人工核查并启用缓存以方便返工。

自动重启脚本

这个实验性脚本的意图是为了重置deeplx与deepl服务器之间的tcp连接和会话,目前设置为每30秒重启一次deeplx。429通常会规律性的连续触发4次左右,而在连续429之间如果重启deeplx进程会很大概率避免后续的429。因此,该脚本会大大缩短因连续429所浪费的时间,经测试,200个段落3万个单词的文本翻译时间大约在15分钟左右。 nano deeplx.sh

#!/bin/bash
for (( ; ; ))
do
deeplx &
echo deeplx started
curl "http://localhost:1188"
sleep 30
killall deeplx
echo deeplx killed
done

运行./deeplx.sh

开工

如果一切顺利,现在就能开工了,分窗口在terminal运行:

#Mac环境
brew services start tor
proximac start -c proximac.cfg
brew services start deeplx

#linux环境
sudo jailbox-start
deeplx

如果不是服务器或不需要常驻,可以用下列命令停止所有程序:

#Mac环境
brew services stop deeplx
proximac stop
brew services stop tor

#linux环境
sudo jailbox-stop
sudo systemctl stop tor

前台运行脚本

如果不喜欢让Tor和deeplx常驻后台的话,可以用这个脚本: nano tordeeplx.command(或.sh)

tor & deeplx

保存后赋予运行权限sudo chmod +x tordeeplx.command

测试429率

目前的配置下,429率大概在20%左右,运气会产生一定影响。 以这种频率更换exit node和发送翻译请求的话,ip地址用不到被封就会被切换并且不会被同一台客户端复用。因此,理论上能够长期保持整个洋葱网络对于deepl的洁净度,是可以长期相对稳定使用的。

$ deeplx
DeepL X has been successfully launched! Listening on 0.0.0.0:1188
Made by sjlleo and missuo.
[GIN] 2023/07/06 - 20:20:43 | 200 |   1.83981902s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:21:28 | 200 |  655.394982ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:21:43 | 200 |  620.316798ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:21:59 | 200 |  821.454301ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:22:15 | 200 |  1.309522506s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:22:31 | 200 |  1.013822256s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:22:47 | 200 |  862.486326ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:23:03 | 200 |   1.08809995s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:23:20 | 200 |  1.457108487s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:23:36 | 200 |  986.279915ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:23:52 | 200 |  883.792633ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:24:08 | 200 |  1.415006115s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:24:24 | 200 |   883.21823ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:24:41 | 200 |  1.911790717s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:24:57 | 200 |  1.056279387s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:25:18 | 200 |  5.478524016s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:25:34 | 200 |  1.003227537s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:25:50 | 200 |  941.563757ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:26:06 | 200 |  936.977163ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:26:21 | 429 |  573.914753ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:26:27 | 429 |  682.560622ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:26:38 | 429 |  634.381146ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:27:08 | 429 |  589.852792ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:29:10 | 429 |  1.937044063s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:33:10 | 200 |    1.3341382s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:33:39 | 200 |  717.496959ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:33:49 | 200 |  394.595441ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:34:00 | 200 |  705.609073ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:34:11 | 200 |   1.43666196s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:34:22 | 200 |  770.348791ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:34:33 | 200 |  698.786404ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:34:44 | 200 |  878.148456ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:34:55 | 200 |   1.57579993s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:35:06 | 200 |  624.894126ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:35:17 | 200 |  1.208342938s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:35:28 | 200 |  905.414785ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:35:40 | 200 |  1.274016686s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:35:50 | 200 |  882.601307ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:36:01 | 200 |   967.57988ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:36:13 | 200 |  1.656233787s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:36:25 | 200 |  2.119461124s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:36:36 | 200 |  449.239601ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:36:46 | 429 |   253.34428ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:36:51 | 429 |  284.683034ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:37:02 | 429 |  278.761024ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:37:32 | 429 |  380.629489ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:39:35 | 200 |  2.890293995s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:39:46 | 200 |  1.007476936s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:39:58 | 200 |  1.659029437s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:40:09 | 200 |  1.288784059s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:40:21 | 200 |  1.886470626s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:40:32 | 200 |  543.496021ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:40:42 | 200 |  662.304495ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:40:53 | 200 |  593.130639ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:41:03 | 200 |  548.919543ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:41:14 | 200 |  808.393736ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:41:25 | 200 |  560.225622ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:41:36 | 200 |  603.778588ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:41:46 | 200 |  643.346112ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:41:57 | 200 |   544.89588ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:42:07 | 200 |  548.723954ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:42:18 | 200 |  545.862852ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:42:28 | 200 |  542.302542ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:42:39 | 200 |   555.76809ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:42:50 | 200 |  757.230947ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:43:01 | 200 |  923.270359ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:43:12 | 200 |  792.424487ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:43:23 | 200 |  1.468216953s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:43:35 | 200 |  1.940953761s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:43:46 | 200 |  918.658997ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:43:58 | 200 |  1.762370618s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:44:09 | 200 |  669.954463ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:44:19 | 200 |  740.310366ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:44:30 | 200 |  1.038631914s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:44:41 | 200 |  547.480661ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:44:52 | 200 |  545.392986ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:45:02 | 200 |  544.998703ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:45:13 | 200 |  1.032989732s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:45:24 | 200 |   719.28602ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:45:35 | 200 |  597.075314ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:45:45 | 200 |  904.921926ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:45:56 | 200 |   657.57461ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:46:07 | 200 |  746.795608ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:46:19 | 200 |  2.054962619s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:46:29 | 429 |  433.606618ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:46:35 | 429 |  545.346439ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:46:46 | 429 |  919.869038ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:47:17 | 429 |  519.130298ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:49:19 | 429 |  1.915815483s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:59:22 | 200 |   3.16591978s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:59:32 | 429 |  328.199181ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:59:38 | 200 |  775.436049ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 20:59:49 | 200 |  878.428524ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 21:00:00 | 200 |  754.443644ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 21:00:11 | 200 |  1.016588589s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 21:00:21 | 200 |  624.515913ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 21:00:32 | 200 |  400.167834ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 21:00:42 | 200 |  336.449963ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 21:00:53 | 200 |  504.342266ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 21:01:03 | 200 |  736.649074ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 21:01:14 | 200 |  475.508762ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 21:01:24 | 200 |  398.919812ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 21:01:35 | 200 |  701.584537ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 21:01:46 | 200 |  1.068159057s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 21:01:57 | 429 |   387.46933ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 21:02:02 | 429 |  496.159534ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 21:02:13 | 429 |  654.305298ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 21:02:43 | 429 |  428.376921ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 21:04:45 | 200 |  1.778534722s |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 21:04:56 | 200 |  940.728793ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 21:05:07 | 200 |  718.906396ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 21:05:18 | 200 |  536.110582ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 21:05:28 | 200 |  536.378607ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 21:05:39 | 200 |  662.592958ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 21:05:49 | 200 |  707.224247ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 21:06:00 | 200 |  732.119709ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 21:06:11 | 200 |  529.860241ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 21:06:22 | 200 |   712.92979ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 21:06:32 | 200 |   641.23342ms |       127.0.0.1 | POST     "/translate"
[GIN] 2023/07/06 - 21:06:43 | 200 |  658.058161ms |       127.0.0.1 | POST     "/translate"

#脚本 #bash #自定义引擎 #proxifier #Mellow #Leaf #Proximac #Clash #brew #torrc #anonsurf #jailbox #Linux #Mac #Torify #Tor #torsocks #proxychains #DeepLX #书伴 #Calibre #deepl #翻译 #洋葱路由 #反反爬 #全局代理