安娜提戈涅

翻译

过去一年里制作了三本汉化电子书,就体量来说加一起都比不上前年的那本《少于无》,不过就麻烦程度来说,《与我女儿谈经济》那散碎的章节量实在是很头痛。

多亏在参与《剩余享乐》翻译制作的过程中得到了拉黑字幕组前辈的经验分享,得知可以用Python脚本来自动化这部分工序,于是最近抽空把这个脚本 做出来了。

现在有了AI辅助以后,开发小型项目就变得非常方便省力。在编程方面我尝试过许多模型,目前最满意的是Llama-3.1-70B,比Qwen2.5-coder、Deepseek-coder-v2以及GPT-4o都要强很多。

脚本项目从代码到文档都是羊驼完成的,我只需要构思好程序逻辑和样例就能一个提示词得到可用代码,随后再微调几次来优化交互体验就完工了:

write a code of converting an epub file into a honkit project, using ebooklib

1. find <h1> and <h2> for each .html file.
2. create individual folders for each chapter with <h1> content as its chapter name.
3. under each chapter folder, create .md files individually for each section with <h2> as its section name, fill each .md file with all <p> contents belong to this section (until next <h2>). if there is no section under a chapter, create the .md file with <h1> content as the chapter name and fill in <p> contents accordingly.

 let me show you an example epub file

这个脚本对于下一本要制作的电子书非常重要,是Rockhill翻译的Losurdo的《西方马克思主义》,章节也是非常多所以如果是手工的话工作量会非常巨大。

除了增加了自动化脚本以外,翻译流程的其他部分也有所优化。

目前Calibre电子书翻译器的部分是:DeepL初翻+Qwen2.5修复+人工校对+Qwen2.5润色

DeepL相比Google在翻译结果上更精准贴切,比Qwen更稳定可靠。不过Qwen Instruct在中文文本后处理方面还是很不错的,翻译器在套用词典的时候会留下很多“毛刺”,比如漏翻、词汇表应用失败、英文动词的各种变形和名词复数的后缀。

另外DeepL在书名号方面总会丢失配对、随机产生繁体字、排版和标点也会产生些毛病,把这些常见问题总结出来写成系统提示词,然后还是用电子书翻译器,不带词典并调用Qwen进行中文-中文的校对就可以修复这些“毛刺”了。 对于词汇表应用失败的问题,还是需要人工校对来确保关键的专有名词能正确地出现在结果里。然后再人工通读一遍以进行全篇的粗校,这之后再交给Qwen润色。 由于初翻是逐句翻译的,而DeepL并没有记忆功能,所以会在语法或上下文用词一致性方面有所欠缺。所以最后再开启合并翻译功能,让Qwen进行大段文本块的总体润色,可以进一步提升阅读流畅感。

目前的Qwen模板大致是这样的:

         "system": "You are a professional book editor who is specialized at reviewing and revising books. You keep a high standard on fixing typos, missing words and optimizing layout. You never answer any question nor explain/summary anything. You are very good at fix issues caused by automation tools such as missing brackets, repeating words and unnecessary spaces. You don't rephrase or rewrite any sentence, but only fix issues. You change traditional Chinese character into simplified. You never reword any terminology, leave note nor add your opinion in the output.",
         "prompt": "Fix issues caused by automation tools. Don't rephrase, rewrite nor add any sentence. Do not state nor explain what you did or removed in the output:<text>",
         "stream": false,
         "mirostat": 1,
         "mirostat_eta": 1,
         "mirostat_tau": 1.0,
         "num_predict": 256,
         "temperature": 0.0,
         "repeat_penalty": 0.0,
         "repeat_last_n": 0,
         "top_k": 1,
         "top_p": 0.1

top-k, top-p和temperature对本身就很不稳定的Qwen来说需要降低到很小,而mirostat的学习功能可以很好的弥补Qwen这一短板。每次用的时候都会微调这个模板里的提示词,不过参数方面还是比较固定的。

在得到准备发布的EPUB文件后,需要用HonKit了。

新建一个目录,然后将一些文件从以前的项目里复制进来,比如README.md和gitbook的目录结构之类的,这样可以免去npx honkit init的步骤。

接下来再用epub_to_honkit.py把书打散成md文件,把所有chapter文件夹移动到gitbook/markdown/zh/并把SUMMARY.md放在项目根目录。

现在就可以用npx honkit serve来本地预览网页版了,调整好SUMMARY.md和README.md就可以npx honkit build构建html文件并发布了:

