最近买的东西(截至 2020 年三月)

最近疫情期间买了不少东西,简单点评一下。

ThinkPad X230:不玩游戏、不做高负荷任务,仅写写文章、代码、轻度娱乐的话,这是很好用的一款笔记本电脑。老 ThinkPad 质量不错,键盘、「小红点」都很好用。只是按照现在的标准来说电池不太够用,外出得加上背夹或者九芯的电池,这样就会很重或者厚到背包塞不下了。并且 1366x768 的分辨率实在是不太好。从朋友处 700 买到,市场价贵一两百左右,如果你正好缺钱、不怕二手、又非常想用笔记本,这是很不错的选择。只是外出最好带电源。

iHome iH4:从咸鱼处 50 购得,用于 iPod 插座和音箱。我买到的这款按键有一部分是坏的,无法设置时间和闹钟,外壳发黄,音量旋钮感觉也是生锈了很难旋转,感觉不是很值(成色实在是像从垃圾堆里翻出来的)。音质对我来说没什么问题。其实如果你在咸鱼上逛多一点应该会看到比这个好的选择。

iPod Classic:在我的文章 《iPod Video vs. iPod Classic》有说道,我最喜欢的播放器。从淘宝 300 块购得的八成新,成色只能说我勉强能接受,要买推荐买更新的。现在买 iPod 只是满足我自己的私欲而已,你不觉得口袋里装下三万首音乐很酷吗?对 iPod Classic 唯一的遗憾就是用不了 HomePod 和 AirPods Pro 了,所以以后只能在家里配合 iHome 当作转盘几乎是不可避免的事情。

Magic Keyboard A1314:从朋友处购得,外观、手感兼具的一款键盘,和 MacBook Pro 2012 的键盘是同一个模具。不得不说,在手感上目前 Apple Store 里没一款键盘比得上。用两节五号电池供电。因为目前还没有台式机(而且 X230 的键盘也很不错),所以一直闲置。(如果你想要一款比较轻薄的键盘,好出门用,我强烈推荐它;但如果你只是想要手感好的键盘,有更好的选择(比如说咸鱼上 G80-3000 茶轴大概 160 左右就能到手))。

Sony A1AP:是我最近买的最后悔的一款产品。因为 EarPods 坏了为了找耐用的耳机才买的。佩戴极为不舒服、听诊器效应非常明显,音质只能说就那样。配合 Apple Type-C to 3.5mm 转接器还有莫名其妙的问题。它配不上 199 的价格,在这个价位上 EarPods 和 IM50 都是更好的选择。

IM50 耳机线:实在是受不了 A1AP 便把以前坏耳机线的 IM50 拿出来,买了山寨原厂的耳机线。IM50 确实是很不错的一款耳机(除了它非常容易断针和坏线)。IM50 本身在咸鱼上 100 左右就能够买到,还包含了全套配件,非常值。至于这条线本身,在我手上的这条和耳机的连接非常的松,即使放在包里走一段时间拿出来,就会发现耳机和线之间都已经完全松开的状态了。不是很推荐,建议直接去咸鱼买一整套。

梗豆的西装:200 的价格购得。不知道值不值,东西本身不差。摸起来用料感觉非常的好,但我买回来根本没穿多少次。

Google Pixel 2:750 的价格购得。还算可以的手机。得益于 835 处理器和 UFS,很流畅。屏幕一般,在外亮度要开到最大才能看清;耳机孔没了,不能一边充电一边听播客了(不过这样的场景实在很少);因为我要去 Google 所以我要使用第三方 ROM,ROM 上只有 LineageOS 16,但有 phh 的 GSI Android 10,用起来还算可以(但 Android 的细节问题还是容易把人逼疯);电池可以说是非常不耐用,只比我手头上的 iPhone SE 好一点,但有快充多多少少补了这一缺陷;相机配合 Google Camera Mod 非常不错;但如果你不需要相机那么好,价格 500 左右的 Moto Z2 Force 是个性价比更高的选择了(但如果你真的不是缺钱,我更推荐 iPhone 8)。

