<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>torify &amp;mdash; 安娜提戈涅</title>
    <link>https://writee.org/anartigone/tag:torify</link>
    <description>「绝望之为虚妄，正与希望相同。」</description>
    <pubDate>Thu, 04 Jun 2026 02:08:31 +0000</pubDate>
    <item>
      <title>【技术教程】DeepLX+Tor+ETCP电子书翻译插件自定义引擎</title>
      <link>https://writee.org/anartigone/deeplx-tor-etcp</link>
      <description>&lt;![CDATA[前述&#xA;&#xA;最近在用一个非常优秀的工具ETCP(电子书翻译器)读齐泽克的书，尽管有些小问题，但是项目作者维护得非常用心，特此致敬。&#xA;&#xA;关于工具的优点可以直接去看作者网站上的文章我就不赘述了，我也还在协同处理一些issue。&#xA;&#xA;最近这段时间，deepl的白嫖引擎突然用不了了，感觉应该是官方在做封锁限制吧，修起来应该也不容易。&#xA;原本打算开通开发者账号看看效果，结果半本书不到当月额度就爆表了。感觉除非完全不差钱，不然付费订阅体验还不如白嫖。&#xA;&#xA;接下来就开始了一段摸索，首先是这个关于HTTP Error 429: Too Many Requests的贴子里提到的问题，显然就是最常见的限制访问。作者提供的调节重试次数 (Attempt times) 并没有太奏效，因为一旦到达5次以上就会是1-7小时的等待间隔，让翻译效率大幅降低。&#xA;后来经过测试，我认为在tor环境下，以10,20,30,60,120,360,720这样的步进方式会稍微好一点。顺便值得一提的是，贴子末尾提到的隐私保护和指纹泄露的话题刚好和我的摸索结果吻合可以一石二鸟。&#xA;&#xA;同样在关于429访问限制的另一篇贴子里，我也遇到了类似的规律，裸ip直连基本上都会在同一个进度上被限制卡住，无论时间间隔是多少。&#xA;&#xA;好在作者给出了和DeepLX项目对接的自定义引擎配置，省去了我很多尝试的时间。然而，这个项目并不是为翻译书籍这种文本量的工作而开发的，这个贴子表明开发者似乎并不打算直接为api项目加入代理服务器的选项。&#xA;&#xA;最先尝试的是给deeplx单独上tor，很可惜的是proxychains和torsocks都不兼容Deeplx的流量模式，不然事情会简单很多。&#xA;&#xA;还尝试了在防火墙里屏蔽www2.deepl.com域名，以阻拦Deeplx与其通信，但似乎不产生任何影响。&#xA;&#xA;下面就是我目前摸索出的DeepLX+全局Tor (system-wide Torify) 的临时解决方案 (workaround) ，即爬虫工具最基础的戴套白嫖法 (反反爬) 。&#xA;&#xA;Tor+自动换ip&#xA;Linux&#xA;主流发行版的源里都自带tor的包，直接装：&#xA;sudo apt install tor&#xA;&#xA;安装后可以启动tor服务以测试是否正常，测试后需要停掉&#xA;sudo systemctl start tor&#xA;sudo systemctl stop tor&#xA;&#xA;到此tor的安装就搞定了，先不要着急启动。&#xA;&#xA;现在tor只能指定代理，而deeplx又不支持代理功能 (最好用的重定向工具proxychains还不兼容) 。这就要用其他工具jailbox以达到全局代理，有用deb发行版的也可以考虑kali-anonsurf ，配置方法相同，路径是/etc/tor/torrc.anon。&#xA;&#xA;要用git安装，没装过的先sudo apt install git。&#xA;git clone https://github.com/jamazi/jailbox.git&#xA;cd jailbox&#xA;sudo ./setup&#xA;&#xA;然后修改配置文件，参考自这里以及这里，在torrc里加入这几行：&#xA;&#xA;sudo nano /etc/jailbox/torrc&#xA;MaxCircuitDirtiness 10&#xA;CircuitBuildTimeout 10&#xA;LearnCircuitBuildTimeout 0&#xA;NewCircuitPeriod 10&#xA;&#xA;上面的数值还有微调空间，目前设置的是每10秒换一个ip，没注释请自行参考文档 。&#xA;&#xA;需要给放行白名单或修改dns等参数可以sudo nano /etc/jailbox/config，通常环境用不到。&#xA;&#xA;现在就可以用下列命令启动或停止全局tor了：&#xA;sudo jailbox-start&#xA;sudo jailbox-stop&#xA;&#xA;旧Mac (Intel) &#xA;相比linux下的jailbox和anonsurf，旧版Mac下的proximac可以很方便的给deeplx单独上tor，不过很久没更新了所以不兼容新版Mac (M1) 。&#xA;先安装brew和easy-tor：&#xA;/bin/bash -c &#34;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)&#34;&#xA;&#xA;echo &#39;eval $(/opt/homebrew/bin/brew shellenv)&#39;     $HOME/.zprofile&#xA;eval &#34;$(/opt/homebrew/bin/brew shellenv)&#34;&#xA;&#xA;brew install tor&#xA;easy tor cli tools这里用不到就不写了，但推荐自行安装&#xA;如果连接有问题，用以下命令临时连接Clash代理服务器&#xA;export httpproxy=http://127.0.0.1:7890 httpsproxy=http://127.0.0.1:7890 allproxy=socks5://127.0.0.1:7890&#xA;&#xA;安装好后编辑配置文件sudo nano /opt/homebrew/etc/tor/torrc&#xA;MaxCircuitDirtiness 10&#xA;CircuitBuildTimeout 10&#xA;LearnCircuitBuildTimeout 0&#xA;NewCircuitPeriod 10&#xA;&#xA;按需让tor走clash代理或自行设置UseBridges&#xA;Socks5Proxy 127.0.0.1:7890&#xA;&#xA;到这里tor就搞定了，接下来安装Proximac&#xA;sudo nvram boot-args=&#34;debug=0x146 kext-dev-mode=1&#34;&#xA;&#xA;brew install libuv&#xA;&#xA;curl -fsSL https://raw.githubusercontent.com/proximac-org/proximac-install/master/install.py | sudo python&#xA;&#xA;然后创建一个配置文件nano proximac.cfg&#xA;{&#xA;    &#34;processname&#34;:&#xA;    [&#34;curl&#34;, &#34;deeplx&#34;, &#34;calibre&#34;],&#xA;    &#34;localport&#34;:9050,&#xA;    &#34;localaddress&#34;:&#34;127.0.0.1&#34;,&#xA;    &#34;proximacport&#34;:8558&#xA;}&#xA;按需修改进程名称，我的浏览器流量无法被重定向但curl和deeplx都可以，这就够了&#xA;    &#34;localport&#34;:7890,&#xA;    &#34;localaddress&#34;:&#34;127.0.0.1&#34;,&#xA;    &#34;proximacport&#34;:8558,&#xA;    &#34;VPNmode&#34;:1,&#xA;    &#34;proxyappname&#34;:&#34;clash&#34;&#xA;现在可以依次启动两个程序了&#xA;brew services start tor&#xA;&#xA;proximac start -c proximac.cfg&#xA;&#xA;运行curl ifconfig.io测试ip自动更换&#xA;&#xA;全平台方案 (Leaf) &#xA;Leaf是目前还在活跃更新的开源全平台方案，还可以给mac开tun全局模式。linux下编译或mac下使用brew install leaf-proxy安装。&#xA;配置文件定制详见这里，目前还不支持按进程名控制流量因此只做了全局Tor的配置。&#xA;创建nano leaf.conf&#xA;[General]&#xA;loglevel = info&#xA;dns-server = 1.1.1.1&#xA;routing-domain-resolve = true&#xA;tun = auto&#xA;&#xA;[Proxy]&#xA;Direct = direct&#xA;Tor = socks, 127.0.0.1, 9050&#xA;&#xA;[Rule]&#xA;FINAL, Tor&#xA;运行leaf-proxy -c leaf.conf或./leaf -c leaf.conf&#xA;&#xA;全平台方案 (Mellow) &#xA;Mellow的好处是可以像proxychains那样设置多重代理和指定流量重定向规则，对于网络环境复杂特殊的情况十分灵活友好，而且在新Mac (M1) 上也能运行。缺点是已经停止维护了，但和闭源收费软件proxifier相比还是更值得进行测试的。&#xA;下载Mellow，&#xA;运行后会出现托盘图标，右键create config→create conf template→选中新创建的配置名→edit selected→贴入下面任一内容：&#xA;&#xA;选项1：全局tor&#xA;[Endpoint]&#xA;Tor, builtin, socks, address=127.0.0.1, port=9050&#xA;Direct, builtin, freedom, domainStrategy=UseIP&#xA;Dns-Out, builtin, dns&#xA;&#xA;[RoutingRule]&#xA;PORT, 1188, Direct&#xA;FINAL, Tor&#xA;&#xA;[Dns]&#xA;hijack = Dns-Out&#xA;&#xA;[DnsServer]&#xA;localhost&#xA;1.1.1.1&#xA;选项2：deeplx走Tor，其余直连&#xA;[Endpoint]&#xA;Tor, builtin, socks, address=127.0.0.1, port=9050&#xA;Direct, builtin, freedom, domainStrategy=UseIP&#xA;Dns-Out, builtin, dns&#xA;&#xA;[RoutingRule]&#xA;PROCESS-NAME, deeplx, Tor&#xA;DOMAIN, www2.deepl.com, Tor&#xA;DOMAIN, wtfismyip.com, Tor&#xA;GEOIP, cn, Direct&#xA;GEOIP, private, Direct&#xA;DOMAIN-KEYWORD, geosite:cn, Direct&#xA;FINAL, Clash&#xA;&#xA;[Dns]&#xA;hijack = Dns-Out&#xA;&#xA;[DnsServer]&#xA;localhost&#xA;1.1.1.1&#xA;选项3：deeplx走Tor，国内直连，其余Clash，定制参考&#xA;[Endpoint]&#xA;Clash, builtin, socks, address=127.0.0.1, port=7891&#xA;Tor, builtin, socks, address=127.0.0.1, port=9050&#xA;Direct, builtin, freedom, domainStrategy=UseIP&#xA;Dns-Out, builtin, dns&#xA;&#xA;[RoutingRule]&#xA;PROCESS-NAME, clash, Direct&#xA;PROCESS-NAME, deeplx, Tor&#xA;IP-CIDR, 192.168.1.0/32, Direct&#xA;DOMAIN, wtfismyip.com, Tor&#xA;DOMAIN, www2.deepl.com, Tor&#xA;GEOIP, cn, Direct&#xA;GEOIP, private, Direct&#xA;DOMAIN-KEYWORD, geosite:cn, Direct&#xA;FINAL, Clash&#xA;&#xA;[Dns]&#xA;hijack = Dns-Out&#xA;&#xA;[DnsServer]&#xA;localhost&#xA;1.1.1.1&#xA;&#xA;然后先运行tor再用Mellow的connect，顺序乱了会冲突。&#xA;不过这里需要用到tor自己的配置文件，所以要做同样的修改sudo nano /usr/local/etc/tor/torrc&#xA;MaxCircuitDirtiness 10&#xA;CircuitBuildTimeout 10&#xA;LearnCircuitBuildTimeout 0&#xA;NewCircuitPeriod 10&#xA;&#xA;按需让tor走clash代理或自行设置UseBridges&#xA;Socks5Proxy 127.0.0.1:7890&#xA;&#xA;分别用网页wtfismyip.com和ifconfig.io进行测试，或用curl ifconfig.io和curl --socks5 127.0.0.1:9050 ifconfig.io&#xA;&#xA;DeepLX+自定义引擎&#xA;安装DeepLX&#xA;Mac&#xA;brew tap owo-network/brew&#xA;brew install deeplx&#xA;brew services start owo-network/brew/deeplx&#xA;Linux&#xA;sudo mv deeplxlinuxamd64 /usr/local/bin/deeplx&#xA;sudo chmod +x /usr/local/bin/deeplx&#xA;&#xA;装好后两个系统都同样可以直接terminal里运行deeplx启动&#xA;&#xA;配置自定义引擎&#xA;调试引擎参数时，试过在headers里塞各种奇怪的东西，但都无法影响被限制访问的情况。也就是说，官方接口那边就是直接处理ip地址的。所以，还是最小化配置方案最好。&#xA;&#xA;在电子书翻译器→引擎→自定义→添加中粘贴一下内容并保存：&#xA;{&#xA;    &#34;name&#34;: &#34;DeepL X&#34;,&#xA;    &#34;languages&#34;: {&#xA;        &#34;source&#34;: {&#xA;            &#34;English&#34;: &#34;EN&#34;&#xA;        },&#xA;        &#34;target&#34;: {&#xA;            &#34;中文&#34;: &#34;ZH&#34;&#xA;        }&#xA;    },&#xA;    &#34;request&#34;: {&#xA;        &#34;url&#34;: &#34;http://127.0.0.1:1188/translate&#34;,&#xA;        &#34;method&#34;: &#34;POST&#34;,&#xA;        &#34;headers&#34;: {&#xA;            &#34;Content-Type&#34;: &#34;application/json&#34;&#xA;        },&#xA;        &#34;data&#34;: {&#xA;            &#34;sourcelang&#34;: &#34;source&#34;,&#xA;            &#34;targetlang&#34;: &#34;ZH&#34;,&#xA;            &#34;text&#34;: &#34;text&#34;&#xA;        }&#xA;    },&#xA;    &#34;response&#34;: &#34;response[&#39;data&#39;]&#34;&#xA;}&#xA;&#xA;目前摸索出的比较稳妥的参数是这样的：&#xA;&#xA;并发限制：1&#xA;时间间隔：5.0&#xA;重试次数：6&#xA;超时：5.0&#xA;&#xA;因为洋葱网络的特点，间隔/超时太高或太低都会有副作用。&#xA;参考硬编码的间隔次数自行调整：&#xA;1 x 5 = 5 秒&#xA;2 x 5 = 10 秒&#xA;3 x 10 = 30 秒&#xA;4 x 30 = 120 秒&#xA;5 x 120 = 10 分钟&#xA;6 x 600 = 1小时&#xA;7 x 3600 = 7小时&#xA;&#xA;PS1：我发现每次调整过自定义引擎后，必须完全关闭电子书翻译器插件设置窗口，再次打开后进行测试才能有效调用新修改的数据。&#xA;&#xA;PS2：在中断发生时可能会漏翻一个段落，应该在翻译完成后人工核查并启用缓存以方便返工。&#xA;&#xA;自动重启脚本&#xA;这个实验性脚本的意图是为了重置deeplx与deepl服务器之间的tcp连接和会话，目前设置为每30秒重启一次deeplx。429通常会规律性的连续触发4次左右，而在连续429之间如果重启deeplx进程会很大概率避免后续的429。因此，该脚本会大大缩短因连续429所浪费的时间，经测试，200个段落3万个单词的文本翻译时间大约在15分钟左右。&#xA;nano deeplx.sh&#xA;!/bin/bash&#xA;for (( ; ; ))&#xA;do&#xA;deeplx &amp;&#xA;echo deeplx started&#xA;curl &#34;http://localhost:1188&#34;&#xA;sleep 30&#xA;killall deeplx&#xA;echo deeplx killed&#xA;done&#xA;运行./deeplx.sh&#xA;&#xA;开工&#xA;&#xA;如果一切顺利，现在就能开工了，分窗口在terminal运行：&#xA;Mac环境&#xA;brew services start tor&#xA;proximac start -c proximac.cfg&#xA;brew services start deeplx&#xA;&#xA;linux环境&#xA;sudo jailbox-start&#xA;deeplx&#xA;&#xA;如果不是服务器或不需要常驻，可以用下列命令停止所有程序：&#xA;Mac环境&#xA;brew services stop deeplx&#xA;proximac stop&#xA;brew services stop tor&#xA;&#xA;linux环境&#xA;sudo jailbox-stop&#xA;sudo systemctl stop tor&#xA;&#xA;前台运行脚本&#xA;如果不喜欢让Tor和deeplx常驻后台的话，可以用这个脚本：&#xA;nano tordeeplx.command(或.sh)&#xA;tor &amp; deeplx&#xA;保存后赋予运行权限sudo chmod +x tordeeplx.command&#xA;&#xA;测试429率&#xA;目前的配置下，429率大概在20%左右，运气会产生一定影响。&#xA;以这种频率更换exit node和发送翻译请求的话，ip地址用不到被封就会被切换并且不会被同一台客户端复用。因此，理论上能够长期保持整个洋葱网络对于deepl的洁净度，是可以长期相对稳定使用的。&#xA;&#xA;$ deeplx&#xA;DeepL X has been successfully launched! Listening on 0.0.0.0:1188&#xA;Made by sjlleo and missuo.&#xA;[GIN] 2023/07/06 - 20:20:43 | 200 |   1.83981902s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:21:28 | 200 |  655.394982ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:21:43 | 200 |  620.316798ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:21:59 | 200 |  821.454301ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:22:15 | 200 |  1.309522506s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:22:31 | 200 |  1.013822256s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:22:47 | 200 |  862.486326ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:23:03 | 200 |   1.08809995s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:23:20 | 200 |  1.457108487s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:23:36 | 200 |  986.279915ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:23:52 | 200 |  883.792633ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:24:08 | 200 |  1.415006115s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:24:24 | 200 |   883.21823ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:24:41 | 200 |  1.911790717s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:24:57 | 200 |  1.056279387s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:25:18 | 200 |  5.478524016s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:25:34 | 200 |  1.003227537s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:25:50 | 200 |  941.563757ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:26:06 | 200 |  936.977163ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:26:21 | 429 |  573.914753ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:26:27 | 429 |  682.560622ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:26:38 | 429 |  634.381146ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:27:08 | 429 |  589.852792ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:29:10 | 429 |  1.937044063s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:33:10 | 200 |    1.3341382s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:33:39 | 200 |  717.496959ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:33:49 | 200 |  394.595441ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:34:00 | 200 |  705.609073ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:34:11 | 200 |   1.43666196s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:34:22 | 200 |  770.348791ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:34:33 | 200 |  698.786404ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:34:44 | 200 |  878.148456ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:34:55 | 200 |   1.57579993s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:35:06 | 200 |  624.894126ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:35:17 | 200 |  1.208342938s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:35:28 | 200 |  905.414785ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:35:40 | 200 |  1.274016686s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:35:50 | 200 |  882.601307ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:36:01 | 200 |   967.57988ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:36:13 | 200 |  1.656233787s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:36:25 | 200 |  2.119461124s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:36:36 | 200 |  449.239601ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:36:46 | 429 |   253.34428ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:36:51 | 429 |  284.683034ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:37:02 | 429 |  278.761024ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:37:32 | 429 |  380.629489ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:39:35 | 200 |  2.890293995s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:39:46 | 200 |  1.007476936s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:39:58 | 200 |  1.659029437s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:40:09 | 200 |  1.288784059s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:40:21 | 200 |  1.886470626s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:40:32 | 200 |  543.496021ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:40:42 | 200 |  662.304495ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:40:53 | 200 |  593.130639ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:41:03 | 200 |  548.919543ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:41:14 | 200 |  808.393736ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:41:25 | 200 |  560.225622ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:41:36 | 200 |  603.778588ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:41:46 | 200 |  643.346112ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:41:57 | 200 |   544.89588ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:42:07 | 200 |  548.723954ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:42:18 | 200 |  545.862852ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:42:28 | 200 |  542.302542ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:42:39 | 200 |   555.76809ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:42:50 | 200 |  757.230947ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:43:01 | 200 |  923.270359ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:43:12 | 200 |  792.424487ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:43:23 | 200 |  1.468216953s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:43:35 | 200 |  1.940953761s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:43:46 | 200 |  918.658997ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:43:58 | 200 |  1.762370618s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:44:09 | 200 |  669.954463ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:44:19 | 200 |  740.310366ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:44:30 | 200 |  1.038631914s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:44:41 | 200 |  547.480661ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:44:52 | 200 |  545.392986ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:45:02 | 200 |  544.998703ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:45:13 | 200 |  1.032989732s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:45:24 | 200 |   719.28602ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:45:35 | 200 |  597.075314ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:45:45 | 200 |  904.921926ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:45:56 | 200 |   657.57461ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:46:07 | 200 |  746.795608ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:46:19 | 200 |  2.054962619s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:46:29 | 429 |  433.606618ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:46:35 | 429 |  545.346439ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:46:46 | 429 |  919.869038ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:47:17 | 429 |  519.130298ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:49:19 | 429 |  1.915815483s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:59:22 | 200 |   3.16591978s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:59:32 | 429 |  328.199181ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:59:38 | 200 |  775.436049ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 20:59:49 | 200 |  878.428524ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 21:00:00 | 200 |  754.443644ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 21:00:11 | 200 |  1.016588589s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 21:00:21 | 200 |  624.515913ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 21:00:32 | 200 |  400.167834ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 21:00:42 | 200 |  336.449963ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 21:00:53 | 200 |  504.342266ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 21:01:03 | 200 |  736.649074ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 21:01:14 | 200 |  475.508762ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 21:01:24 | 200 |  398.919812ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 21:01:35 | 200 |  701.584537ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 21:01:46 | 200 |  1.068159057s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 21:01:57 | 429 |   387.46933ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 21:02:02 | 429 |  496.159534ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 21:02:13 | 429 |  654.305298ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 21:02:43 | 429 |  428.376921ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 21:04:45 | 200 |  1.778534722s |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 21:04:56 | 200 |  940.728793ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 21:05:07 | 200 |  718.906396ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 21:05:18 | 200 |  536.110582ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 21:05:28 | 200 |  536.378607ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 21:05:39 | 200 |  662.592958ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 21:05:49 | 200 |  707.224247ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 21:06:00 | 200 |  732.119709ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 21:06:11 | 200 |  529.860241ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 21:06:22 | 200 |   712.92979ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 21:06:32 | 200 |   641.23342ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;[GIN] 2023/07/06 - 21:06:43 | 200 |  658.058161ms |       127.0.0.1 | POST     &#34;/translate&#34;&#xA;#脚本 #bash #自定义引擎 #proxifier #Mellow #Leaf #Proximac #Clash #brew #torrc #anonsurf #jailbox #Linux #Mac #Torify #Tor #torsocks #proxychains #DeepLX #书伴 #Calibre #deepl #翻译 #洋葱路由 #反反爬 #全局代理]]&gt;</description>
      <content:encoded><![CDATA[<h2 id="前述">前述</h2>

<p>最近在用一个非常优秀的工具<a href="https://github.com/bookfere/Ebook-Translator-Calibre-Plugin" rel="nofollow">ETCP(电子书翻译器)</a>读齐泽克的书，尽管有些小问题，但是项目作者维护得非常用心，特此致敬。</p>

<p>关于工具的优点可以直接去看<a href="https://bookfere.com/post/1057.html" rel="nofollow">作者网站上的文章</a>我就不赘述了，我也还在协同处理<a href="https://github.com/bookfere/Ebook-Translator-Calibre-Plugin/issues/67" rel="nofollow">一些issue</a>。</p>

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

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

<p>同样在<a href="https://github.com/bookfere/Ebook-Translator-Calibre-Plugin/issues/73" rel="nofollow">关于429访问限制的另一篇贴子</a>里，我也遇到了类似的规律，裸ip直连基本上都会在同一个进度上被限制卡住，无论时间间隔是多少。</p>

<p>好在作者给出了和<a href="https://github.com/OwO-Network/DeepLX" rel="nofollow">DeepLX</a>项目对接的<a href="https://github.com/bookfere/Ebook-Translator-Calibre-Plugin/issues/17#issuecomment-1514418660" rel="nofollow">自定义引擎配置</a>，省去了我很多尝试的时间。然而，这个项目并不是为翻译书籍这种文本量的工作而开发的，<a href="https://github.com/OwO-Network/DeepLX/issues/41" rel="nofollow">这个贴子表明</a>开发者似乎并不打算直接为api项目加入代理服务器的选项。</p>

<p>最先尝试的是给deeplx单独上tor，很可惜的是<a href="https://gist.github.com/carlware/f02e14232177c18f33b5743bde916d8a" rel="nofollow">proxychains</a>和<a href="https://github.com/dgoulet/torsocks" rel="nofollow">torsocks</a>都不兼容Deeplx的流量模式，不然事情会简单很多。</p>

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

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

<h2 id="tor-自动换ip">Tor+自动换ip</h2>

<h3 id="linux">Linux</h3>

<p>主流发行版的源里都自带tor的包，直接装：</p>

<pre><code>sudo apt install tor

#安装后可以启动tor服务以测试是否正常，测试后需要停掉
sudo systemctl start tor
sudo systemctl stop tor
</code></pre>

<p>到此tor的安装就搞定了，先不要着急启动。</p>

<p>现在tor只能指定代理，而deeplx又不支持代理功能 (最好用的重定向工具proxychains还不兼容) 。这就要用其他工具<a href="https://github.com/jamazi/jailbox" rel="nofollow">jailbox</a>以达到全局代理，有用deb发行版的也可以考虑<a href="https://github.com/Und3rf10w/kali-anonsurf" rel="nofollow">kali-anonsurf</a> ，配置方法相同，路径是<code>/etc/tor/torrc.anon</code>。</p>

<p>要用git安装，没装过的先<code>sudo apt install git</code>。</p>

<pre><code>git clone https://github.com/jamazi/jailbox.git
cd jailbox
sudo ./setup
</code></pre>

<p>然后修改配置文件，参考自<a href="https://tor.stackexchange.com/questions/9934/tor-is-only-assigning-circuits-from-a-very-limited-subset-of-exit-nodes" rel="nofollow">这里</a>以及<a href="https://gist.github.com/carlware/f02e14232177c18f33b5743bde916d8a" rel="nofollow">这里</a>，在torrc里加入这几行：</p>

<p><code>sudo nano /etc/jailbox/torrc</code></p>

<pre><code>MaxCircuitDirtiness 10
CircuitBuildTimeout 10
LearnCircuitBuildTimeout 0
NewCircuitPeriod 10
</code></pre>

<p>上面的数值还有微调空间，目前设置的是每10秒换一个ip，没注释请自行参考<a href="https://manpages.ubuntu.com/manpages/xenial/man1/tor.1.html" rel="nofollow">文档</a> 。</p>

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

<p>现在就可以用下列命令启动或停止全局tor了：</p>

<pre><code>sudo jailbox-start
sudo jailbox-stop
</code></pre>

<h3 id="旧mac-intel">旧Mac (Intel)</h3>

<p>相比linux下的jailbox和anonsurf，旧版Mac下的<a href="https://github.com/csujedihy/proximac" rel="nofollow">proximac</a>可以很方便的给deeplx单独上tor，不过很久没更新了所以不兼容新版Mac (M1) 。
先安装<a href="https://brew.sh/" rel="nofollow">brew</a>和<a href="https://github.com/gravmatt/easy-tor" rel="nofollow">easy-tor</a>：</p>

<pre><code>/bin/bash -c &#34;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)&#34;

echo &#39;eval $(/opt/homebrew/bin/brew shellenv)&#39; &gt;&gt; $HOME/.zprofile
eval &#34;$(/opt/homebrew/bin/brew shellenv)&#34;

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
</code></pre>

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

<pre><code>MaxCircuitDirtiness 10
CircuitBuildTimeout 10
LearnCircuitBuildTimeout 0
NewCircuitPeriod 10

#按需让tor走clash代理或自行设置UseBridges
#Socks5Proxy 127.0.0.1:7890
</code></pre>

<p>到这里tor就搞定了，接下来安装Proximac</p>

<pre><code>sudo nvram boot-args=&#34;debug=0x146 kext-dev-mode=1&#34;

brew install libuv

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

<p>然后创建一个配置文件<code>nano proximac.cfg</code></p>

<pre><code>{
    &#34;process_name&#34;:
    [&#34;curl&#34;, &#34;deeplx&#34;, &#34;calibre&#34;],
    &#34;local_port&#34;:9050,
    &#34;local_address&#34;:&#34;127.0.0.1&#34;,
    &#34;proximac_port&#34;:8558
}
</code></pre>

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

<pre><code>    &#34;local_port&#34;:7890,
    &#34;local_address&#34;:&#34;127.0.0.1&#34;,
    &#34;proximac_port&#34;:8558,
    &#34;VPN_mode&#34;:1,
    &#34;proxyapp_name&#34;:&#34;clash&#34;
</code></pre>

<p>现在可以依次启动两个程序了</p>

<pre><code>brew services start tor

proximac start -c proximac.cfg
</code></pre>

<p>运行<code>curl ifconfig.io</code>测试ip自动更换</p>

<h3 id="全平台方案-leaf">全平台方案 (Leaf)</h3>

<p>Leaf是目前还在活跃更新的开源全平台方案，还可以给mac开<a href="https://github.com/eycorsican/leaf/discussions/232" rel="nofollow">tun全局模式</a>。<a href="https://github.com/eycorsican/leaf#build" rel="nofollow">linux下编译</a>或mac下使用<code>brew install leaf-proxy</code>安装。
配置文件定制详见<a href="https://github.com/eycorsican/leaf/blob/master/README.zh.md" rel="nofollow">这里</a>，目前还不支持按进程名控制流量因此只做了全局Tor的配置。
创建<code>nano leaf.conf</code></p>

<pre><code>[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
</code></pre>

<p>运行<code>leaf-proxy -c leaf.conf</code>或<code>./leaf -c leaf.conf</code></p>

<h3 id="全平台方案-mellow">全平台方案 (Mellow)</h3>

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

<p>选项1：全局tor</p>

<pre><code>[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
</code></pre>

<p>选项2：deeplx走Tor，其余直连</p>

<pre><code>[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
</code></pre>

<p>选项3：deeplx走Tor，国内直连，其余Clash，<a href="https://github.com/mellow-io/mellow/blob/master/README.1.md#%E6%9B%B4%E5%A4%9A%E9%85%8D%E7%BD%AE" rel="nofollow">定制参考</a></p>

<pre><code>[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
</code></pre>

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

<pre><code>MaxCircuitDirtiness 10
CircuitBuildTimeout 10
LearnCircuitBuildTimeout 0
NewCircuitPeriod 10

#按需让tor走clash代理或自行设置UseBridges
#Socks5Proxy 127.0.0.1:7890
</code></pre>

<p>分别用网页<code>wtfismyip.com</code>和<code>ifconfig.io</code>进行测试，或用<code>curl ifconfig.io</code>和<code>curl --socks5 127.0.0.1:9050 ifconfig.io</code></p>

<h2 id="deeplx-自定义引擎">DeepLX+自定义引擎</h2>

<h3 id="安装deeplx">安装DeepLX</h3>

<p><a href="https://github.com/OwO-Network/DeepLX#run-on-mac" rel="nofollow">Mac</a></p>

<pre><code>brew tap owo-network/brew
brew install deeplx
brew services start owo-network/brew/deeplx
</code></pre>

<p><a href="https://github.com/OwO-Network/DeepLX/releases/download/v0.8.0/deeplx_linux_amd64" rel="nofollow">Linux</a></p>

<pre><code>sudo mv deeplx_linux_amd64 /usr/local/bin/deeplx
sudo chmod +x /usr/local/bin/deeplx
</code></pre>

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

<h3 id="配置自定义引擎">配置自定义引擎</h3>

<p>调试<a href="https://github.com/bookfere/Ebook-Translator-Calibre-Plugin/wiki/Custom-Translation-Engine-Recipes" rel="nofollow">引擎</a>参数时，试过在headers里塞各种奇怪的东西，但都无法影响被限制访问的情况。也就是说，官方接口那边就是直接处理ip地址的。所以，还是最小化配置方案最好。</p>

<p>在<code>电子书翻译器→引擎→自定义→添加</code>中粘贴一下内容并保存：</p>

<pre><code>{
    &#34;name&#34;: &#34;DeepL X&#34;,
    &#34;languages&#34;: {
        &#34;source&#34;: {
            &#34;English&#34;: &#34;EN&#34;
        },
        &#34;target&#34;: {
            &#34;中文&#34;: &#34;ZH&#34;
        }
    },
    &#34;request&#34;: {
        &#34;url&#34;: &#34;http://127.0.0.1:1188/translate&#34;,
        &#34;method&#34;: &#34;POST&#34;,
        &#34;headers&#34;: {
            &#34;Content-Type&#34;: &#34;application/json&#34;
        },
        &#34;data&#34;: {
            &#34;source_lang&#34;: &#34;&lt;source&gt;&#34;,
            &#34;target_lang&#34;: &#34;ZH&#34;,
            &#34;text&#34;: &#34;&lt;text&gt;&#34;
        }
    },
    &#34;response&#34;: &#34;response[&#39;data&#39;]&#34;
}
</code></pre>

<p>目前摸索出的比较稳妥的参数是这样的：</p>

<p>并发限制：1
时间间隔：5.0
重试次数：6
超时：5.0</p>

<p>因为洋葱网络的特点，间隔/超时太高或太低都会有副作用。
参考硬编码的间隔次数自行调整：
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小时</p>

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

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

<h3 id="自动重启脚本">自动重启脚本</h3>

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

<pre><code>#!/bin/bash
for (( ; ; ))
do
deeplx &amp;
echo deeplx started
curl &#34;http://localhost:1188&#34;
sleep 30
killall deeplx
echo deeplx killed
done
</code></pre>

<p>运行<code>./deeplx.sh</code></p>

<h2 id="开工">开工</h2>

<p>如果一切顺利，现在就能开工了，分窗口在terminal运行：</p>

<pre><code>#Mac环境
brew services start tor
proximac start -c proximac.cfg
brew services start deeplx

#linux环境
sudo jailbox-start
deeplx
</code></pre>

<p>如果不是服务器或不需要常驻，可以用下列命令停止所有程序：</p>

<pre><code>#Mac环境
brew services stop deeplx
proximac stop
brew services stop tor

#linux环境
sudo jailbox-stop
sudo systemctl stop tor
</code></pre>

<h3 id="前台运行脚本">前台运行脚本</h3>

<p>如果不喜欢让Tor和deeplx常驻后台的话，可以用这个脚本：
<code>nano tordeeplx.command</code>(或<code>.sh</code>)</p>

<pre><code>tor &amp; deeplx
</code></pre>

<p>保存后赋予运行权限<code>sudo chmod +x tordeeplx.command</code></p>

<h3 id="测试429率">测试429率</h3>

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

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

<p><a href="/anartigone/tag:%E8%84%9A%E6%9C%AC" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">脚本</span></a> <a href="/anartigone/tag:bash" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">bash</span></a> <a href="/anartigone/tag:%E8%87%AA%E5%AE%9A%E4%B9%89%E5%BC%95%E6%93%8E" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">自定义引擎</span></a> <a href="/anartigone/tag:proxifier" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">proxifier</span></a> <a href="/anartigone/tag:Mellow" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Mellow</span></a> <a href="/anartigone/tag:Leaf" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Leaf</span></a> <a href="/anartigone/tag:Proximac" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Proximac</span></a> <a href="/anartigone/tag:Clash" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Clash</span></a> <a href="/anartigone/tag:brew" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">brew</span></a> <a href="/anartigone/tag:torrc" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">torrc</span></a> <a href="/anartigone/tag:anonsurf" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">anonsurf</span></a> <a href="/anartigone/tag:jailbox" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">jailbox</span></a> <a href="/anartigone/tag:Linux" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Linux</span></a> <a href="/anartigone/tag:Mac" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Mac</span></a> <a href="/anartigone/tag:Torify" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Torify</span></a> <a href="/anartigone/tag:Tor" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Tor</span></a> <a href="/anartigone/tag:torsocks" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">torsocks</span></a> <a href="/anartigone/tag:proxychains" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">proxychains</span></a> <a href="/anartigone/tag:DeepLX" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">DeepLX</span></a> <a href="/anartigone/tag:%E4%B9%A6%E4%BC%B4" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">书伴</span></a> <a href="/anartigone/tag:Calibre" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Calibre</span></a> <a href="/anartigone/tag:deepl" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">deepl</span></a> <a href="/anartigone/tag:%E7%BF%BB%E8%AF%91" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">翻译</span></a> <a href="/anartigone/tag:%E6%B4%8B%E8%91%B1%E8%B7%AF%E7%94%B1" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">洋葱路由</span></a> <a href="/anartigone/tag:%E5%8F%8D%E5%8F%8D%E7%88%AC" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">反反爬</span></a> <a href="/anartigone/tag:%E5%85%A8%E5%B1%80%E4%BB%A3%E7%90%86" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">全局代理</span></a></p>
]]></content:encoded>
      <guid>https://writee.org/anartigone/deeplx-tor-etcp</guid>
      <pubDate>Fri, 07 Jul 2023 06:48:18 +0000</pubDate>
    </item>
  </channel>
</rss>