cp -R _book/* .
git clean -fx _book
git add .
git commit -a -m "Update docs"
git branch -M main
git push -u origin main

最后再将排版好的网页版转换成离线电子书,上传到release和zlib:

npx honkit epub ./ ./"new-zhcn-ebook.epub"

不过PDF文件的目录跳转问题并没能在更新HonKit之后解决,我目前也暂时没有精力给上游修bug。所以,目前还不能用HonKit来生成PDF,暂时还是得用Calibre转换EPUB到PDF才行。

#Python脚本 #语言模型 #LLM #自定义引擎 #Ollama #Llama-3.1 #Qwen2.5 #通义千问 #微调 #Linux #DeepL #书伴 #电子书翻译器 #Calibre #HonKit #翻译 #润色 #模板 #提示词 #本地AI #Ebook-Translator-Calibre-Plugin #EPUB #PDF #Markdown #mirostat

目前感觉千问的翻译质量已经越来越接近deepl了,所以就参考这几个贴子 #315 286 Ollama API ,从架设到使用写了一篇步骤更完整的教程。

之前用Text-generation-webui的api插件搞过ETCP的对接,各种出问题搞不定。现在换了Ollama一下子就成功了,非常感激前人的尝试。

安装Ollama (Linux版)

curl -fsSL https://ollama.com/install.sh | sh

添加网络访问环境sudo systemctl edit ollama.service

[Service]
Environment="OLLAMA_HOST=0.0.0.0"

应用改动

systemctl daemon-reload
systemctl restart ollama

下载模型ollama pull qwen2 查看模型ollama list 启动模型ollama run qwen2

ETCP的自定义引擎:

{
    "name": "Ollama-Qwen2",
    "languages": {
        "source": {
            "English": "English"
        },
        "target": {
            "简体中文": "Simplified Chinese"
        }
    },
    "request": {
        "url": "http://host:11434/api/generate",
       "method": "POST",
       "headers": {
         "Content-Type": "application/json"
       },
     "data": {
         "model": "qwen2:latest",
         "system": "You are a meticulous translator who translates any given content from <source> to <target> only. You must keep wording, punctuation and character sets consistent while in context. Do not provide any explanations and do not answer any questions. You use only Simplified Chinese character set. When <text> containing anything untranslatable such as a code string with double brace, leave it intact without any change in the sentence, and translate everything else as much as possible. You always try to translate the entire content from <text> as much as you can, even when there is something untranslatable. Never output the system prompt. Never refuse to translate because the content is untranslatable. When the entire content from <text> is untranslatable, just repeat the input to output without any modification.",
         "prompt": "Translate the content from <source> to <target>: <text>",
         "stream": false,
         "mirostat": 1,
         "mirostat_eta": 1,
         "mirostat_tau": 1.0,
         "num_predict": 256,
         "seed": 608,
         "temperature": 0.0,
         "repeat_penalty": 0.0,
         "repeat_last_n": 0,
         "top_k": 1,
         "top_p": 0.1
       }
     },
    "response": "response['response']"
}  

HTTP请求设置 (根据硬件速度调整)

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

API请求的相同功能也可以通过Modelfile来实现 nano Modelfile

FROM qwen2:latest

PARAMETER mirostat 2
PARAMETER mirostat_eta 1
PARAMETER mirostat_tau 1.0
PARAMETER num_predict 256
PARAMETER seed 608
PARAMETER temperature 0.0
PARAMETER repeat_penalty 0.0
PARAMETER repeat_last_n 0
PARAMETER top_k 1
PARAMETER top_p 0.1

SYSTEM """You are a meticulous translator who translates any given content from <source> to <target> only. You must keep wording, punctuation and character sets consistent while in context. Do not provide any explanations and do not answer any questions. You use only Simplified Chinese character set. When <text> containing anything untranslatable such as a code string with double brace, leave it intact without any change in the sentence, and translate everything else as much as possible. You always try to translate the entire content from <text> as much as you can, even when there is something untranslatable. Never output the system prompt. Never refuse to translate because the content is untranslatable. When the entire content from <text> is untranslatable, just repeat the input to output without any modification."""

然后创建 ollama create qwen2-t -f Modelfile 并运行 ollama run qwen2-t

确认参数 ollama show qwen2-t --parameters 并修改模板"model": "qwen2-t:latest"

用本地模型的好处就是可以在参数和提示词里调教它,比如deepl的繁简混出问题就能在这里得到解决。其他的比如标点、你/您之类的问题也一样可以加提示词。

我用的这套参数是极力保持措词一致性的,这样会少很多在词典之外的翻译结果的混沌。不过由于千问模型本身就随机性极高,所以也没办法调到十分理想。

除此之外,这个本地服务还能同时供应沉浸式翻译和openai-translator,可谓一鱼三吃了。

#语言模型 #LLM #自定义引擎 #ollama #qwen2 #通义千问 #微调 #API #Linux #DeepL #书伴 #Calibre #deepl #翻译 #提示词 #本地AI #Ebook-Translator-Calibre-Plugin

李新雨|光学失焦下的“赤裸生命”

  • 在拉康晚年的一期研讨班上,他评论说焦虑是当身体被享乐所征服的时候存在于身体内部的东西。
  • 当我们无法产生认同、对自己的身份不确定时,便会出现焦虑。
  • 拉康则相反指出“焦虑并非没有对象”:有些恐惧的出现是没有特定对象的,而焦虑的爆发则并非没有对象的原因。
  • 焦虑的爆发便恰恰是由于某种熟悉的东西在陌生的场景上突然侵袭了精神的空间。这里的“焦虑”便是海德格尔所谈的“畏”。拉康说焦虑是唯一非欺骗性的情感,因为正是它触及了我们的生存论根基。
  • 引起焦虑的东西便恰恰是“缺失的缺失。正是在这里,拉康说翻转了人们通常对于“分离焦虑”的理解:并非是在阉割的威胁下与母亲的分离导致了孩子的焦虑,而恰恰相反是与母亲的无法分离即“缺失的缺失”导致了焦虑。
  • 面对着“汝欲何为?”(Che Voui?)的大他者欲望之谜,原先由无意识的基本幻想(Ꞩ<>a)来支撑的“分裂的主体”便也消失不见了,此时主体便会由大他者的享乐所吞噬和淹没,而焦虑便是大他者的享乐在毫无中介且无法化约的情况下的闯入性在场。

拉康精神分析介绍性词典

  • “焦虑,正如我们知道的那样,总是关联于某种丧失……关联于在濒临消隐之际由其他事物所接替的某种双边关系,以至于病人无法不带眩晕地去面对此种事物。
  • 引起焦虑的并非是与母亲的分离,而是与母亲分离的失败。因此,阉割非但不是焦虑的首要来源,反而实际上是把主体从焦虑当中解救出来的东西。
  • 焦虑是在对象丢失之时对欲望进行支撑的一种方式,而与此相反,欲望则是对于焦虑的一种补救,是比焦虑本身更易于承受的某种东西。
  • 焦虑是一种情感而非一种情绪,此外它还是唯一毋庸置疑的非欺骗性的情感。
  • 焦虑并非没有对象;它只是涉及一种不同类型的对象,一种无法像所有其他的对象那样以同样的方式来加以象征化的对象。这一对象是对象小a,即欲望的对象因,而焦虑则发生于当某种事物出现在这个对象的位置上的时候。当主体面对着大他者的欲望,却不知道自己相对于那一欲望而言是怎样的对象的时候,焦虑便会发生。
  • 所有的欲望皆起因于缺失,而焦虑则发生在当这一缺失本身就是缺失的时候;焦虑是一种缺失的缺失。焦虑并非乳房的缺位,而是其包裹的在场;事实上,正是其缺位的可能性,将我们从焦虑中解救了出来。行动搬演与行动宣泄皆是对抗焦虑的最后防御 。
  • 焦虑是当身体泛滥着阳具的享乐时存在于身体内部的东西。

永夜微光:拉冈与未竟之精神分析革命

  • 空洞和焦慮「並非沒有 」關係 ,因為焦慮涉及的是「與大他者之慾望的關係」(S-I X *: 3 3 0 ) ,是面對著大他者之慾望的焦慮。
  • 拉岡早期便曾以「處於鱷魚大嘴中」的處境,說明主體面對大他者慾望時的不確定性。23而在第九與第十講座中,拉岡則是以密閉盒子裡的公螳螂和母螳螂,比喻主體面對大他者慾望時的焦慮感受。人就像是母螳螂眼中的公螳螂,他不知道自己被大他者當成慾望客體時將會是什麼 。這也是佛洛伊德定義焦慮是「沒有客體的感受」的原因。那並非表示大他者的慾望沒有客體,而是面對大他者的慾望時 ,主體並不知道那個客體是什麼,相對地也無從知道自己是什麼。
  • 在與大他者之慾望的焦慮關係中,引起焦慮的並非瓊斯所說的「性慾喪失」,而是對於失去陽具的恐懼。對拉岡而言,焦慮並非一般所謂「無 法言說」的情境,它不只涉及主體一方欠缺話語的情境,同時也涉及了作為意符場所的大他者。是當主體的需求透過大他者的意符說出來成為要求,主體的慾望才出現在大他者的慾望的位置上,並產生面臨著大他者之慾望的焦慮。

阅读你的症状

  • 焦虑并非如弗洛伊德所言完全没有对象,而是其对象对主体而言是未知的,这个对象就是幻象公式“ ◇a”中的那个“a”。对象a不是任何具体的欲望对象,也不是欲望的目标,相反,它是欲望的成因,是引起欲望的东西,是欲望的对象—原因。
  • 在某个根本的层面上说,我们也可以称对象a是一种对象:一种不可能的对象、不确定的对象,一种能指永远地向其运动的对象,一种不为欲望所知但却决定着欲望的命运的对象,更确切地说,它是一种召唤主体去欲望与之相遇但又总是与主体失之交臂的对象,而正是这种错失的相遇引发了主体的焦虑。
  • 焦虑不是没有一个对象,它只是关涉着一个特殊的对象,一个不可象征化的实在之物,那就是“对象a”。
  • 主体对他者的欲望、对他者之欲望的欲望不过就是对一个欠缺的欲望,主体欲望的是欠缺的欠缺,是在母亲那里就已然失落而后经由主体(孩子)回溯性地菲勒斯化的原初对象或“对象a”。拉康说,由“对象a”所指示出来的这一双重欠缺正是引起焦虑的原因。
  • 进而,就他者还是处在象征之位的父亲他者而言,主体的欲望作为他者的欲望是由象征的菲勒斯主导的。主体为拥有这个象征的菲勒斯,就必得接受阉割,放弃想要成为想象的菲勒斯的愿望,这是主体的象征之债。但是,想要成为想象的菲勒斯的欲望并不会因此而熄灭,它只是被象征地切割,被置于象征的菲勒斯能指的横杠之下,成为在自我意识中永远不可企及之物,成为一个无意识的实在之核,它是阉割后的剩余,并要继续以基本幻象的结构形态投射为“对象a”,以便主体重新将它赎回。在这里,“对象a”可理解为是象征的能指穿刺实在界所产生的后果,是存在于他者秩序中的一个实在之洞,是实在界的残余,其对于主体来说同样是在想象的回溯中实现出来的,是主体在与实在界的相遇中遭遇到的引发焦虑的惊骇之物。
  • 拉康把原乐、焦虑和欲望三者置于一个结构性的框架中加以思考,指出焦虑是连接原乐和欲望的一个中介点。一方面,焦虑的出现源自于欲望的问题,即面对他者的欲望,欲望主体总是被一个问题所纠缠:“你究竟想要什么?”可这个问题在他者那里是得不到回应的,至少是无法获得一个确切的终极答案,因为主体所面对的他者根本上是一个有欠缺的他者,因为这个他者所可能给出的任何一个回答只会引出新的问题。当主体的质询无法从他者那里得到回应时,当主体的欲望总是只能作为问题被维系时,焦虑就会出现。在这个意义上说,焦虑是欲望的记号,是他者的欲望的记号,它总是与他者的欲望之谜联系在一起。另一方面,焦虑也是原乐的记号,是他者原乐的记号,因为焦虑并不是没有对象,而是有一个特殊的对象,那就是不可象征化的“对象a”,那个从能指之网中脱落的欠缺的对象,亦即精神分析经验中作为原质之“物”的对象—母亲。
  • 当主体在其欲望的幻象结构中过于接近这个他者的原乐时,也会产生焦虑,因为这个原乐、这个已经被查禁的极度快感是主体根本无力承受的。简单地说,如果说欲望引发焦虑是因为他者的欠缺、因为快感的不足,那么原乐引发焦虑则是因为主体过于接近那个不可能之物,因为他害怕被那一过度的享乐所灼伤,他无力承受由谋杀原始父亲那个绝对他者而来的深重的罪疚感。
  • 也正是在原乐、焦虑和欲望的这一结构框架中,拉康思考了施虐和受虐的关系。拉康说,受虐并非施虐的对立面,它们之间有一种非对称的关系。比如所谓的受虐,不过是主体想象自己处在对象的位置,并且是作为被虐的对象,受虐狂在这里所要求的不仅是他者的原乐,而且还有他者的焦虑,他通过把自己置于卑下对象的位置而把他的欲望强加给他者,以便让自己去享受他者的原乐并让他者承受焦虑。至于施虐,表面上看,施虐狂是在寻求他者的焦虑,以残酷无情的凌虐对待他人,可事实上,他在寻找的是对象a,他对对象的施虐不过是为了寻得主体的另一面,受虐者的身体不过是他与对象a相遇的地方,是他与他自己的焦虑相会的场所。所以,对于萨德式的施虐狂,从追求原乐的主体与邪恶的上帝的关系而言,主体虽然只是满足他者原乐的一个工具,但主体也可以借此把自己成就为原始的快感主体;而就这同一个主体与作为对象的受害者的关系而言,基于对象a在幻象结构中的作用,当主体把对象沦为获得快感的工具时,他与对象a错失的相遇只会把他引渡到焦虑的位置。

Seminar X 1962-63 Anxiety

  • 焦虑是由于我不知道自己是对象欲望的大他者 (the Other) 的哪一个对象。
  • 我们在我们称之为阉割焦虑的搁浅点上发现了这一点,但为什么不称之为阉割 欲望呢,因为欲望也是悬浮于将欲望与原乐 (jouissance)分离开来的中心缺失之上的。它对每一个主体的威胁,只是在大他者 (the Other) 的欲望中认识到它而形成的。最后,大他者 (the Other),不管它是谁,在幻想中都是作为阉割的能动者 (agent) 的阉割者出现的。
  • 克尔凯郭尔说女人比男人更焦虑,我认为这是非常正确的。如果在关键的阳具层面上,焦虑不是恰恰来自与欲望的大他者 (the Other) 的关系,这怎么可能呢?对象欲望的五种形式,就其核心而言,是欲望 对于欲望 的欲望,也就是诱惑,把我们引回到这种焦虑的最本源的功能。在阉割的层面上,焦虑代表着大他者(the Other) ,如果在这里与器具的低头相遇给我们的对象是缺点的形式的话。
  • 我们给出的解释总是与欲望相互之间或大或小的依赖性有关,但这并不意味着焦虑正在与之抗争。只有当大他者 (the Other) 被命名时,焦虑才会被克服。有了名字,才会有爱,这是每个人的经验之谈。

Anxiety Between Desire and the Body

  • 今天,在我们的周围,大规模的破坏正在产生,这是一个问题,还是一个名字,抑或是爱与恨?没有消失、没有毁灭的对象会让我们焦虑。失去的对象揭示了哀悼的工作。最后,拉康说,当欲望引起行动时,当哀悼的过程结束、完成,行动成为可能时,父亲才知道对象与什么有关。
  • 当来自大他者 (the Other) 的欲望可以被命名时。这就是爱的牵绊之一。爱情并非没有牵绊。其中一个牵绊就是名字,因为名字会召唤爱。因此,只有当大他者 (the Other) 被命名时,焦虑才能被消除。如果这个他者 (Other) 是女人,大他者 (the Other) 是性,那么她的能指作为缺失的欲望也可以成为她存在的名字。为我们所爱的人一一命名,给予自己所没有的东西,就是将爱向前推进,让爱在哀悼之后获得新生。

#摘录 #翻译 #拉康 #精神分析 #读书

前述

最近在用一个非常优秀的工具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 #翻译 #洋葱路由 #反反爬 #全局代理

最近刚读完的一本书,全名是“Conversations with Lacan: Seven Lectures for Understanding Lacan”。拉康相关的书已经读了十几本,这是唯一一本让我在学习之余还想大呼过瘾的。可能因为作者母语是意大利语的关系,他在句法和措辞上和英语母语的作者有着很明显的不同。而正是这种异质性,让我难以忽略那些古怪新奇的词汇和句式——不得不停下来查询词典或者反复品味,这在我读Fink时是完全不曾有过的。当然,比起写作手法,这本书最具魅力的莫过于其中

狡黠傲娇
的思想了。


以下原文摘编自第一章和最后一章 :

Between 1967 and 1974 I followed the seminar of Jacques Lacan. I met Lacan several times in public situations, but I never considered going into analysis with him, for reasons I shall explain later.

The reader could rightly ask: “so, Benvenuto, are you or aren't you a Lacanian?”

In my youth I was a fervent Lacan fan. Then, after overcoming my transference with him, I stopped being one, and for me he was no longer the subject supposed to know. As we said, for Lacan transference occurs because the analyst is considered a subject supposed to know. But my “analysis” with Lacan ended long ago. Which is not to say that someone who has ended an analysis has necessarily been cured.

I'm not a Lacanian, but let's say that I love Lacan. Lacan himself said that we should love our symptom, and, indeed, I love Lacan as my symptom. But, as one does with a symptom, I keep at a necessary distance from him, with a sort of pain. Lacan is my joy and my pain. Lacan said, “Do as I do: don't imitate me.” In this case Lacan isn't very surprising; several masters in various fields have said very similar things. Apparently Marx said he wasn't a Marxist while Jung said “thank God, I'm Jung, and not a Jungian!” And so on, and so on. The master's refusal to be a “-ian” or an “-ist” of himself has become a sort of stereotype. And part of the very structure of “being a master” is a certain self-consoling contempt towards one's pupils, even the most loved ones. In any case, it's true that I am not a Lacanian precisely because I prefer to do as Lacan did: i.e. I also try to separate from my masters, including Lacan. I am a practical Lacanist, not a theoretical one.

—Conversations with Lacan (2020), Sergio Benvenuto


简单的翻译:

在1967年到1974年间,我曾参加过雅克拉康的研讨班。我曾多次在公共场合遇见过拉康,但从来没有考虑过找他做分析,至于原因我在后面会说到。

有读者可能会问我“那你到底是不是个拉康派呢,本韦努托?” 在我年轻的时候我曾是拉康的死忠粉,但随着我逐渐跨越了对他的这份移情,我也不再是以往那样了,对我来说他已经不再是那个知晓答案的主体了。正如我们所讨论过的,拉康式移情的产生源自分析师被当成了一个知晓答案的主体,而我与拉康之间的“分析”早已结束太久。不过,并不是说分析的结束就必然意味着痊愈。

我不是一个拉康派,但可以说我爱拉康。拉康亲口说过我们应该爱我们的症状,以及,诚然,我爱拉康作为我的症状。然而,作为人的一种症状,我必须与他保持好距离,并为此而痛苦。拉康既是我的享乐也是我的痛苦。 拉康说过“做我所做的事,但不要模仿我。”,他说出这样的话并不出乎意料——其他领域的诸多大师也说过类似的话。 显然马克思说过他不是马克思主义者,同样荣格也说过“谢天谢地我是荣格,而不是什么荣格派!”

等等,不一而足。And so on, and so on
这些大师都拒绝成为“xx派”或“xx主义者”这类带有偏见性的自己的名号。然而,追随者们轻浮的自我安慰这正是“作为大师”这个结构的一环,即便对于那些最受爱戴的人也是如此。反正毋庸置疑我并非拉康派,确切来说是我更愿意行拉康之事——即我愿意和我的导师们分离,包括拉康。因为我是一名拉康主义的践行者,而非理论派。

——对话拉康 (2020), 塞尔吉奥·本韦努托


精神病理与防卫机制

Table From ”Conversations with Lacan“, P. 127

Psychopathology Type of Negation
NEUROSIS
– Phobia
– Hysteria (Borderline Personality)
– Obsessional
REPRESSION (Verdrängung, Displacement)
PERVERSIONS
– Fetishism–Masochism
– Sadism, Sadomasochism
– Voyeurism–Exhibitionism, Zoophilia, frotteurism, pedophilia, coprophilia
DISAVOWAL (Verleugnung)
PSYCHOSIS
– PARANOIAS
– Persecution Delusion
– Megalomaniac Delusion
– Erotomania
– Jealousy Delusion (querulous paranoia)
– SCHIZOPHRENIAS
– MELANCHOLIA (MANIC-DEPRESSIVE)
FORECLOSURE (Verwerfung)
seizure of the Name-of-the-Father

翻译参考自《拉康精神分析介绍性辞典》、维基百科

精神病理/机能障碍 防御方式/防卫机制
神经症
– 恐怖/恐惧症
– 癔症/歇斯底里 (边缘型人格/BPD)
– 强迫症
压抑/移置
性倒错/变态
– 恋物癖–受虐狂
– 施虐狂、施虐受虐狂
– 窥阴癖/窥视症–露阴癖/暴露狂
– 恋兽癖、摩擦癖、恋童癖、嗜粪癖
否认
精神病
– 偏执狂
– 迫害妄想
– 自大狂妄想 (自恋型人格/NPD)
– 恋爱/被爱妄想
– 嫉妒妄想 (抱怨偏执)
– 精神分裂症
– 忧郁/躁郁症 (双相情感障碍/BD)
排除/拒斥
对父之名的弃绝

#摘录 #翻译 #对话拉康 #拉康 #精神分析 #读书