Apple Type-C to 3.5mm 转接器:苹果的良心产品,67 块的价格就能买到一个有着不错的独立解码芯片的转接器。一开始配合我的 A1AP 有声音过小和杂音严重的问题,后来换了 IM50 问题解决了。性价比非常高,推荐。(但在购买之前推荐去 Apple Store 试试是否适合你的手机和耳机)

锤子 R1 充电器:39 的价格(我买了配合一米的锤子双 Type-C 数据线卖 55 元)。在这个价格内,支持协议比较多、外观还不错,是个性价比高的选择,推荐。

Mili Mag Mell CD:从朋友那用点兔画册换到的。朋友说是限定版,但我看里面的东西更像是普通版(?),因为没有碟机所以只能先收藏了(实际上买回来也是为了收藏),在我看来《Mag Mell》这张专辑还是保持了当初 Mili 的味道,后来的《Miracle Milk》多多少少有点妥协的味道,后面的就更不用说了。 以我个人喜好的话我只推荐《Mag Mell》。

775 配套的主机:一开始是打算修好我爸从单位拿回来 H61 方案当作 NAS,后来发现主板短路了、内存生锈了,没办法只好用 50 的价格买了 775 平台(E5200 + 4GB DDR3 RAM)。不推荐用来做 NAS,目前咸鱼上比较热门的星际蜗牛(J1900 方案)会是更好的选择。(问题主要在于风扇会有点吵,功耗相当于家里开多了一把电风扇,所以还好。)

Intel 530:160 购得,其实这种 120G 的 SSD 有更好的选择。买来给 X230 用的,装了 Windows 10,跟之前的那个 7200 转的机械硬盘差别真的很大,但除此之外就没什么感觉了。其实我更推荐便宜二十多的金士顿这类产品,毕竟别人卖的是全新。

当我们在讨论设计的时候,我们在讨论什么

现在是一个人人皆有话说的时代,无论是哪一个领域都有着无数的非专业人士参与讨论,这是前所未见的,这当然是最坏的时代,但也是最好的时代。

在设计这个领域上当然也是如此。体现在当苹果出了一件新产品的时候,当 Google 出了一件新产品的时候,大家会讨论它的设计。这样的论述并不罕见:比如说「iPhone X 的刘海真丑」「扁平化就是好的,拟物化就是不好的」「iPhone 新的后摄像头真丑」这样的论述。

讨论美丑不是一个设计问题,也不是一个艺术问题,只是一个喜好问题。虽然乔布斯的一句经典名言「Design is how it works」实在弹性太大,但讨论美丑,难道不正是对「Design is how it looks」的最大认可吗?设计是一种创作,却不是一种艺术。因为艺术要为新而新,但设计却是「因为适合而新」,这是设计和艺术最大的不同。

在讨论设计好与不好的时候,我们不应该关注表面的事物,而要关注设计背后的逻辑。艺术可以是没有逻辑的,但好的设计一定是有逻辑的。我们完全可以想,为什么刘海设计是一个坏的设计?我们可以讨论刘海设计的逻辑在哪里——得到的是 Face ID 和能延伸到四个角落的屏幕。可以问的是,为什么屏幕一定要延伸到四个角落?这是否有什么必要性?而不是论美丑。

而在最近的 Matters 的改版上,我看到了类似的声音,我要问的是:

在文章中设置封面,且要占满整个屏幕?为什么?为什么文章一定要有封面?

为什么要在传统的网页中使用 Native App 的 UI 设计?这样的设计真的适合非触摸端的设备吗?即使是在触摸屏设备上,网页响应导致的高操作延迟,这真的适合吗?

Matters 借鉴了 Twitter 的设计,这种设计是否适合长文章?

每篇文章中,评论框随网页的滚动而滚动,这到底反映了 Matters 的什么气质?这是一个鼓励生产的社区还是一个鼓励社交的社区?

《比「反思简体中文写作」更重要的事》后续

在《比「反思简体中文写作」更重要的事》,一位叫 HsuKeFeng 的朋友写了一篇长文来反驳我的文章。比较让我受启发的一点是这句话:

語言未必能與文字一一對照,這例子多不勝數

确实,语言未必与文字一一对应,但我认为这样的情况仅适用于被边缘化的方言,而不适用于简体中文。但我昨天看到了这么一个段落,我突然意识到我的想法是有点片面的:

纽约是一座极其复杂的城市,面对前所未有的全球性传染病,作出恰如其分的调整刻不容缓。纽约又是一架高速运转的精密机器,任何改变都容易产生难以预计的涟漪——这在有些人看来是人生中的小插曲,而对另一些人是彻底改变人生轨迹的沉痛打击。美国为个人赋予了极大的自由,这种自由在疫情下必然需要收到限制,政府与公民的关系也被重新审视。这些都是我,一个普通市民,在疫情里学习的公民课程。

这确实给我写的文章提供了反例,这段落确实给我一种浓厚的高考应试作文味。这是否是国内写作的常态呢?由于我不怎么读内地原创者的书籍,我是抱有一种疑问的,这是否需要反思?当然是需要的。

但我的认知从来没变过,我的认知从来就是——像这位 JinlyWong 朋友所说的

不檢討語言,只是改變了使用繁體或者簡體,不能改變表達習慣,而且語言的變化比文字形式本身更需要警惕。

并且我从来都认为,如果「只是改變了使用繁體或者簡體」,那只像是「好不容易逃脱了八股文,却又用上了另一种『八股文』」。

而另外,另一位朋友我叫懟懟侠写了一篇文章提到:

我認為,文字只是工具而已,它便如你我手中握著的劍,它到底是用來切菜,還是削水果,用來殺人,還是救人,並不因為它是一把劍,而是因為你我握著這把劍的人。

我是不认同的,我的回复如下:

不认同。

即使我认为「反思语言比反思文字更加重要」,但「它只是一个工具」则又是另一个片面的说法。所谓的「只是一个工具」这样的论述它忽略的一个理论是「工具塑造人」,如果您意识到了时钟的发明改变了现代社会的运作方式和人的各种,或者意识到像「微信」「钉钉」这样的工具是资本力量对工人的压榨,您应该会同意这样的观点。

可以阅读一下媒介论相关的书籍,比如麦克卢汉的书,以及那本非常经典的《娱乐至死》(可能不少人认识到这本书是因为其中有一个观点是「大众都是没有思考能力的」,但那恰恰是最不重要的一点)。

比「反思简体写作」更加重要的事情

首先,在中文世界里反思文字/语言是难得可贵的事情,因为这意味着认识了媒介论以及「有些事情不是天经地义」的,我确实希望中文世界能有更多这样的讨论,但在我看来,我觉得我们可以说是反思错了对象。

因为「文字」从来不是底层,Alan Key 把人类的「本能」和「非本能」做成了一张表

注释:Alan Kay 认为「人的本能」是不需要经过学习、逻辑、思考就能够掌握的事情,而「非本能」则是需要学习、逻辑、思考才能够掌握的事情。

为了说明我的论述,写作(Writing)是表达文字的一种方式,因此我把「文字」当作是「Writing」,而「Language」则是构建 Writing 的基础,而语言是「人的本能」。所以我可以得出一个结论:语言(Language)是比文字(Writing)更加底层的东西。语言是「人的本能」天生就能掌握,而「文字」需要语言作为基础,是需要学习的东西。这样的话,我可以认为文字是语言的逻辑化的体现。

这就引出了我的观点,我认为比反思「简体中文写作」更加重要的事情是——「反思语言(Language)」。因为文字是语言的逻辑化体现,所以我认为只要语言是怎么样的,文字就是怎么样的,不论你改用了繁体中文写作,还是英语写作,只要常用的语言习惯没有变化,其实是没多大变化的。

如果用举例子的说法来说,像简体中文的一些论述「商女不知亡国恨」「装外宾」「打脸」…这些难道不都是口头语言吗?我认为反思这些语言是更为重要的事情。

iPod Video vs. iPod Classic

小时候,拥有一部 iPod 是我的梦想,每次在电脑杂志看到那可爱的转盘,还有 Cover Flow,羡慕不已。只是,像我小时候这种家境想拥有一部 iPod 是不可能的。时间流逝,长大了,第一次有了智能手机,用手机听音乐的时候却再也没有那种兴奋感了。

直到去年,我开始慢慢的认真听起了音乐,想到了 iPod 这回事,我突然在想我能不能买一台试试呢?我买 iPod 完全不是出于「音质」的考虑,为什么用它?一开始我还给自己找理由,什么「手机听歌容易被打扰」「手机存储容量不够」…到最后我才明白买 iPod 没有理由,只是觉得 iPod 可爱罢了。这里就能看出一点奇怪的地方,为什么做什么事情「总要找正当的理由」?连用 iPod 都是,如果我连想用自己喜欢的设备听歌都要顾这顾那的,也许这就是为什么现在这个世界的人中,真正自由的人那么少的原因吧。

我从「咸鱼」购买了一台二手的 iPod Video 80G,成色很差,当然价格也很低,因为我实在是没多少钱,又很喜欢,于是就买了,用起来没什么问题,就是觉得实在是被用得有点惨。一开始我还刷了 Rockbox,后来实在是觉得他们细节做得很差,就用回了原来的系统(到最后觉得 Rockbox 最好的主题应该是 Podone)我在她身上装下了好多我喜欢的歌,和我喜欢的播客,好开心。

))

我一直觉得她的成色好差,一直想翻新,而且我也不知道为什么苹果会做出用不锈钢这个设计。后来我在知乎看到了乔布斯所说的一句话(大意):

我老了,就像一部满是划痕的 iPod

突然就觉得满是划痕的 iPod 很性感了,实际上也是的。

后来的事情是,我有了一点钱,想给 iPod 改成 TF 卡存储,因为在这一代的 iPod 上机械硬盘还是比较慢,而且容易坏,我就想着换成 128GB 存储,后来发现某宝上的绿卡(1.8 IDE 转 CF 卡的转接器)和红卡(TF 卡转 CF卡转接器)根本用不了,识别不了硬盘,再加上那张转接板太厚了,上大电池合不上盖子,稍微大点力试图合上,然后屏幕就压坏了…

当时二话不说就买了 iPod Classic 80GB,我发现我生活已经离不开 iPod 了。买回来后觉得薄了好多,样子看起来也性感了不少。不少人更喜欢 iPod Video 的 UI/UX,但我更喜欢 iPod Classic 的。

img

img

因为我用的电脑是 Linux 环境,一开始想着用 libgpod 传歌,发现这方法在她的身上行不通(设备能识别当时传进去的歌没办法识别),没办法只好老老实实进了 Windows 环境用 iTunes 传,不得不说别人再怎么说 iTunes 管理音乐多么强大,我遇到的却是各种 Bug(专辑信息同步不完全、同一张专辑内一些有封面、一些又没有封面…)所以我的确不觉得怎么好用…

iPod Classic 的机械硬盘相比前代速度的提升是很容易感觉出来的,以前 iPod Video 上切音乐是需要有一个等待时间来加载音乐的,在 iPod Classic 上这个时间是大大的缩短了,至少我现在是感觉不到有什么延迟,我现在甚至还在想托朋友去买 iFlash 套件是不是一个坏主意。

不过,她的 Cover Flow 功能还是让人明显的感受到这已经是一台十年前的设备了,一开始点进去的时候封面还在加载中,后来才逐渐显示。

说来荒唐,我也是一个写博客的人,但是在这张桌子上没有书,只有一台 iPod Classic 在 iHome 上静静的待着,当不知道怎么办的时候,打开「随机播放」功能,听听歌,继续做出反抗的姿态吧。

另外,此文章同时发往了 Matters 处,欢迎鼓掌!原地址:https://matters.news/@MagMell/i-pod-video-vs-i-pod-classic-bafyreihkzl7zwawb7vwktglul2x6cbrpan6w73qjbod6o6q3lnkopwihya IPFS 地址:https://ipfs.io/ipfs/QmSUN59xZuUnz4dXUv7AKy6ppBkJaPgxFuq7cc2Lz1FTwS/

从 Matters 分享文章的推荐做法

事情是这样的,朋友分享了一个来自 Matters 的链接。但我打开之后发现已经无法访问了。

我还记得我一开始听到 Matters 平台的时候,是在某个播客听到的,采访的是 Matters 联合创始人,她说道(大意):

Matters 是一个去中心化、分布式的文章分享平台,在这里的文章发出之后,就连我们都无法对平台进行控制。

这明显与我所看到的现象是矛盾的,仔细了解之后,我才知道 Matters 的去中心化只是个「把文章同时发布到 IPFS 分布式平台上」,除此以外其他功能还是中心化的。当你的链接指向的是 Matters 本身而不是 IPFS 的地址,链接仍然可能无法访问。

因此我在这里推荐,当分享 Matters 站内链接的时候,应该同时分享 IPFS 链接,就像这样:

原文章链接:https://matters.news/@linsantu/%E4%B8%89%E5%85%AB%E5%9B%BD%E9%99%85%E5%A6%87%E5%A5%B3%E8%8A%82%E7%9A%84%E4%BA%94%E5%A4%A7%E8%B5%B7%E6%BA%90%E8%BF%B7%E6%80%9D-bafyreibxv6jtae6oieyzt7ma7j6fbfdybldsjjfchya7ecar63lfb2tad4

IPFS 链接:https://ipfs.infura.io/ipfs/QmdwYhKjNsW1saM5wBneHB8cmFwbvAbXz5ofd1MNe2hbLk

那么该如何获取 IPFS 链接呢?在这里:

「方便」杀死了什么

自从 Overcast 播客客户端流行起来后,「倍速播放」「智能跳空白」这些功能仿佛成了播客客户端的标杆,没有这些功能的播客客户端好像就不配做播客客户端一样。

不知道什么时候,这种工程师拍脑子想出来所谓的「造福大众」的功能成了一种天经地义。有些人总是认为他认为的「噪音」一定要被消除,播客中的「空白」就是没有任何意义的,认为主播说话在浪费时间。

真是自以为是啊。在一个作品里,无论作者是有意还是无意,每一个细节都有其意义,没错,即使所谓的「噪音」「空白」「一个人说话的快慢」本身与作品不相关,它也是作品的一个 meta data,欣赏一个作品能忽视这些细节吗?

这就是工程师追求的「方便」的代价。看待一个事物,如果不看事物的 meta data,那必定是肤浅的。是的,这种所谓的「方便」杀死了这个世界所应该有的复杂性,代价就是让人变得肤浅了。

戴着有色眼镜去讨论

某播客说道(在此隐去姓名):

如果你不同意我上期所说的话,你有你的观点,我也希望你不要跟我说明你的观点,能听得懂的人自然能听懂我在说什么,你喜欢中国的流行文化你就去关注好了,不要跟我争论,我不会听的。

这样的观点确实流行啊。就像为什么某些所谓已经实现「阶级流动」的人,认为流浪汉应该清走,保持街道清洁,而流浪汉认为那些在旧金山 IT 公司工作的人都是「让自己没地方住」的坏人。这种相互的不理解导致了分裂,而讨论则是解决分裂的方法。

他们在拒绝讨论。要问的是,他们拒绝讨论的原因是什么?或许是认为双方都带着有色眼镜,导致谁都说服不了谁吧。至此他们就拒绝讨论,这是一个恶性循环。

我要说的是「请戴着有色眼镜讨论吧」。因为人无法脱下有色眼镜,不是吗?试着脱下有色眼镜去讨论是没有意义的。因为偏见始终在那里,「脱下有色眼镜」只是「不讨论你心里所认为的偏见」罢了,这难道不就是虚伪吗?

请戴着有色眼镜讨论吧。讨论偏见,和偏见背后的逻辑,很重要。

有关《剩余价值》两期被删除的节目

《剩余价值》中有关武汉肺炎的节目被删除,在此写出音频链接:

关于第 51 期《瘟疫、语言和具体的人:与历史学家罗斯的聊天》的引文如下:

二月七日,罗新在微博上写了八个字,「一生所学,只为此刻。」这是一个怎样的此刻?有谁同在感受此刻,铭记此刻?一位历史学家的一生所学可以如何解释或烛亮此刻?站在这一时刻望向过去和未来,我们能看见什么,又能相信什么?

在一场罕见的春雪之后,剩余价值邀请罗新老师一起录制了这样一期节目。我们把“此刻”细细分割剖解,从瘟疫封城聊到语言污染,从战时状态聊到民族主义,从饭圈用语聊到个体叙事,最终我们发现,所有的一切收束于「人」。

我们说人,是说人是最高贵的,哪怕死亡近在咫尺,作为人的内心的很多东西是不应该去掉的,否则便不再是人。我们说人,说的是作为权利单元、而非利益单元的人,其基本权利是任何人都不能剥夺、不能破坏的,是在任何情况下都应该得到法律保护的。我们说人,是有别于体制的鲜活的人,是可以通过努力来维护语言、不说谎话、干净坦荡、与人共情的人。我们说人,是没有什么值得表彰的功绩却值得尊重的普通人,他们不是抽象的人,而是具体的人,是没有边界的人,无论身在何方、是何民族,跟我们一样的人。我们说人,因为相信人是现代文明的重要基础,每一代人都有自救的努力和途径,是因为希望不从别处来,而正从人身上来。

在这一个多小时的节目中,我们聊的是瘟疫、是历史、是中国,我们聊的也是社会痼疾、是此时此刻、是我们所有人。

此期的下载链接:https://archive.org/details/surplusvalue051

关于《剩余价值 - 剩余榨值第 23 期:在巨大的 shock 后,我们所思考的、所做的一切都将于此有关》引文如下:

在这期节目中,我们将继续和罗新老师的聊天。我们依次分享了在疫情期间阅读的书目,其中有从宏大叙事角度论述瘟疫作为一种矫正社会不公力量的《瘟疫与人》,有作家沈大成在新书《小行星掉在下午》中创作的传染病主题的小说,有匈牙利裔美国记者卡蒂·马顿通过秘密警察档案回顾家庭史的《布达佩斯往事》,有余英时先生2018年出版的回忆录,有福柯关于生命政治和阿甘本关于难民的论述,也有奥尔加·托卡尔丘克举重若轻描述波兰二十世纪动荡历史的《太古和其他的时间》。在巨大的镇痛和震惊面前,我们逐渐发现,我们不再是从阅读中理解和想象他人的生活或者是其他的制度,我们所阅读的所思考的所做的一切都和当下有关,和现实有关。种种虚构的、非虚构的、理论性的、故事性的、轻盈的、沉重的、历史的、当代的文字,都指向当下,指向现在。正如罗新老师所言:「在巨大的 shock 之后,我们所思考的、所做的一切都将与此有关。」

此期的下载链接:https://archive.org/details/surplusvalue-e23

最后请记住:他们想封谁就封谁,但你想看谁就看谁。

Shadowsocks 搭建教程

目前的 Shadowsocks 教程很多。但都不怎么样。

比如他们喜欢对读者隐藏细节。为什么「对读者隐藏细节」是一件坏事?因为用户对命令行的恐惧恰恰是来自于对命令行交互的不知情,隐藏细节对读者的恐惧没有任何帮助。

所以在此写一篇。

要想搭建 Shadowsocks,首先得知道 Shadowsocks 是什么,Shadowsocks 是一个 socks5 网络代理工具。网络代理工具的定义如下:

代理(英語:Proxy)也称网络代理,是一种特殊的网络服务,允许一个网络终端(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接。一些网关路由器等网络设备具备网络代理功能。一般認為代理服务有利于保障网络終端的私隱或安全,防止攻击。

使用 Shadowsocks 代理工具的原理可以简单解释为「我的设备(手机、电脑)(又称为客户端) ->(通过代理工具)-> 未被墙的服务器(又称为服务端)-> 网络」因此你需要购买一个未被墙的服务器(又称 VPS)来搭建 Shadowsocks 服务端。

购买服务器之后,服务商一般会让你选择服务端所使用的系统,常见的选项有 Debian 系和 RPM 系以及 Windows。可以在这里看到详情

如果要再次确定您的系统使用什么版本,可以这样查看到您的系统版本:

1
cat /etc/*release*

会有类似这样的输出:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# DISTRO, RELEASE, ARCHITECTURE, PACKAGE_MANAGER
AOSC OS3, DP, AMD64, DPKG
# FSG lsb_release configuration file template
# If the distribution is LSB compliant, uncomment the following line
# and set the version appropriately
# LSB_VERSION=""
DISTRIB_ID="AOSC OS"
DISTRIB_CODENAME="Gumblex"
DISTRIB_RELEASE="7.0.4"
DISTRIB_DESCRIPTION="AOSC OS"
PRETTY_NAME="AOSC OS (7.0.4)"
NAME="AOSC OS"
VERSION_ID="7"
VERSION="7.0.4 (Gumblex)"
BUILD_ID="20200214"
ID=aosc
ANSI_COLOR="1;36"
HOME_URL="https://aosc.io/"
SUPPORT_URL="https://github.com/AOSC-Dev/aosc-os/"
BUG_REPORT_URL="https://github.com/AOSC-Dev/aosc-os-abbs/issues/"

其中,DISTRIB_ID 是服务器目前所使用的发行版代号,在这里是 AOSC OSDISTRIB_RELEASE 是发行版的版本号,在这里是 7.0.4

在确定了你的发行版的版本代号和版本号之后,就可以开始操作了。

假如我的 DISTRIB_IDDebian,版本号是 10.3。您可以这样安装 Shadowsocks,目前比较推荐使用的版本是 shadowsocks-libev,其他版本因为安全和易用性问题不推荐使用。虽然其他发行版安装 shadowsocks-libev 步骤不同,但大同小异,请使用系统包管理安装软件,并确保软件是最新版本。(可以在这里查看最新版本)。

先执行以下命令:

1
2
3
sudo sh -c 'printf "deb http://deb.debian.org/debian buster-backports main" > /etc/apt/sources.list.d/buster-backports.list
sudo apt update
sudo apt install shadowsocks-libev

有几个概念需要解释:

  1. 这里您做了:把 buster-backports 源加入 apt 的软件源更新列表。其中 buster-backportsDebian 10 (Buster)backports 源,backports 源是 Debian 在稳定版中保持某些软件为新版本软件的措施,有关 backports 的介绍请移步至这里,在这里使用 backports 安装 shadowsocks-libev 的原因是让 shadowsocks-libev 保持最新,因为旧版有安全性和可用性的问题,而 Debian 稳定版在不加 backports 源的情况下,为了保持稳定并不会让软件更新到最新。
  2. sudo 的意思是使用管理员权限执行命令,在 Linux 中,有着严格的权限管理。一般用户运行在普通权限上,若需要管理员权限执行命令则一般使用 sudo。在这里需要使用管理员权限的原因是修改了位于 /etc 中的系统文件,而修改系统文件需要管理员权限。当然,如果您的命令行的样子像是这样的:root@aosc,那目前您就在以管理员身份运行,在此加 sudo 那就是多余的。
  3. printf "deb http://deb.debian.org/debian buster-backports main" > /etc/apt/sources.list.d/buster-backports.list 的意思是:把 deb http://deb.debian.org/debian buster-backports main 的内容输出到终端中,> 的意思是把输出重定向到文件中,这里的意思是重定向到 /etc/apt/sources.list.d/buster-backports.list 文件中。所以总体的意思是,把 deb http://deb.debian.org/debian buster-backports main 这一行加入到 /etc/apt/sources.list.d/buster-backports.list 文件中。
  4. sh 是系统默认使用的 shell 解释器,-C 参数的意思是 command, 即执行命令。
  5. apt 是 Debian 系的包管理器,包管理器是 Linux 中管理软件的方式。意思是在 Debian 系中升级和安装软件都使用 apt 包管理器。有关包管理器的介绍请移步至这里apt update 的意思是升级软件源列表,而 apt install 的意思是安装某个软件,这里需要安装的软件包是 shadowsocks-libev ,所以是 apt install shadowsocks

之后,我们看看 shadowsocks-libev 这个包有哪些文件:

1
dpkg -L shadowsocks-libev

会有像这样的输出:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
➜  aosc-os-abbs git:(stable-proposed) dpkg -L shadowsocks-libev 
/.
/etc
/etc/shadowsocks
/usr
/usr/bin
/usr/bin/ss-local
/usr/bin/ss-manager
/usr/bin/ss-nat
/usr/bin/ss-redir
/usr/bin/ss-server
/usr/bin/ss-tunnel
/usr/include
/usr/include/shadowsocks.h
/usr/lib
/usr/lib/libshadowsocks-libev.so.2.0.0
/usr/lib/pkgconfig
/usr/lib/pkgconfig/shadowsocks-libev.pc
/usr/lib/systemd
/usr/lib/systemd/system
/usr/lib/systemd/system/shadowsocks-libev-redir@.service
/usr/lib/systemd/system/shadowsocks-libev-server@.service
/usr/lib/systemd/system/shadowsocks-libev-tunnel@.service
/usr/lib/systemd/system/shadowsocks-libev@.service
...

在这里需要介绍几个概念:

  1. /etc 是 Linux 系统放配置文件的地方。我们放 Shadowsocks 配置文件的地方应该在 /etc/shadowsocks 中。
  2. /usr/bin 是 Linux 系统中放二进制文件的地方之一。类似于 Windows 中的 .exe 后缀的可执行文件。
  3. /usr/lib/systemd/system/*.service 是 Systemd 服务文件。使用 Systemd 服务文件运行 Shadowsocks 可使 Shadowsocks 服务始终保持后台中,不会因终端关闭而关闭。这里我们需要使用 shadowsocks-libev-server@.service 服务文件。

所以,请先在 /etc/shadowsocks/ 中创建 config.json 文件:

1
sudo nano /etc/shadowsocks/config.json

在出现的界面中输入以下内容:

1
2
3
4
5
6
7
8
{
"server":["[::0]", "0.0.0.0"],
"server_port":8388,
"local_port":1080,
"password":"barfoo!",
"timeout":60,
"method":"chacha20-ietf-poly1305"
}

按照提示使用 Ctrl + X 保存。

这里需要解释:

  1. server 即服务器地址,您可以直接填写您服务器的域名或 IP 地址。这里的意思服务器 ipv4 地址为 0.0.0.0 , ipv6 的地址为 ::0

  2. server_port 即服务器端口。你可以理解为,您的设备连接 Shadowsocks 服务器时需要连接 8338 这个端口。

  3. local_port 即本地端口。您可以理解为在本地每一个服务传送数据,都需要分配一个端口,local_port 就是 Shadowsocks 需要分配的端口。

  4. password 即连接 Shadowsocks 所需要的密码。

  5. timeout 是达到一定时间不能连接后,重新连接该 Shadowsocks 服务器。

  6. method 为加密方法。请使用 AEAD 加密方法,其他方法不推荐使用。有关 AEAD 方法名单请看这里chacha20-ietf-poly1305 就是其中一种 AEAD 加密方法。

保存文件之后。运行 sudo systemctl enable shadowsocks-libev-server@config --now 即可启动 Shadowsocks 服务。这里需要解释:

  1. systemctl 是 Systemd 服务管理工具,用于管理系统中的服务。

  2. enable 的意思是开机即启动这个服务,这里需要启动 shadowsocks-libev-server服务。

  3. @ 后面的接着的是 shadowsocks-libev-server 这个服务所需要的参数,这里需要的参数是在 /etc/shadowsocks 中的配置文件名称,在这里配置文件名叫 config.json,所以就是 shadowsocks-libev-server@config

  4. --now 是立即启动此服务。

最后您的 Shadowsocks 服务器就搭建完成了。请尝试在您的设备中连接此服务器。

最后,延伸阅读:为什么我不推荐使用第三方翻墙服务(又叫机场)