希奇!博客栈

All Public Posts / 公开文章

from 挖煤矿场

上周,对面往我们的阵地前面炸了一发土造的炮弹,这东西发出一声巨响,掀起无数草皮,同时将我军打得魂飞胆丧,这就是为什么我直到将近一周后的现在才能出门,带着我的小助手西瓜。我只能忽悠出个孩子来,因为孩子心里不知道什么叫怕。 我俩一面爬坡,一面说着话,我发现自己不得不对她解释很多我并不太想提的事情,这些事,如果面对的是里面的那帮人,我是死也说不出口,但对着一个孩子——比你小整整三千岁的孩子,一切都变得简单了,我对她说话就像对一只蝴蝶说话一样,我喋喋不休了半小时,蝴蝶说:我只是路过。然后飞走。 我还发现,事情如果从头讲起会比较容易,这意味着我要在倾诉对象面前把自己翻个底朝天,但这无所谓,我就当把自己翻给茫茫的草地。它们都枯黄了,因为冬天就要来到,我们这边人手很多,何况还有琥珀这种难以形容的存在,因此储备了很多木材作为燃料。这两天,烟囱里总是滚滚不绝地冒着浓烟,因为我们在制作木炭。对面一定看见了,但不为所动。按兵不动是其一贯的策略,我在心里想象他已将牙关咬碎。他们最缺人手,可却志在制造一些大家伙,比如上周用来炸我们的土炮。好了不起么?我们也能造。我不过是觉得那玩意儿没什么大用处,我从前可是造原子弹的人。土炮?不够看的。倒是他们光顾着造那些中看不中用的东西,我倒要看看冬天他们没备好柴火该怎么过。 我也拿这个道理来说服我们的人,效果非常糟糕,他们是些土著,从来没想过世界上有什么东西能一时间崩得这么响。当时,地动山摇之间,银剑从茅厕里钻出来,大喊大叫:“老天爷放响屁啦!” 他瞪着大眼四处嚷嚷,把所有人都给闹起来了,在院子里聚集,然后大家就看见了空场上那个骇人的坑。琉璃吓得双手合十,就要栽倒,但她一会儿就坚强地缓了过来,说要为大家向上天祷告,求祂息怒,我实在是想不出什么事情能让老天爷以一个响屁来表达看法,我一屁股坐在俺们寨子门口的那两个大木桶上,哈哈大笑了起来。 这种土炮就算是抱在怀里也够呛能把人打死,可的确足够唬人,那之后,对面再提出种种和谈的要求,我就很难提出异议了。对面太卑鄙!可接下来他又提了一样堪称绅士的提议:原话是这么说的: “为了解决「敌对期间」的种种相互冒犯行为,我们有必要建立一个临时法庭,如果实行得好,不排除常备的可能,但我想我们还是先试试吧。” 接着他就排出干干净净地誊写在用破渔网和树叶制作的极其粗糙的纸张上的最大程度简化的罗马法。我立时气往上涌,冲对面的黑夜大喊道: “离婚!离婚!” 于是,离婚就成了我们这个临时法庭将要审理的第一个案子。我和杰诺。 我还有一个说明对面只是纸老虎、虚张声势、秋后蚂蚱的有力证据。杰诺的好搭档斯坦利前两天来找我,很有风度地站在寨子门口,背对一百步之外杰诺造的那个坚固的堡垒,和他精美的工业设计比起来,我们这寨子像他妈的垃圾堆里攒的,我对这耻笑充耳不闻,因为确实如此。斯坦利大喇喇地站在这儿,如果我或者杰诺中的任何一个人乐意,都能偷袭他一下,我还躲在房间里,杰诺则早已造出了射程超过一百步的弩箭。但他大爷有恃无恐,静静地说:“我来是为了说明一件事……” 他还没说完,金剑就大声嚷嚷起来:“投降啦!投降的来啦!” 斯坦利静静地望着他,他不说话了。孬种!我在楼上看见了,抓起外套就要下去,预备把事情闹大,把嚷嚷传遍方圆二十里地,让敌人闻风丧胆,让斯坦利再也洗不干净身上泼到的脏水,让生米煮成熟饭,好好涨涨我军威风。我下了楼,斯坦利说: “很好。别嚷嚷。我来是为了告诉你,我不准备继续掺和你们这无聊到家的游戏。” 说完,他就走了,没回杰诺那儿去,反正,我直到现在还没再见到他,我希望他干脆去死好了。我告诉大家:杰诺是个魔鬼,就连斯坦利这样对敌我都同样残酷的人也不能忍受他,撂挑子走了,说明他是兔子尾巴长不了。大家也都同意,当天晚上杰诺就往我方阵地(即寨子前面的那片草地)上投放土炸弹一枚,我的一切努力均告失败。 于是在这个带着露珠气息的清晨,我和一个傻得把西瓜皮套在头上的小女孩一起出门在高草丛里找那土炸弹的碎片,同时我无法再忍耐下去了,我对西瓜喋喋不休,要说我和杰诺为什么要离婚,先得说我们当初为什么要结婚。我先说:那是我发疯了。后来又改口:是杰诺太卑鄙。 杰诺确实卑鄙。我们爱得要死要活,飞到荷兰去秘密结婚,那年我十六岁,十六岁的意思是可以给自己未来的人生捅出要多大就有多大的篓子。我这个篓子是最复杂、最糟糕的一种:我爱他。就是现在我也依然爱他,我只要一想到代表他名字的一个符号一个单词四个字母,我脑子里浮现出的何曾就是他这个人,而是一切一切难以形容的极度抽象的东西,我想起我俩第一次见面的时候,鄙人不幸摔断了腿,这是因为大树非要拉我去打球,那场球赛可说是我这辈子最大的失败,上一秒我还在赚赌球的钱赚得盆满钵满,下一秒我被人一脚铲断了小腿,当场就过去啦!再醒来的时候,就看见一双眼睛。 真的是一双眼睛,他离我太近了。我后来发现他是跪在我面前,仔细地扒开昏迷中的我,察看我的瞳孔。所以,你们明白了:是他硬生生地把自己的形象给喂进我眼睛里去的,从此我就好像长了针眼似的,再也没法把这枚楔子拔出去,除非哪天发了狠,连我整个眼球都挖走。我又还没这么偏激。眼睛很有用,可以看看天,看看他,看看地,看看他,看看花,看看他,看看草,看看他,看看身边跑两步就被绊倒了的西瓜,看看他。 当时他雪白的睫毛好像真的要下雪,我以为那是积雪的屋檐而那些雪快要倒进我眼睛里来了,于是我为想象中的剧痛大喊了起来。 他直起腰来,问道:“同学,很痛吗?” 我这才注意到实实在在的腿上的痛楚,于是点了点头。他笑了: “这样呢?” 我又杀猪一样地嚎了起来。他满意地点点头。 “挺好的,抬走吧。” 他用全世界最粗暴的、绝对违反了医学伦理的手法检查了我,然后,唯一的安慰就是那句干巴巴的:“没事,同学,我想你不至于截肢的。”我眼一翻,又晕过去了。 在汗津津的梦里,我以为截肢之类的只是噩梦,但一觉醒来,看见的还是他那张脸。他坐在我床边,看着一本书,非常自得其乐。我哼哼了两声,他没听清,说:“什么?” 我说:“把书留下来,我就原谅你了。” 他笑了,“你看得懂吗?” 我瞪着他:“英文书!我当然知道!我还知道它是我找了好久的原版书!” 书是我的了。 可在书是我的了的这一瞬间,我反而没在看书,我在看他把书扔在我被子上时那种有点悠然,又有更多惆怅的表情,我不懂他有什么好惆怅的,难道是因为我还没死?哪有人会对一个倒霉的初中生抱有这么大的恶意!我对他刨根问底。 “你不是医生。你是什么人?” 于是他又笑了: “是啊。我的确不是医生。我只是‘你的’医生。” 和他交流效率是负值。后来我从护士那里知道了他。杰诺·温菲尔德教授,是来我校做演讲的,如果没有球场上的那场意外,当天晚上我就该挤在会场里听他关于弦理论的讲座了。他当然也是这样。如果没有路过操场,发现那儿躺着一个不幸断了腿的小孩儿,继而他就在床边看顾了他整晚上,他这会儿现在大概已经顺利结束演讲,离开日本了。 这是他在日本的第二天。第三天我抓住他提了一万个问题,他嚯了一声: “你要造火箭啊?” 我没好气地说:“我要造个原子弹,把学校炸了。” 每个小孩都有这种梦想。他点点头,说:“终于看起来有点像个孩子了。”然后他就坐下来在我的病床边和我讨论一切绝对不会和孩子讨论的问题。杰诺的课程犹如一千零一夜,可这完全是我自找的。我有连绵的问题用来套住他也套住我。后来我就十六岁了,开始觉得自己已经长大,可以为任何事做主,在十六岁,我没有造出原子弹来把学校炸掉,而是选择和比自己大十岁的外国男人结婚,那时候,我们连床都还没上过。 对了,我要记下来,他长期没有履行作为妻子的责任,这是婚姻实际破裂的有力证明之一。 我蹲下来从西瓜脚底下把刚才绊倒她的东西给刨了出来。这是炸弹的碎片。我在衣服上擦了擦,这东西上有隐约的拉丁字母:……mo 。 mo什么?他想摸我?我想摸他?我看是莫名其妙。 我把碎片收了起来。我们继续漫无目的地走着。现在我可以说我们在干什么了:我们在排雷一样地四处搜索炸弹的碎块。因为我要分析它的结构,好搞明白对面的科技树点到哪根枝杈上去了。杰诺毕竟只是个人,他一次也只能做有限的几件事。况且我和他不相上下,我很有信心打败他。 不过就是还没想好打败他以后要干什么。我们这儿人员太密集了,干什么都不合适。最近我发动群众给我挖了个地下室当工作间,但他们显然不把它当成是我的私人地盘,往里面一个劲儿地堆大白菜。 西瓜又给我一块碎片。我看也没看就塞进口袋里了。我心想:在法庭上,我要用这炸弹来举证我们感情破裂。绝没有做老婆的会往老公家门口扔土炸弹的。尊敬的法官大人,您猜怎么着?这炸弹甚至还是他自己亲手做的!他在往里面填火药、打磨铁皮、拧螺栓的时候,无时无刻心里不在想着把老公炸成一百八十片,这样的毒妇,法官大人…… 我和西瓜就这么在外面游荡了整整一个下午,可是我脑子里热热闹闹地开着庭呢,我差不多和他们所有人吵了一下午,我忙得很,要当法官、被告、陪审团、律师……直到我掂着腰间的那个包,觉得一枚直径六英寸的炸弹所需要的铁皮应该也就是这么沉,于是我们跪在地下,把那些铁片一点点地拼起来。我一边教西瓜念上面的词: 「Amor……」 我一心要拿这个炸弹当作最有力的证据,杰诺绝对赢不了。他败诉以后,我要把持由他提议建立的这个可笑的法庭。我要当个狠毒的独裁者,把他的碉堡拆了,强迫他住在我们乱烘烘的猪圈里,用所有人的争吵和邋遢把他活活烦死,然后他就会慌不择路地躲进我的房间里来,因为这绝对是世界上最后一个存在秩序的地方。 「Vincit」 我赢定了…… 「omnia.」 西瓜犹犹豫豫地推了我一下。因为我已经好几分钟不说话了。我盯着那些碎片,还有上面的词句。我知道我赢不了了。苍天!我是不是生来就注定要在这个见鬼的家伙身上破产?可他是胜之不武。他能赢我,不是因为别的,恰恰就因为这句话,只要我胆敢在法庭上举它出来,这辈子所有的脸都会立刻被丢尽,因为: Amor vincit omnia. ——爱,胜利。 #千叉

 
Read more...

from 挖煤矿场

#四策 转过天去,韩信显得十分不安,一天三次跑到城楼上张望。而只要他在那里,对士兵们就有振奋之用。即使是汉军的士兵,也都久仰韩将军的威名,多有偷偷看的。无论汉军还是楚军,实际却都是一家的人。萧延急得上火,跑到张良面前说:“监军,大事不妙哇!你怎么一点也不着急?”

张良道:“萧将军,您怎么不跑?”

萧延被他问得一愣(和张良对话常有这种感觉,差点就习惯了),“我为什么要跑?”

“对啊,”张良就把笔停下,用一双盈盈美目望着他,目光是真的非常好奇似的,“为什么呢?”

萧延好就好在他比较老实,此刻就据实回答:“我在这里是将军,虽然比不得彭大帅,也是有头有脸的人物,去了楚营,我是个什么?不被杀头就算好的了。”

张良道:“非也。韩将军正在用人之际,手下虽有陈平、灌婴之流可用,毕竟独木难支,萧将军是经略之才,若去投楚营,必得重用,说不定比现在的官衔还要高些。何况大公子的事儿,在楚营倒还是功非过呢。”

萧延对他是完全地无可奈何:“监军,您是在劝我叛变吗?”

“要真有这样的机会,您去还是不去?”

“我……我当然不去了!我老婆孩子兄弟和父亲母亲都在长安,若是抛家舍业,让我父亲老来无依无靠,我该天打雷劈!“

“人同此心,士兵们想必也是这样想……纵然有一时慕韩将军的威名前去投奔,终究只有长安是他们的故乡。真到了要启程随韩将军去楚地的时候,有几人能坚定地跟他走?”

萧延恍然大悟,一骨碌爬起来,正要迈大步往外走,却又回转来:“监军,我们没有理由,你却有的。何况韩将军对监军爱如珍宝。”

张良微笑着摇摇头,没有说话。萧延自知冒犯,也不再说什么,垂首退了出去。下午就做了一件事:跑到荥阳最大的酒楼去喝了顿花酒,喝到醉醺醺处,甚至把姑娘请到城楼上,请她唱支曲儿来劳军。姑娘唱道:

殷其靁,在南山之阳。何斯违斯,莫敢或遑?振振君子,归哉归哉。

这是一支家中的女子盼望夫君归来的歌谣。殷殷的雷声,在四周响彻,令我的心摇撼,我那久未归家的良人,你怎么还不回转?楚军汉军,无论阵营身份,听到思乡的歌谣,莫不下泪,于是军心大定,日日盼望刘盈王驾到来。就连韩信麾下的士兵,也大都是他从关内搜罗来的,听到这样的歌曲,也想到了长安中的父母兄弟。征戍之苦,实在是难以言表。只有韩信自己因为是楚地之人,想到要回家了,心中是畅快的,只恨情人不能随自己一道归去。

殷其靁,在南山之侧。何斯违斯,莫敢遑息?振振君子,归哉归哉!

隆隆的雷声,落在了山坡上,背井离乡的人,也该想想家中的妻子如何思念夫君快快回乡;而假如别离就在此际,纵然你会微微一笑说打雷这种事又有什么好怕的,我的心却如何割舍?而你的家又在哪里?在那高大威严,红墙上爬满青苔的长安城吗?在流水曲折、歌谣幽幽的楚地,还是早已几经毁伤的洛阳呢。

这些,临别到头,问来都无趣。

刘盈在去荥阳的路上,倒真没想到他这么饱受期待,实际上他慌张得不知道怎么办才好。随行的彭越就斥责他说:“殿下,您好歹也将要作为一国之君,该有点国君的样子,否则让我等怎生是好?”

刘盈听了他的话就更紧张了。彭越心想不若我还是闭嘴,就把帘子往下一拉,叫刘信好生照顾殿下,自打马走到前面吩咐马上要进城的要事去了。等他走了以后,刘盈才敢把车帘子掀起来看看,荥阳城已经在望,晨曦中显出朦胧的轮廓。想想几个月之前,他还是个为父王见弃的太子,每天被母亲耳提面命如不努力去争抢,就将成为别人的阶下之囚,甚或其他更凄惨的结局。吕雉这人对讲故事哄孩子睡觉不甚擅长,但如果要她说些可怕的事情把孩子吓得睡不着觉,那张口就能来十个。而今人人都把他作为这个国家的君主看待了。刘邦的身影在刘盈的记忆中仿佛还时常徘徊在未央宫中,实际却已经成为历史中的一页,被人迅速遗忘。现在这个国家在他的手中,他真的有机会去争取曾经希望的东西了。如果想从母后手中保全什么人,那么他一定要做到。他对刘信说:“阿兄,你看荥阳的城墙多高!下面有爬墙虎,等到夏天枝繁叶茂,肯定更好看。”

刘信说:“太子爷,你看这城墙上的爬墙虎,都是用人血喂的啊。”

第一次攻打荥阳的时候,他也随刘邦在行伍之中。刘信这个人一向犹如人背后的阴影,如今忽然开口讲这些事,讲完马上闭嘴,一副很后悔说了这番话的样子。刘盈叹口气,道:“阿兄,我好害怕啊。这一下,能给母后求一个垂拱安居,又能为天下百姓求一个休养生息吗?”

他自己合计了一下,又高兴起来,“韩将军人很好,我觉得行。”刘信没搭腔。

而他们一会儿就见到韩信了。刘盈进城的时候,先走一步的彭越已经为他安排好了一切,许多熟悉的面孔乌泱泱挤在城门口,刘盈跳下车来,道:“张先生!”

张良和韩信并排站着,微微一笑,“请殿下安。”

刘盈道:“我好得很。张先生,你不要紧吗?我带了宫里的医生来,恐这里没有好药材,能收拾的都给你收拾了。”

张良笑道:“谢太子挂心,臣已见好了。”

“那就好,真是吓死我了。”刘盈赶快奔过来,拉住张良的手,因有许多人在这里看着,他倒也不反抗,只道:“殿下远道而来,辛苦了,臣带您歇息去吧。”

刘盈道:“我不累,韩将军——”

韩信本来一直在旁边站着,表情好像被冬雪冻住了一样。此时听到召唤,也只是朝他拱手为礼。这在往常,自然是十分失礼的举动,刘盈习惯了周围人的周到礼数,这时候不免有些不悦,也方才反应过来如今站在自己面前的韩信已经不是帝王麾下的一名诸侯,而能与自己平起平坐了。他看着韩信风尘仆仆,似乎非常疲惫的脸庞,很想问他一句:韩将军,我父王是你杀死的吗?

但这句话终究没有问出口,实际上他早已知道答案了,长大的一个标志大概就是不会再追问一些答案实际上昭然若揭的事情。

他也朝韩信回了一礼,道:“韩将军,盈儿算是您的小辈,今日您要受盈儿一礼。只盼韩将军在往下的几日里,也以江山百姓为念才是,人生百年,江山万代,你我不要做让后人唾骂的事情。”

韩信倒笑了,“太子殿下,您见长了。”

他顿了顿,又道:“信只要不被一个人唾骂就心满意足。至于甚么万代江山,在我百年之后,与我又有何干?”

但刘盈知道,假使他真不在乎,一切根本不会走到现在这一步。也许当年他根本不会投入刘邦麾下;也许在攻破齐国之后就自立为王。所以刘盈也不把他这场面话当回事。等众人簇拥着来到布置一新的大殿里坐下,刘盈对刘信道:“阿兄,在我的车厢里,有一副地图,请给我取来。”

刘信不敢怠慢,即刻取来。两个侍者一起将卷轴拉开,大汉辽阔的江山展现在众人面前。

韩信道:“殿下明鉴,我身为楚人,只要那故楚地就心满意足。”

他从一开始就这样坦白;然而也可算作狮子大开口了。要知道故楚地和他诸侯王楚王的领地几乎是两个概念,故楚地可说是王朝的半壁江山了。然而即使如此,他也有如此要求的底气。刘盈伸手蘸了墨盒里的丹砂,从下往上斜斜地划了一道,“韩将军,人人都说我年轻,论计谋,我只有被人玩弄的份。可是原本就没必要这么多勾心斗角,孤承天命,为的是让天下万民过安宁日子。将军,我愿意将大江以南,故楚国的地方全都归在你手,我们两家就此偃旗息鼓,不要再起争端了。”

张良轻轻地叹了口气。

刘盈低头道:“连张先生都觉得我孺子不可教,可见我是做错了,应该像做木工活的工人一样慢慢地拉扯,十天半个月的。但这是我能做出的全部让步,韩将军,端看您如何选择。”

韩信听了,反而哈哈大笑起来。众人不知道他为什么忽然在这种时候笑出声来,都疑惑地望着他。难道韩将军面对太过软弱的对手,高兴得疯了?但是韩信笑过之后,也手蘸丹砂,在地图上圈出了一块,道:“太子殿下比我想象中还要精细,但是,殿下,这里是不能让的。”

众人定睛一看,才发现其中玄机。原来刘盈的这一道,虽然将故楚地大手笔地包含其中,甚至还比此前因与秦国的连年战争中逐渐被蚕食的土地大了些,依睢水一道,然而比起之前并不规则的楚国地图,少了一个十分关键的部分:符离塞。这里虽然地方不大,常年被忽视,实际却是一道十分要命的关卡,如非常年在楚地居住过,仔细勘察过地形者,不可能知道这里的关键。韩信身为楚人,知道这个倒也不稀奇;不过刘盈竟然也知道这里,又不知背后是何人指点了。

曹参也在座,他一贯地假装出年老昏匮的样子,这时候,却犹如忽然从梦中苏醒,双眼精光四射地望着整个房间。他和张良一左一右地坐在刘盈身边,左右着他的思想,因此韩信等于是在与这两个人交锋。

刘盈见被韩信点破,也不慌张,只道:“韩将军势力浩大,我和我娘却只是孤儿寡母,对将军的能耐怕得夜不能寐呢。如果没点把柄在手中,怎能安心?”

韩信微笑道:“你倒诚实。”

“韩将军过奖了。我也知道,符离塞实在太要命,端看韩将军的意思,要拿哪一块去换它?”

韩信何等颖悟,马上明白了他的意思,但他却道:“好,符离塞就让给殿下。”

至于那个更加要命的地方,他只字不提。刘盈咬着嘴唇,说不出话,此时一阵茶杯轻磕的声音想起,张良忽然道:“韩将军,臣斗胆,有两句话要说。”

韩信道:“没你说话的份儿。”

张良倾身向刘盈,用所有人都听得见的悄声道:“殿下,您请附耳过来。”

韩信长叹一声:“罢了,你还是自己说吧。”

张良微笑道:“也没甚么,臣是忽然想到了一件旧事。”

这种时候说些什么旧事?不过,他的事情韩信总是想听,他叹口气道:“说吧。”

“先帝昔年攻下南阳以后,曾经说过一句话。”

“什么话?”

“‘迁不轨之人于南阳’。”

韩信听后,眼中闪烁。说起来这还是秦朝时的国策,秦始皇将六国旧贵族和工商业经营者迁到南阳这贫瘠之地,这些人反而将这个天时地利两不沾的地方建设成了繁华的城市。但是离开了这些人,南阳此地什么也不是,更无什么地利需要争夺。张良想要南阳,究竟是为了什么呢?

韩信望着张良,直直地望着他的眼睛,这一对情人,在交锋之际,眼睛是如何出奇地亮;一忽儿恨不得爱入骨髓,一忽儿,在此地,又恨不得马上用斧子从对方身上削去一条臂膀。韩信看着张良,缓缓地摇了摇头。即使留下符离塞这样一个巨大的漏洞,南阳他终究不能放手。

张良也看不出有多遗憾的样子,自顾自喝他的茶,往后谈了三天,他好像这事已经完成了似的再没说一句话。

等到了不得不要离别的时候,张不疑才鼓起勇气,走到汉军这一边。车马俱已装妥,刘盈还在和陈平客客气气,韩信亲自把张良抱到车上,从外面只能看到他拉着对方的手,不知道在絮絮地说些什么。忽然韩信一扭头:“不疑,怎么不过来?我们,呃,说完了。”

说罢虽然看起来十分尴尬,但又磨磨蹭蹭不肯离去,张良俯身在他唇上吻了一下,伸手在他胸口极轻地一推:“去罢。”

韩信抿了抿嘴,走了。不疑这才走近前来,望着父亲。这一次离别,恐怕毕生都无法再见面了。不疑忽然发现自己有很多话要说,却一句也说不出来。他忽然抓住张良的一只手,放在自己头顶上。就像之前那个夜晚张良对他恶作剧的那样。

张良轻轻抚摩着长子的发顶,脸上的微笑变成了一种让人不忍去看的心碎的表情;不过不疑低着头,看不见他的脸,只听他道:

“楚地动荡,我没什么好送你的。这个拿去吧。”

就把一样东西塞在不疑手中。不疑一直看着汉军的车队离去,楚军的阵列也出了城,荥阳城一下子显得空旷起来,他自己还站在原地,直到发现丢了人的陈平差灌婴回转来找他,他才低头看了看手中的东西:一只锦囊。拆开并不是什么妙计,而是一把长安的土。

 
阅读更多

from 挖煤矿场

#四策 十二月的隆冬,铺天盖地下了数天,雪意仍未止住,鹅毛的大雪飘得断断续续,韩信从外面回来,一身雪气,大约是在雪地里涉过,连袍角也被雪水淋湿了。几天他号称要游览名胜,四处乱跑,荥阳这地方其实倒不以景色为称,韩大将军此番实在是抬举了。既回来了,就盘腿坐在张良旁边,道:“不疑如今已很能胜任千夫长的位置了,原本这个位置给他算是锻炼,然而过不了多久,就要变成屈才了。”

张良正拿着本书念,近了才发现其实并不是在读书,手里虽拿着书,人却歪靠在矮柜上睡觉,韩信话音刚落就发现了,因此暗自着恼,张良却已被他惊醒了,还是闭着眼睛,道:“韩将军说这许多恭维话。”

韩信把书卷从他手中拿来看,失笑道:“张兄,书都拿反了。”

张良这才睁开眼睛微笑道:“反着读有反着读的妙处。”

“如此说来,正着读不如反着读,我倒觉得反着读不如倒着读。这些兵书我早已倒背如流了 ,‘卒见太公,坐茅以渔’,倒过来就是先打渔,然后再见太公。”

张良微笑道:“说什么傻话。”

韩信道:“我对打渔一直没什么心得,当年我家里很穷,吃不起饭,我本来打渔,在集市上想用最后的两个铜板买粟米饭吃,却遇到一个老丈,对我说:授人以鱼不如授人以渔,老丈是好心,你把几个铜板留下,我就将渔具留给你,”这事儿他自己想起来也忍不住笑,“然后给了我一个烂鱼竿,我到河边想打渔来着,人家说:这里是我们的地盘!那里是我们的地盘!没办法,我只好到内城的桥底下。”

“那里就不会被人赶了么?”

“不会。”

“为什么?”

“因为那地方没有鱼。”韩信又笑了,“几个替人浣洗衣物的老太太终日在那里搅动水流,哪里还会有鱼?不过我钓的就是这些老太太,看她们会不会看我可怜,给我两口饭吃。”

然后他抓过张良的茶杯来灌了一气儿,搓着手,道:“外面天气不错,睡什么觉!我们快出去玩。”说着竟然不由分说把张良抱起来,然后他在屋里茫然四顾,张良两胳膊搂着他脖颈,道:“找什么?”

韩信却已发现了,大步走过去从架上摘下一件厚氅来,他倒灵活,用一只手还抱着个大活人,另一只手把衣物给他掖了个严实。然后又纷纷找来水壶、一盒糕点、一把短匕,不知道他要带这东西干什么,可能是为了出门挖土玩方便吧。乱七八糟地往张良身上丢,张良只有两只手,替他收拢不迭,终于道:“先把我放下再收拾。”

韩信的大将军脾气忽然上来了:“不行!”

然后一只手从张良手捧着的盒子里拿糕点吃。

韩信就出门赶了一辆小车,把张良放在车厢里,自己亲自赶车,拉车的是一匹老马,走得慢慢悠悠,车架子也摇摇晃晃,呻吟似的。韩信逐渐驱马往城东地势渐高之处走去,只觉冷风依然割面,实在不是一个出门冶游的好天气,然而他们的时间实在不多,在这不多的时间里想把一生的事情都做完,又怎么可能呢。

雪地上亮堂堂地映照出车辆的影子,犹如雪亮的道刀光一般刺人眼睫。韩信却见就是那雪地映照出了自己身后车帘轻动,张良悄无声息地钻了出来,手中握着一把匕首,高高举起来,就要往他的脊背上刺下。韩信心想:我还驾着车呢……忽然却感到被一双手从身后抱住,刚想回头,却被又抱得紧了些,而后张良把脸埋在了他的脊背上,韩信也就没有再回头。一会儿张良更靠上来,让他挪地方,韩信把窄窄的车架让了一半给他,张良看着前方,韩信则看着他的长发被风吹起来,一会儿张良从他手中接过缰绳,用力勒马转向,重回正轨后道:“韩将军,我们这是去哪儿?”

韩信道:“你想去哪儿?”

张良道:“我想去……淮阴的内城之下,做浣衣的农妇,等你来钓我。”

韩信得意道:“我的钓线刻长着呢!浣衣的农妇钓得,智计无双的留侯大人也钓得。来张嘴咬钩。”

张良果真把嘴张开,韩信却将一物塞在他口中,张良顿感到舌头一凉,吐出来一看,却是一枚质地细腻的美玉,以红穗儿系着。韩信道:“这玉据说乃是昔年赵王陈余的镇宅之宝,有什么延年益寿之类天花乱坠的功效,我怎么总忘了给你。”

张良微微一笑,把玉又含进口中。红穗儿在他嘴角一晃一晃的,韩信本多看了两眼,忽然又心烦起来,一把扯着穗儿拽出来,恼道:“不许这样!像……像……”

像什么他倒不往下说了。张良觉得好笑,往他身上一栽,道:“鬼怕韩将军,韩将军怕鬼。”

韩信赌气道:“我才不怕鬼呢。”

说着又叹口气,“我只怕你罢了。”

张良笑道:“不要紧,慢慢的将军您就会习惯了。”

韩信凝望着他,不觉又怦然心动,心想:能和你“慢慢来”,不知多好。

此时车行到一片平旷原野,旁边是滔滔的大河行至了穷处,只有几条柔肠百结的细流,埋在乱石下结了冰又被白雪覆盖。从远处吹来的风,不知从何而来,又到哪儿去。韩信道:“张兄,这里的一切都没有什么好,我们去淮阴吧,我不要你浣衣,不过我自己倒可以钓一钓鱼。”

其实这正是在那个大雨之夜,张良苦苦哀求过他的话。如今换成韩信自己来说了。

张良十分伤心地抚摩着老马的鬃毛,道:“这么远的路,一匹老马如何去得。”

韩信道:“既然不肯跟我走,刚才为何不干脆杀了我?”

“韩将军在那天晚上又为何没有杀我?”

韩信紧紧攥着手中的缰绳,什么也没有说。张良一根根把他手指掰开,以自己的双手拉着,道:“没关系,韩将军,我总陪你到最后。你我两人要互相成全。”

韩信道:“只是成全吗?你成全我的什么?若是成全我的功名,功名又有何趣?别人不知道我,你总知道。我做这一切不是为了荣华富贵,我是为了……为了那一百年、一千年、一万年也不变的事物。”

张良静静地看着他,一直将韩信望得哑口无言。

张良一伸手从他袖中将小星摸出来,用这削铁如泥的宝刀,将那枚宝玉一剖两半,一半交在韩信手中,韩信道:“我不与你分玉。”

“这不是玉,这是和合的虎符。将军将来就懂了……你我二人总要给后人留点真正的东西。”

韩信这才将玉收下,小星也藏回袖中。张良当年散尽家财,草草地将他死去的幼弟埋葬在一口薄棺材里,过了数年,他在暗中联合六国旧人,筹谋灭秦复国。只是当年秦皇帝收天下兵戈,饶是韩国曾为六国中甲兵最利者,此刻也是空有好工匠,没有半点铁屑可供锻造。张良遂带人星夜潜回洛阳,掘出了尸骨,烧出百二斤生铁。 灌注了大量铁水的尸体,不曾腐烂,面色青白,口角含怨,过了这么多年,还在苦苦地问着死前没有得到回答的那个问题:哥哥,我想活。为什么我该死? 后来,最后一炉里不巧被匠人泼进去一罐丹砂,那匠人当场吓得魂飞魄散,一路大喊大叫着要大家赶紧逃命,所有人聚集到二里地之外的山坡上,等着那炉子爆炸,可是竟然什么也没有发生,回来搜索炉膛,从中捞出一把颜色血红、形状奇异宛如情人双唇的利刃,这就是小星了。 韩信捏着袖子里的小星,信誓旦旦地道:“这是我的!你给了我就是我的。”

张良却在他嘴角一吻,“那这就是我的。”

韩信脸通红地道:“下次这样要先告诉我一声。”

“为什么呢?”

“我要……我要准备准备。”

张良道:“你准备吧。”

“啊。啊?”

张良又扳过他的脸来将情人的嘴吻了又吻。

老马慢慢地行走,走到冬日向阳的山坡上,坡上腊梅开遍,两人拂去梅枝雪花,坐在梅花树上,互相传递一壶酒和糕点盒子。张良毕竟病中不胜酒力,迷迷糊糊在枝儿上睡着了。韩信登在最高的一枝上,登高远望,只觉四处白银铺地,这江山风景如画,心旌动摇,忽然低头一看,张良脸颊泛红,在梅花之间沉睡,心如齐飞的鸽群般扑棱棱又落下来。他轻身飞下,落在张良身边,搂着他,怅然望向雪地,一忽儿只觉雪地花白晃眼,将刺痛的双眼埋进张良颈侧,泪落如雨。

荥阳城所驻扎的两军虽然日日练兵,今日倒闲散热闹起来,都看萧将军一箭射下了南飞的大雁,萧延的箭术不仅百步穿杨,且力道猛烈,大雁哀鸣一声,坠下地来。一旁的小护兵忙自告奋勇奔过去拾,大雁却落在了两个人脚下。小兵连忙跪下行礼,张良弯腰将大雁捡起来,袖中洒落梅红飞花点点在雪地上,和雁血混在一起难分难辨。

韩信道:“这个季节,哪里还有落单的雁?”

张良将雁儿托在手中,道:“是啊,你怎么走得这样迟……”

再不说话,将雁儿给了那护兵,道:“拿去吧。”就与韩信一同离去。梅花一路自他袖中飘散而出,同时听得他道:“怎么能这样糟蹋东西。”原来韩信趁他睡着,摘梅花藏在他袖中。韩信只哈哈发笑,一会儿性子起了又将他打横一抱,又是转圈儿,又是施展轻功飞至窄窄的楼台窗沿上,玩似地,可一会儿就走远了。

 
阅读更多

from 挖煤矿场

#四策 韩信与张良久别初见,喜欢得拉着他不肯撒手,明明困得眼睛睁不开了,还要找他说话。大半夜的依在他耳边看着外面的月亮在云层中起伏,忽然说:“张兄,太子要赶来还早呢,长安远着呢!我们明天出去玩吧。荥阳可有什么好玩的没有?”

张良顺着他说:“郊外有梅花开,想必不错。”韩信也连连赞同,实际张良就算说要带他上菜市场看杀猪他也会点头。两个人说着说着,都眼皮打架,也不知道谁先睡过去的,这么不像话缠着一块也凑和了一晚上。说来奇怪,韩信在忧患之际吃得好睡得香,唯有现在心情放松,反而连篇絫牍地做起梦来,后来从梦中惊醒,发现自己和张良搂在一起,自己的双手扣住他的脊背,他的脸埋在自己胸前;自己的腿还搭在人家的腰上。他想爬起来,手却感到牵绊的力道,原来睡着的时候两人的手也扣在一起。

叫醒他的是外面的天光,微弱的一点点晨光钻透黑暗的夜晚。韩信喜道:“张兄,天亮了!起来看日出。你记不记得上次我俩一起看日出是什么时候?”

其实看日出这件事有讲究,要在高处才好看。偏偏荥阳是一座平原上的城市,既无地势可恃,天气也常阴着,譬如今日就是如此,实在没什么好看的,瞪酸了眼睛,也不过是见黑天慢慢转白。但韩信喜爱日出这件事。当年他做齐王,张良不远千里穿过项羽的阵地来封他为王,那会儿他看见张良就高兴,因为张良代表他的荣华富贵。

那时候他的荣华富贵来见他,倒十分朴素,若不是知道张子房总立在不败之地,看他那样子,韩信要怀疑他是因为什么事情和刘邦闹掰,前来投奔他的。实际张良初至汉军之中,军中就多有流言,说看他这张脸,不知除了撒娇之外还有什么本事。结果后来张良好像什么本事都有,唯独不会撒娇,对此会失望的当然不仅仅是那些好事者。

他来见韩信的时候,是孤身一人前来的,看上去风尘仆仆,很有一点凄惨,但凌乱长发所簇拥的那张脸,笑起来太过动人,足以点亮一切荒凉,令人忘却了一切。

韩信那时候和他并不熟悉;他知道一些奇功出自对方之手,对方也是如此看他,望着对方犹如两座山峰相峙,真的站在眼前了,才发现面前的不是什么需要在功业上一争高下的山峰,而是一个活生生、香馥馥、暖融融的人,韩信有毛茸茸的微笑,像阳光的模糊的边缘。与太阳的不同之处在于,他是可以仔仔细细地看的。目不转睛地看的。

张良在韩信开口问他为什么这样看着他之前,一直沉默地望着他;后来还是他先反应过来,韩信为何久久不发一言?原来韩信也看他看得呆了,而且是征战沙场的人所特有的那种贪婪毫不掩饰的目光。两个人都是这么想的,结果就是半天谁都没有说话,令旁边的军士们疑惑不解。

最后还是张良拉起他的手,依然没有说话,韩信就把他拉进寝宫来了。

这时候韩信并不知道张良来封他做齐王,他以为发生了什么糟糕的事,心里替张良先觉得不值,无论什么事都值不得一个张良的。结果张良从粗布衣服里面掏出汉王亲笔所写的图轴,韩信嘴一撇。张良道:“韩将军您好像十分失望的样子。”

韩信道:“我以为你来投奔我呢。”

张良道:“我是来了,您给我什么呢?”

韩信想了想,清点齐王珍宝的时候他看过齐王妃那美丽的凤冠,上面镶满明珠,在夜晚蓝幽幽地发光。但开口却道:”给你明珠百斛吧!“

说完他就笑了,“其实我只有七十斛,剩下的先欠着。“

张良笑道:“不够。明珠何足惜?我想要的是一个晚上。“

韩信伸手解开他的衣带,一层层把他从粗布衣服里面剥出来。好像从很坏的油纸里面剥出美玉。他自己的盔甲却很不好脱,铁片贴上皮肤却冷得火烫。两个人对这东西好一番手忙脚乱,最后韩信一刀把盔甲前面的系带削断了,对后面的就无办法。张良绕到他身后,低头以齿吻过,再转过来口中所衔短刀已将铁甲削烂。这刀很是奇异,刀刃水红,犹如情人的双唇;他危险又锋利的情人,尖锐则更甚于刀剑。

此刀名为小星:嘒彼小星,三五在东。肃肃宵征,夙夜在公。寔命不同。这个夜晚其实寒冷而寂寞,大似当年逃离家国的时候那萧疏的夜空。韩信心想:真是难题,衔着利刃,我怎么吻他呢?就笨得不会让人家把刀放下,而是自己将嘴唇压将下去,带点赌鬼豪掷最后的筹码时的气概,他在锋利的刀刃上尝到了血腥的味道;不仅仅时被割破舌头了的他自己的血,还有许多命丧此刀之下的亡魂。他们死时有没有尝过这把刀的滋味?要品尝一把刀,依然要用舌头,而不是另一把刀;即使韩信自己的开山宝剑也时世之名器。尝过了就知道刀上面有血也有泪。

张良微微一笑,将刀扔进衣服堆里,捧住韩信的脸亲吻。吮他的舌头,尝被割破的伤口的味道,并不是在品尝血,而是在尝无悔的爱意。这滋味让人心里发软,不忍再尝。

可是爱火已然在烧;兴兴轰轰,一发不可收拾。两人踉跄着倒在软榻上,韩信进入他的时候是闭着眼睛,将脸埋在他的颈窝里,嗅他身上血酿成一般带点辛辣的甜味,这是常年的许多草药在人身上熬出的味道。草药熬人,岁月也熬人,将人的一把细腰熬得柔软无骨,在君王身下婉转承意,一会儿你觉得似乎要就此化在他身上,一会儿又觉得是双手捧着的馨香胴体即将化为一汪春水流淌去,他下意识地就要伸手去捞,一捞之下却是拖着对方的腰背令他更深地容纳了自己。两个人在对方嘴里尝到血味汗味,高潮时刻泪水的味道。张良平时是个柔和的人,至少看起来如此,没想到伶牙俐齿是为床上的事情所准备的;韩信差点觉得自己好像一口烟叶子被他吸进去,胸腔里转一圈,又飞出来散在空中,再以猛烈的亲吻夺去他的呼吸,两个人吞吞吐吐地交缠着胸腔里的一口气,就连呼吸也不再区分你我之后,再想、再去讨论些什么齐国、赵国,楚国……显得十分令人懒费口舌。

欢爱过后,两人坐在床头,也是看天色一点点亮起来。韩信一笑鼻子就皱起来,对张良得意道:“打齐国的时候,也是这个时候我进了城。进城一看,齐王的宝座被光照得亮堂堂的,真好看。”

张良顺从地微笑道:“臣没见过。”

韩信道:“我们还有楚国要打,等我打下楚国,你就能看见了。”

张良道:“光照在死物上能有多美?胜过如此吗?”

说着就将披在身上的一件韩信的袍子褪下来,翻身坐在他身上。两人连帘子也没有拉,外面清晨的光芒透过木雕的屏风,斑斑点点地落在张良的身上,犹如斑驳的美玉,一斑一点都在人的心上。韩信看得痴了,张良捏着他的下巴,道:“韩将军,您说,胜过如此吗?”

说着就吻下来,他在袍子下面一丝不挂的身体也落下来,拧动着将他吞吃到最深处。没有什么时刻比你在一个人体内塑造出形状来更能证明他就明明白白地属于你。如果有的话大概是更清晰更猛烈的形状。从两人**的地方,淋淋沥沥地流淌出斑驳液体,好像长夜将尽,哭得凶了的蜡烛,用滚烫的蜡泪来将自己淹没。黎明的光,照耀在情人的肌肤上,这是世界上最好的暖玉,因为内里有一颗正鲜活跳动的心脏。张良能感到自己吞吃到最深处的时候韩信的心跳一下子加快了,在上气不接下气、像抽噎又像那些本来就哀愁婉转得犹如泣音的楚地歌谣一般的喘息当中,依然笑了起来。

韩信道:“你笑什么……“

张良就不动了,伸手把他抱住,韩信也下意识地伸手来搂他;两人彼此充满而静静地感受着这个时刻,一个心跳得非常非常快然而心又非常非常静的时刻。张良微微笑道:

“韩将军,我可知道了你的心啦。“

韩信呆呆地说不出话。从那时候起他才模模糊糊地开始想:活物更美,还是死物更美?令无数英雄折腰的江山,究竟代表着什么东西?当它真的落在他手中的时候,该是一种怎样的重量?君王的豪情和美德,会大言不惭地说出“爱江山也爱美人”、“要江山也要美人”,可美人一笑就令他心碎了。一颗破碎的心,被他知道了当然不要紧,被他拿去亦不要紧。

从那以后他有时候也有点怨张良。他本应拥有一个辉煌的梦似的一生,张良硬要将他叫醒。那个醒来的现实空无一物,只不过有他的爱人。

也许作为一个清醒的人,张良也是如此地渴望一个伴侣。

天光渐渐地起了,照在两人身上,韩信自己乱想着,感觉再躺下去事情的性质就简直犹如白日宣淫,就推一推身边沉睡的张良,道:“张兄,怎么如此贪睡,长安也不远!起来起来。”触手感觉对方的皮肤滚烫,这才大惊失色,把他捞起来揽进怀中仔细察看,却分明是烧得昏厥过去了。韩信将张良塞进被里裹得严严实实,自己下床穿鞋走了出去。

刚一打开房门,却见陈平站在门外,见到他就恭恭敬敬地一揖,道:“殿下所交代的事情,臣已办妥了。”

韩信知道他说的是回长安报信的事情,陈平接着道:“军中军马短缺,不可轻动,因此只能请使者慢慢地走罢了。”

慢慢地,走回长安,能将这段等待的时光无限拉长。韩信默了一会儿,道:“兹事体大,毕竟不可怠慢。叫……叫灌婴骑我的马去。” 他轻轻地叹了一声,“也许冥冥中真自有天数……尊夫人也还在长安,你也尽可赶紧打听她的下落。去吧。”

陈平一声不吭,道:“是。”却不退去,反而朝屋里张望。韩信道:“怎么?”

陈平道:“臣僭越了。”不由分说地走进屋子,从重重锦被里剥出张良的脸来,仔细看了看,又摸了脉,这才站起来对韩信道:“荥阳城中无有好大夫,殿下交代的事情,臣这就去办。”

韩信嗯了一声,陈平便行告退,快要走出屋子的时候,忽然听韩信道:“我该怎么办?”

陈平暗暗一叹,脸色不变,道:“张少傅看似好行险,实际从不做没有把握的事,这件事他既然敢做,那就有生还的把握,即或没有——”

韩信的眼色有如利箭般射了过来,陈平接下去道:“即或没有,那也是他心甘情愿。”

韩信扭过脸去,走到榻边坐在地下,只朝他摆了摆手,没有再说话。

在派使者赶往长安的这段时间里,张良的病情一度十分危重,韩信整日整夜地抱着他,听他的呼吸,数他的心跳。还有一个人也非常焦急,这就是汉军的主帅萧延:没有大将坐镇,两军乱作一团,韩信虽然也没空管这些事情,他手下陈平却不是吃素的,萧延实在玩不过他,因此一天来看张良八回,每回都能看到韩信在这里,要么拉着他的手,要么把他连被一起抱在怀里。一来二去,韩萧二人也熟悉了,萧延恍然大悟道:

“怪不得张监军总是一副若有所思的样子,原来他挂念的人是您哪。”

韩信一本正经地说:“我赚着了。”

又将脸贴着张良的脸,喃喃地说:“我也挂念你,我也挂念你……可还是我赚了。”

萧延心想:这个疯病到底谁传染谁的?不再多话,就此告退了。当天他将不疑在校场痛打一顿以挽回汉军颜面不提。

这儿没有什么好医生,有个老军医来看了看,说弓力太劲,震伤了本来就不甚康健的五脏六腑,恐怕无有救了,韩信听了,由惊怕中陡然生起气来,当年要不是张良教给他那么鲜活的美,他二人何至于此呢?也许他将成为不可一世的君王,再稀世的美人也召之即来、挥之即去,那也将免于伤心。张良难道是专教他伤心的吗?于是医生说,是生是死,且看今夜的时候,他反而面无表情地走开去,走入茫茫的黑夜之中。楚军无人能猜透韩信的心思,陈平也将不疑拉住了,道:“还是不要看楚王殿下,顾着你爹吧。”不疑道:“他要走,我有什么办法?……陈先生,您说,他从一开始就不跟我们在一起,我……我能有什么办法?”

陈平道:“你真是他的亲儿子。”头一回也被他气的够呛,干脆走了。

转天晨光熹微,张良从漫长的迷梦中醒转过来,动一根指头都浑身痛,只好瞪眼看天花板。忽然窗户被猛然推开,张良扭头看去,原来是韩信,韩信这两天自己跑出去玩遍荥阳山水,简直不着家。此时正艰难地爬窗户上来,张良道:“韩将军……”

韩信反而恼道:“闭嘴!“

张良道:“楚王殿下千金之体,还是不要做这么危险的事情,若是伤着了,臣担待不起。”

韩信道:“我就爱爬窗户,谁叫你醒来撞见的?”张良就把眼睛闭上,这一下就真的又睡过去,再醒来已经日落西山,窗户好端端地关着,方才发生的事情确然正像一场梦……继而一扭头,看到了枕边的一簇紫色的小花。韩信自己倒不见人。他因为被张良吓得魂都掉了,这两天正冒大将军火气。

只有夜深了,这两天张良觉多,深夜里韩信放心大胆地到他房中来,沉睡中的美人线条柔软,杀伐之气都褪去了。韩信爬上床来,看着他,烛光的阴影在他脸上跳跃,忽然伸手掐住张良的脖子,心想:未来不知还会发生怎样糟糕的事,不如就在这里结束吧。我能陪着他死,于我也是幸运。于是手上更加了力道。可是张良在梦中感到不适,发出模糊的哼声,忽然翻了个身,一只胳膊搂住韩信,将他压在身下,自己在他胸口找了个地方舒舒服服地又睡了。韩信大气也不敢出,躺在那里苦苦等待天明,后来不知不觉地也就跟着睡了。

 
阅读更多

from 挖煤矿场

#四策 虽则前一天刚刚经过了惊险的战斗,但今日的欢宴依然通宵达旦,只在午夜时出了插曲。午夜时笙歌扰扰,美人歌舞作伴,无论什么事情在酒宴上总是比较容易谈得成,何况士兵们都思归了。这些士兵大都是从长安带来的,长安对他们而言不仅是世上最巍峨的城池,还是一个柔软的词汇,意味着人生在世无法奢求的一切。新丰的扰攘,街市的繁荣,皇宫的威严,生活在天子脚下,未来的太平生活将无限地长久的幻想,都在那城中。 帝国建立之时,刘邦在犹豫。他羡慕着秦宫的威严,想要效仿秦皇帝,在平地上建起宫殿,以夸示自己的荣耀,但回到家乡定都的好处是很明显的,洛阳乃是六国时就兴建的大城,一呼一吸都带有历史的气味。在洛阳的宫殿中生活,仿佛和许许多多他的前辈们生活在一起。这些人都曾经统治过他们脚下的广袤土地,很多人有过无穷的机会和幻想,但他们都死了。 刘邦得到天下时已有五十多岁了,叔孙通说:陛下不老,五十正是知天命之年。刘邦拿眼斜睨着他,说: “好啊,那你说说,朕的天命是什么?” 老头接下去就给他念叨了一大堆儒家的治国理念,听得他大笑不已,反问道: “儒家不要求人遵守诺言的么?” 老头摇头晃脑地念道:“人而无信,不知其可也。大车无輗,小车无軏,其何以行之哉?” 皇帝说: “我进秦关的时候,与父老乡亲约法三章:杀人者死,伤人及盗抵罪,轻傜薄赋,让中原百姓好好休息休息。若要用你的这一套,那就是说,要在天下人面前背约。这个骂名,我可担当不起。” 叔孙通支支吾吾地,说不上话。 皇帝就这么把他当个耍子看,也觉得挺好玩儿的。郦食其已经让他不太习惯儒生就是这个样子的。除了一开始是穿着长袍来见他的之外,郦食其浑身上下没有那一点像个儒生——反而像那个身长八尺,胸怀大志,带领学生周游列国的孔子本人。他常常和刘邦一起饮酒到天明,老先生见多识广,会讲很多很多故六国时代的故事给他听,刘邦年轻时向往着一种任侠生活而不可得,如今,六国的绚烂色彩,在郦食其那些故事的粉饰之下又活了过来。 因为营中谋主已有张良,他一开始只把郦食其当成是一个很好的酒友。张良也会陪他喝酒,但总不是那种朋友相聚的感觉。他会尽心周到地在酒席上侍候他,但哪对朋友会总是在酒桌上一个侍候另一个的?张良是心甘情愿地以某种俘虏对主人的态度对他,他是那遥远六国时代的遗迹,是一个怀着无法消融的愤恨从地狱中爬上来索命的冤魂,身后还拉着无数悲哀嚎啕的魂魄。刘邦拿他当智囊、老师、很好的情人,唯独不能当他是朋友,因为他的心早已不在这儿了。不在这儿,在哪儿呢?究竟是在过去漫长命运的哪一刻枯死的呢? 他细细地追索着过去的一切。是在韩王成死的时候吗? 和张良认识很久以后,他才亲眼见到了他的主君韩成。张良为了灭国亡家的仇恨,日夜咬牙切齿地谋划着报复,韩成不像他这样。他这一支血脉并不受什么重视,在度过了一整个寂寞的少年时代以后,变得格外地喜欢那平静热闹的生活。张良找到他时,他在乡下做富家翁,养了许多舞女,她们像百灵鸟儿似地日夜围绕着他。张良怀揣利刃,身披冷雨,湿漉漉地闯到他面前,说:“成哥!我们得复仇。” 韩成什么也没说,他不知道该说什么,只是叫人带他下去换一身干爽衣服,然后带去吃饭,喝碗热汤,安安稳稳地睡下。张良不肯听从,伏在他面前,说:“不能就这么算了,我从晋阳来,我一路上一直跑一直跑,我看见……” 话音未落,他咬着嘴唇哭了。韩成搂着他,拍打他压抑着哭泣而颤抖的肩膀,说:“我虽然没本事,把你藏在家里,一辈子给你一碗热饭吃,一个热铺盖睡,还是能的。留下吧。忘了那些……我们过我们的日子……” 张良那望着他的双眼里,仿佛正燃烧着。他那美丽而清澈的黑眼睛,犹如漆黑的珍珠,正忍受着烈火的煎熬。挑剔的珠宝收藏家,会把珍珠和玉石投入烈火中灼烧,以测试它们是否足够坚强,在火中碎裂了的,丢了也不可惜。这是对珍宝所做的必要的考验。他指着韩成那些受惊而呆站在一旁的舞女们: “你要我和她们一样吗?成哥?你是这么看待我的?” 韩成抚摸着他湿淋淋的头发,柔声道:“我把你当我的家人看待……国破家亡,我也只剩下你了。我想给你我仅有的这片屋檐。” 张良失魂落魄地站起来,随着身披绸缎的女孩子们纷纷把他拥进里屋,要把他洗干净,换上好衣服。可是姑娘们一个不注意的功夫,他已经一阵风地消失,只留下轻飘飘的帐幔,犹在拂动,盛开的盆花洒落了几瓣在地下。大家嬉笑着跑去报告韩成: “公子,您方才招待的,可是牡丹妖精么?” 韩成握紧了刚刚从匣中取出的宝剑,怅然道:“是洛阳的花神。” 张良明明能在那时候杀死他所有的舞女,烧了他的房子,然后逼迫他和自己一起踏上复仇之路。年轻时候的张良就是那么爱勉强。韩成对如今富足安逸的生活很不舍,但如果这是张良的愿望,也只得硬着头皮去替他达成。可张良放过了他,独自走入了冰凉的风雨之中。 两人再见面,已是十年之后的事情了,韩成发现张良已不知在他不晓得的什么地方学会了这样柔顺地垂下眼睫,手按着面前的地面,轻声地说: “拜见横阳君。” 韩成看见他,骤然觉得自己已老了。他度过了山中无日月的十年,可这十年的债,在这一瞬间全从他身上找回来。他双手将他扶起来,却不敢看他的眼睛。张良说:“我已为您准备好了韩王的仪仗和人马,我们回去,再一刀一枪地把韩国的天下打回来!” 韩成没法不说出一个“好”字。否则他一松手,他就又走了。 刘邦后来是在洛阳见到韩成的,这是故韩国的土地,他带人为张良助战。拿下了洛阳,让张良非常高兴,两人一起走在洛阳已残破了的街道上,他的眼中看到的却仿佛不是如今的废墟,而是数十年那个花团锦簇的故乡。一面走,一面间或给刘邦指出来,这儿是他们曾经念书的地方,这儿呢,是昔日最好的酒楼,今晚当在这里招待沛公……刘邦从来不知道他还能有这么神采飞扬的时候,不免看得呆了。张良偏过头来,望着他: “沛公,您在想什么?” “张先生今天好兴致呀!今晚该要不醉不归了。” 张良微微一笑,又望向那辽阔的苍穹。 “是啊。沛公不知,我原不过是个六国的亡魂罢了。” 韩成是韩国的贵公子,虽然王位是轮不着他的,但对刘邦当然是比下有余,身着红黑交织的直裾,头戴玉冠,一副雍容华贵的王者气派。张良已使他自立为韩王了,他自己则又被韩成封为申徒。这职位原本是掌管土地的,可如今韩国又无半顷地是确定无疑地属于自己的,就连他们脚下所踏的地面,说不定第二天又被夺走。但那时候的张良显得兴致勃勃,胸有成竹。晚上,张良在屋里摆了几样小菜,和刘邦叙旧,刘邦说: “张先生,当时你说的兵法,我渐渐地领会得了。” 张良微笑刚要说话,忽然咳得一直伏到地上去,眼里汪汪地满是不自禁沁出的泪水,但依然用手掩着口,冲刘邦道:“沛公是聪慧的人,一定能在这乱世中有所作为的。” 说话的时候神情愉快极了,而且似乎一点也没有意识到他刚才许诺的是多么离谱的事情,他悄悄地对刘邦说:“我会帮助您的。我会尽我所能。”刘邦当时被雍齿打得抱头鼠蹿,又复一文不名,可张良这么说,他竟然着魔一样地相信了。次日他向韩成道别,张良笑道: “陛下,我去送一送沛公。” 韩成当然没有不答应的;张良钻进刘邦的车里,脸上带着小孩子恶作剧的那种笑容。这一送就送出了韶关,送过了南阳,送到了秦关,送去了汉中。送到了刘邦和郦食其的酒桌之前。那会儿韩成死去有一年多了,张良偶然从刘邦的营帐前过,刘邦为着要他高兴,告诉他自己已经决定了要立六国的旧人。韩成虽然死了,偌大一个韩国,一定还能找出别的韩国后人来的——或者张良自己。 张良默了一会儿,在他面前坐下,微笑道: “我来为大王数说几条不可以的理由。” 刘邦年轻的时候,挎着一个扁扁的包袱,就出发要去魏国拜见大名鼎鼎的信陵君,走到半路上,听说信陵君已死了。当时同行的张耳也说他忽然像傻了一样呆住了。张良说着,在桌上摆弄着权作算筹的竹筷,神态如常,刘邦慢慢地握住了他的手。张良说: “大王,天下,终有太平的时候。”他慢慢地吐息,“而且会……降临在正确的人手中。”

皇帝罢了酒杯。乌江畔项羽将酒杯掷在地下;韩信与张良将杯中酒一饮而尽,两人互相亮了杯底。这是古今相通的时刻,英雄罢手、无可奈何的时刻。 酒酣耳热之际留侯走下来举杯给楚军将领一一敬酒,不疑因为毕竟不能缺席,还是要给韩信面子,其时也在座,张良提着壶走到他面前,和颜悦色地称他为“张将军”,斟满了他的酒杯。不疑盘腿坐在地上,呆呆地仰头望去,张良那没有丝毫岁月痕迹的柔美面容显得非常陌生,长发的阴影拂落在他身上。不疑不知为何,猛然做了一个连他自己都始料未及的躲避的动作,朝后面仰了一下,杯中的酒撒了大半在不曾脱下的锁子甲上。

这次轮到张良愣了一下,忽然微笑道;“不疑长大了。好吧,不喝我这杯酒,是你的权利。”

说着就走了开去,挨个儿地敬他的酒。不疑的目光追逐他的背影,心又落了下去,再次意识到自己似乎是在无意之间做出了一个非常重大,也许会让未来的自己追悔莫及的决定。但是至少现在,他还没有后悔,还有力气在这条路上走下去。

留侯走到人群之中,忽然一个厨房的侍者端着托盘走上来,与他擦肩而过,错手之间却露出了一截白刃。这变化来得太过迅速,甚至连张良自己都似乎没有反应过来,那人却在脑门上挨了一只果子,被打倒在地。果子砸得稀烂,血一样鲜红的汁液流下来。张良拧过他的手腕,将匕首夺了下来。这人被上前来的士兵七手八脚地摁住,犹在破口大骂。张良退后两步,淡淡道:“带下去,莫要扰了此间雅兴。”

说着就走回上席,在韩信身边坐下。韩信的手举起来,犹豫了一下,停在半空。张良道:“韩将军,现在你我狼狈为奸,和我亲近些也没关系。”说着酒醉了似地笑了起来,一直笑出酒窝,拉着韩信的手,落在了自己的肩膀上。韩信也就顺势搂他在怀里,道:“莫要喝太多酒。”

张良又笑了:“将军您不希望我喝醉吗?有些事情只有喝醉了才比较好办。”韩信愣了一下,脸又红了,严肃道:“饮酒对你的内伤没有好处。我看今晚我们还是早点散去。”

张良却好似已经完全醉了,软软地伏在他膝上,喉咙里柔柔地哼起了一支韩信没听过的小调,而后又喃喃地说:“是啊,天下无不散的筵席,这个道理,我早就知道了……”

他的目光好似没有支点,游移在这大厅之中,朦朦胧胧,不知看向何处,又落回韩信脸上,韩信只好道:“那……我们就宴乐到天明,好不好?我看大家都喝得很高兴,”说着叹了口气,“灌婴已经要给大家表演斧头舞了,怎么这个撒酒疯的毛病还是没改。但是……但是今晚我还想和你说说话。”

张良微微一笑,从他膝上撑了起来,道;“我先走了,去看看那个谋刺之人审问得怎么样了,萧将军替我办事,连这宴乐都未能享受,我叫他来。”说着真的走开,韩信因还要坐在这里招待众多宾客,无法脱身,只好眼睁睁看他离去。

且说张良出得那大厅,来到了监牢,萧延一见他,脸上风云变幻,一副欲言又止的模样,张良道:“萧将军,审出些什么来了?”

萧延只是摇头,他是不爱用刑求的,只是这刺客也并不畏惧千刀万剐。张良命人打开监牢,走到里面去,蹲在脏兮兮的稻草上,对那人说:“您有什么恨我的,要搭上自己一条命?”

那人道:“荥阳本无灾厄,天下平定之后本以为能够休养生息,为何又开始打仗,为何又围城整整两个月,让百姓忍饥挨饿?我本是五口之家,现在就剩我一个,一条命我还嫌不够,若有十条命,我就用来杀你十次!”说着一口呸在他脸上。张良微微一笑,“可惜您连一次也杀不着。今儿宴会上美酒甚好,给灌婴牛饮是浪费了,我叫人端些来为您壮行。”

他真的叫人取了酒来。给那人打开枷锁,亲手替他斟了一杯。这是个青年的男子,是侍者的打扮,但举止活脱脱就是个游侠般地粗鲁,却在这粗鲁中带有意料之外的精确,一看就是习武多年,绝非等闲之辈。他一把抓起酒坛,灌了一气儿,放下酒坛时,竟已泪流满面。道: “我年轻的时候,相信天道。” 张良从袖中取出一柄锋利的环首刀,放在两人之间,之后便走了出去,再不看他一眼。萧延战战兢兢地递过丝帕来给他擦脸,再看他的脸色,一如既往地平静,帕子却攥得皱巴巴的,一声不吭地走了出去。

外面夜露甚重,张良犹有拉弓御敌时落下的内伤,用袖子掩着咳了两声,转过楼台,却与一个人打了照面,那人愣了一下,看起来似乎很想拔腿就跑,最终还是吞吞吐吐地道:“爹爹……”

一向讨厌被人称为孩子的不疑,此刻却十分害怕张良再叫他张将军,但对方只是道;“小孩子不要和他们闹到那么晚,快去睡觉吧,我叫人给你安排客房。”

不疑道;“我还是睡在营中吧,不然让人知道我一进荥阳就……”往下的话没有说,张良也都明白,就一点头,终于在儿子面前露出有一点倦怠的神色,道;“这都随你吧。”

不疑道:“爹爹……辟彊好吗?怎么没见辟彊呢?”

张良道:“打仗这样的事情,带着他做什么?我……”往下的声音十分轻忽,仿佛轻轻的一吐息就都能吹走,“我把他扔在长安了。”

不疑隐隐觉得扔这个字眼实在太不吉利,不过也没想太多,他爹偶尔发一下神经也是有的,已经习惯了,只道;“我走之前说过要给辟彊写信的!我真的写了哦,拿给你,爹爹你回长安的时候带给他。”

说着竟然真的从胸口掏出一大团布帛来,一张张折得很好,都是给辟彊的书信,塞在张良手里,张良道:“你弟弟还不识字。”不疑朗声笑道:“他总会识字的嘛,能看懂半点都好。”张良不说话了,把那布帛捧在手中,梦似地走了,踏上阶梯的前一秒,忽然被不疑叫住,他没有回头,听不疑在身后道:

“爹爹,他们说如此是在押宝,您在汉,我在韩,两边下注。但是我……我是真的想为天下讨得一个公平在的。爹爹一定懂我的意思吧。孩儿不孝,不能侍奉左右了,将来恐怕……”

张良攥着栏杆,始终听着,忽然转过身来道:“不疑,你一直说,太公的兵法和策略,我都没有传给你。现在我传最重要的一章给你。”

不疑马上完全被他的话吸引了,两眼亮晶晶地看着他,张良越过栏杆,忽然俯下身来轻轻吻了他的脸,不疑诧异地愣在原地,连张良什么时候走的都不知道。

夜晚诸星都熄灭了,张良的屋子里还亮着光。他点了一个火盆放在面前,被烟气呛得时不时弯腰咳嗽,但在坚持做他的事情:拿起那些布帛,并不看上面写的是什么,他一向没有偷看别人书信的兴趣,只是一张接一张地往火盆里面扔,这一张完全烧干净了才扔下一张。这些布帛都很粗糙,各种质料的都有,也不知道不疑是从哪里拼凑出来的。沿路行乞有“百家饭”,供奉神灵的寺庙中有“百家衣”,这是从各种不同的地方搜集来的布所拼凑出的一封封书信。烧至最后一张,张良方咳得泪水朦胧,用手紧紧攥着那布帛,却感到有些异样,摊开看才发现认出这是不疑离家那天打的包袱的包袱皮上裁下来的一块,上面写满了密密麻麻的小字。他伸手抚摩着那些字迹,忽然一口血落在了那布帛上,把墨痕也洇花了。火光之下的人脸更显得惨淡。

此时身后传来轻微的响动,他赶快把布帛扔进火盆里,回头一看,却原来是韩信翻窗进来了,见屋子里烟气缭绕,皱眉道:“你觉得怎样,很冷么?”迈步走上前来,在他身边蹲下,又见他一副泪水涟涟的模样,奇道:“冷到这种地步吗?以后再也不要使那种劲弓,也不要喝那么多酒,我现在去找个大夫来给你看看……”伸手握住他双手,凑过来仔细看他脸色。张良忽然抬起下巴,吻住了他的嘴。这在他二人,自然都已等待了太久,忍耐得太多。

两个人都不想从对方身上起来,互相拥抱着在地上坐了很久,都把脸埋在对方的颈窝里。还是韩信回过神来,把张良抱起来放到软榻上,自己也两下蹬掉鞋子在上面打了两个滚,滚过来搂住张良,道:“张兄,我……我好……”

我好什么呢?连他自己都不知道想说些什么,走过千山万水,到了这里,最终说出口的不过是:“我好想你。”

张良把他搂过来,与他耳鬓厮磨,终于轻轻笑道:“好巧啊,韩将军,我也是。”

 
阅读更多

from 在沙漠里走路

3月10日 指甲长了,没忍住又啃了指甲。剥落下来的是完整而柔韧的弦月,像弹性的刃,却能够搓在指间把玩。曾经也将它们从大到小地排列出图景,让残破的贝壳陈列在海滩,现在说起来倒不再会感到恶心。我的牙齿具备比指甲刀更高明的剥离技巧,但仅限于指甲,一次使用就要等到它们再长到恰好能被处刑的时候,不像言语时时都能被刑罚。我的牙齿用于斩断而不是剥离它。将吞咽下去的话来回来回地反刍,咬碎了、而无法完整完满地端呈出来。当然也不能端盛。这倒令我感到恶心。 在实体的言语中涉足太多,高看太多、轻视太多、厌恶太多,而无法轻巧地越过自己的尸骸,只剩下了恶心地反刍,用牙齿和指甲刀去修剪而不愿意修饰,最终又变得坑坑洼洼。我不会喜欢坑坑洼洼的指甲。 想要 完整而柔韧的弦月。想喝水龙头里纯粹的冷水,放了冰块的乌龙茶。 发现这周的搏击课全部满员而无法预约。

 
Read more...

from Riley 的隨筆

#cheatsheet

背景

在 Writefreely 發佈文章,程序會自動根據標題給你設定好 slug,比如說 修復 Anki 在 Wayland 下的字體鋸齒 的 slug 就是 cheatsheet-xiu-fu-anki-zai-wayland-xia-de-zi-ti-ju-chi,而 slug 決定了指向這篇文章的鏈接。

雖然說發佈後可以修改 slug,但 Writefreely 會同時在 Mastodon 發一條嘟嘟:

a toot automatically posted by Writefreely with an out-dated url

如果修改了 slug,這條嘟嘟的鏈接就無法訪問了。

解決方法

在第一次發佈文章的時候,使用這樣的標題:

# 2024030503 ;; 改成你想要的 slug
真正的標題作爲內文

發佈以後,再把標題改回:

# 真正的標題

雖然有些不太方便,但又不是不能用!

 
阅读更多

from Riley 的隨筆

#雜感

爲什麼都是 AI?自從那個什麼什麼 ChatGPT 出來以後,爲什麼大家說個什麼話都要帶 AI?

Mozilla 想在 Firefox 加 AI?不,我不想內置什麼 AI,請把它做成瀏覽器插件吧!讓用戶自由選擇!

你不得不學會的 12345 款 AI 工具?再不會用 Sora 就晚了?成了!成了!成了!好日子要來了!世界上大部分人類要毀滅了!

生產力!生產力!生產力!我必須要生產力!社會需要生產力!

不!不!不!有些事我只想蠢蠢地做,就像拍攝底片一樣,我既不需要效率,也不需要速度。

我並不想 AI 侵入我生活每個角落,請別讓 AI 主動來找我!有需要我會去找它的!


trees, a path, sunbeam after raining, afternoon, frozen trees on the left side and greens on the right side 圖文無關

 
阅读更多

from Riley 的隨筆

#cheatsheet

昨天我發了一則圖片博客 2024 年 3 月 @上海臨港,然後轉發到 Mastodon:

發現圖片似乎無法正確被預覽,估計是 JSON-LD 出現了問題。

今天去看了下 Writefreely 的源碼(Commit 427f4980b91db855fcd47ef9811c87aaf64e946e),發現在 posts.go 裏面,圖片貌似是利用正則表達式檢測鏈接實現的,而該正則表達式被定義爲:

var imageURLRegex = regexp.MustCompile(`(?i)[^ ]+\.(gif|png|jpg|jpeg|image)$`)

我的圖片後綴是 .avif,所以沒有被檢測爲圖片,只要改成 .image 就可以正常設置封面了!

 
阅读更多

from Riley 的隨筆

#foto

把 16 號線坐穿去了臨港,拍了一卷 120(8 張)福馬 100,看洗出來的結果才發現有一張忘記開蓋了。

剛下地鐵沒多久看到一些大興土木,照片貌似漏光了上面:

在海邊有一條大壩攔着,放假的時候來看海的人也不少:

在東海大橋旁邊可以看到三個大風車,旁邊的樹只剩下樹枝了:

 
阅读更多

from 汏啲菘癙βèň菿傷

注:本文于2024-01-21首发于https://v2ex.com/t/1010618

SMTP 协议

具体的协议本身就不多介绍了,各位可以参考维基百科: https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol

这里只指出一个重点:SMTP 将电邮区分为 Envelope 和 Data 两部分。通常我们在邮件客户端里见到的所有东西都属于 DATA ,包括 From:和 To:字段(也就是我们通常见到的收件人发件人)。然而所谓 Envelope 也有 MAIL FROM 和 RECP TO 数据,并且这二者和 DATA 里的 FROM/TO 一般并不一致!下文将详细展开。

Agents

现代 SMTP 把一封电邮送达的过程中的处理程序分为很多 Agent:

  • MUA: Mail user agent ,也就是所谓的邮件客户端譬如 Thunderbird 。在用 Webmail 的情况下其实你看到的网页就是 MUA 。
  • MSA: Mail submission agent ,是邮件服务提供商向用户提供的第一站,也就是邮件客户端里常说的“SMTP 服务器”。
  • MTA: Mail transfer agent ,可以中转( relay )邮件。
  • MDA: Mail deliver agent ,是邮件目标信箱的服务器。用户 MUA 可以联系它来取走邮件( POP3 协议)。

一个标准送达流程是:

MUA –> MSA –> MTA –> ... –> MTA –> MDA –> MUA

除了最后 MDA 到 MUA 以外,其实所有 agent 之间都通过 SMTP 协议联系。因此协议的行为其实因为 agent 的不同而有产生了区别:

MUA –> MSA:

可以理解为邮件进入互联网的第一站。MSA 负责验证邮件的真实性( Authentication ),也就是验证对应的 MUA 确实有权利发送这封邮件。通常这里会用到 SMTP Auth 来实现,也就是邮件服务商向用户要求一组用户名和密码。以及,MSA 会对电子邮件进行 DKIM 签名。

MSA –> MTA, MTA –> MTA, MTA –> MDA:

在邮件 relay 的过程中,这三者其实是等价的(也就是说存在 MSA 直接联系到 MDA 的情况。如果邮件再同一个服务商内中转,譬如 gmail 发送给 gmail ,那甚至此时 MSA 和 MDA 可以是同一个程序)。接受邮件的 Agent 也会检查送来邮件 Agent 的真实性,但并不是通过用户名和密码(下文会详细描述)。

值得注意的是,在所有的这些 Agent 中,程序是通过 Envelope 的 MAIL FROM 和 RECP TO 来决定如何邮件的来龙去脉的。DATA 里的 FROM 和 TO 并不决定邮件的去向。我们下面分开讨论。

MAIL FROM

通常来说,除了 MUA 以外,所有的 Agent 都会将 Mail From 设置成一个自己控制的值。举一个具体的例子,我拥有的 c7.io 域名配置了 CF 的 mail forward ,也就是发送给任何 [email protected] 的电邮都会被转发到我的 gmail 邮箱。

那么,如果一个 outlook.com 信箱向 [email protected] 发邮件,信件会如此传递:

  • outlook MSA 向 c7.io MTA (也就是 CF 的 MTA )送邮件,Mail From 是 [email protected] (注意哦这里并不是发件人,而是 outlook 自己生成的一个 identifier )

  • c7.io MTA 向 gmail MDA 送邮件,Mail From 是 [email protected] (此处就变成 c7.io 了)

可见,MAIL FROM 每次都会被改变,而且其中 identification 仍然能 uniquely identify 对应的这封电子邮件。这么做的目的是允许邮件服务商对 bounce-back 的邮件做额外的处理,并对接下来 Anti spam 的协议提供了机会。

RECP TO

既然说到了 MAIL FROM 就提一下 RECP TO 。这里和 spam 没什么关系,RECP TO 一般来说和 DATA 里的 TO+CC 一致,除非有 bcc 的情况。如果是 bcc 那么目标邮件地址不会存在于 DATA 中(所以才叫 blind ),只会出现在 RECP TO 里。

Anti spam

SMTP 协议本身设计的时候并没怎么考虑到 SPAM 的问题。所以协议本身有很多补丁。上面已经说过 MUA 到 MSA 时 MSA 会检查用户的用户名和密码,并且会很显然地检查 DATA 里的 FROM 字段确保这个登录进来的用户有权利以这个 FROM 的身份发邮件。然而在 MSA ,MTA 和 MDA 交流的过程中,大家都是不同服务商等价的程序,因此不存在谁事先在另外一方设置密码的可能性。所以,SPF 和 DKIM 就出现了。

SPF

https://en.wikipedia.org/wiki/Sender_Policy_Framework

当邮件在 MSA ,MTA 和 MDA 之间传输时,SPF 是一个很简单明了的协议。接收方会去 query 发送方域名的 SPF 字段。这个字段会指明哪些 IP 是这个域名允许的 sender 。譬如,当 c7.io MTA 向 gmail MDA 发邮件时,gmail 服务器会 query 到 c7.io 拥有 SPF record:v=spf1 include:_spf.mx.cloudflare.net ~all 。那么如果送邮件来的 IP 并不属于 mx.cloudflare.net ,那就 fail 了 SPF 。

DKIM

https://en.wikipedia.org/wiki/DomainKeys_Identified_Mail

SPF 只关注每个 agent 前一跳的身份,却并不能阻止一个恶意的 MTA 伪造邮件。所以出现了 DKIM 。当一封邮件进入到每一个 Agent 时( MUA 除外),这个 Agent 都会对邮件的数个 Header 和 Body (都处于 DATA 字段)进行签名并将签名内容也放在 DATA 字段里。Agent 签名会使用一个私钥,而其对应的公钥会在对应的域名的 dkim 记录里公布。从 DKIM 的精神来看,这个协议的目的是为了验证 DATA 中描述的邮件没有在传输中被篡改,也就是说,MSA 生成的 DKIM 签名是最有价值的。但实践中,似乎每一个 agent 插入到签名都会被接收者验证。

举个具体的例子:还是 outlook->c7.io->gmail ,outlook MSA 会插入一个用 outlook 私钥签字的签名。当 c7.io MTA 收到后,它会去 query outlook.com 的 DKIM record ,也就是 outlook 的公钥,并且用它来验证签名是否有效。然后 c7.io MTA 也会将现有的 DATA 再一次用 c7.io 的私钥签名。当 gmail MDA 收到邮件后,它会 query both outlook and c7.io 的公钥(譬如 k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDckJFiBtn29uLex8LM2DG4zvZ9doM9v8veISK5rAoS2yU517rqZN/gYGwhKVuvfmp86OJGKG2Z6SQG9JmcNQ7rGiVE6X99M71hm449ShkF29hG65lI9sFpjf/67bjnQcgwwj6q4aNKb9Rh3zc/gV4jtz+vfzaMTTcAdZbd8hKX3wIDAQAB ),然后验证两个签名是否都有效。一旦发现签名错误,就是 DKIM fail 。

DMARC

https://en.wikipedia.org/wiki/DMARC

DMARC 的目的是告诉 Agent ,如果 SPF 或者 DKIM fail 了,该如何处理这封邮件。DMARC 也存在于域名 DNS 记录中。DMARC 可以要求 agent 继续放行电邮(可能不会被遵守),但更通常是要求 agent 把邮件设为 spam ,并通知某个指定的地址。

其它

很多 Agent 会增加别的验证。譬如 Gmail 要求所有来信的 IP 的 reverse DNS 和其 MAIL FROM 的域名必须对应。这似乎和 SPF 正好是镜像。

用自己的域名收发邮件

总结上面的内容,如果想用自己的域名收发邮件,需要做到:

  • 发邮件

需要正确配置 SPF ,DKIM ,DMARC 不是必须的但是推荐。并且要和一个拥有对应 DKIM 私钥的 MSA 配合使用(这也是为什么现代不通过一个 mail relay (譬如 AWS SES ,Mailgun)直接发送一封邮件如此之难)。

  • 收邮件

仅需要配置域名的 MX ,指向 MDA 。一般来说大家都是用第三方的服务,所以 MX 指向第三方的服务器就行。

总结

SMTP 是一个典型的设计时没有考虑周全从而不断打补丁的例子。目前至少 Gmail 和 Outlook 都提供了”View Original”的功能,可以详细看到邮件原始的 DATA 部分。里面都会详细描述每一个 MTA 所插入的内容,包括 Agent 得到的 Envelope 的地址,其所做的 SPF ,DKIM 检查,和新的 DKIM 签名。大家可以去自己的邮箱里看看,和文章的内容对照一下。

本文在某些细节上讲的比较粗略,因为某些复杂的地方很难用白话语言说清楚。我希望这篇文章能起到一个提纲的作用。具体生产中如果遇到了问题还是要去读协议标准。

#email #spf #dkim #dmarc #antispam

 
阅读更多

from 汏啲菘癙βèň菿傷

在Sora刚刚推出的今天,有人认为未来已来,有人认为世界终了。但不论如何,我相信大家都能在Fediverse里找到属于自己的空间。

一封给Fediverse的情书

我从一年前创办了自己的长毛象实例 希奇! 之后,就一直很关注Fediverse,中文名“联邦宇宙”的生态。长毛象(Mastodon)是运行在Fediverse之上的一个微博实例,但我更喜欢经由对于它的使用和管理窥探更加底层的Fediverse的原理。一年下来,我对Fediverse的信心从未如此强烈。我相信这是互联网的未来。

Fediverse是什么

Fediverse其实是人们对于一个基于ActivityPub协议构建的通信网络的昵称。其灵魂,ActivityPub协议是W3C标准化的一种去中心化通信协议。ActivityPub的核心非常简单,就是在现代密码学技术的基础上建立一个点对点的可信通信。当一个用户第一次出现并广播其存在后,就不可能再有别人再能够使用这个身份,而这一切都不需要一个传统的中心化服务(身份服务器)的存在。

在这样可信通信的基础上,ActivityPub规定了一系列的信息(payload)格式,从而让用户更加方便地分享文字、媒体以及元数据。那么更进一步,有大量实现了ActivityPub的程序可以供大家使用,譬如长毛象(Mastodon)、Misskey(类似于Facebook)、Pleroma、Firebird等等。这些程序帮助用户来管理身份,也就是他们的密码学公私钥,并提供更加友好的用户界面,从而在这个去中心化网络上实现传统互联网产品的用户体验(用户名/密码登录,账号管理,信息导入导出)。Fediverse就是由这些程序搭建的实例(instances)所组成的网络。

Fediverse(联邦宇宙)这个名字正巧妙在它包含了这种通信方式的两种特性:一方面,毫无疑问这不是一个传统的中心化的网络。这里没有一个中心化的服务器凌驾于所有人之上。另一方面,它又不同于完全P2P的通信网络,它并不要求每一个用户以一种原子化的身份管理一切,而是让每一个实例成为网络中的节点。一个实例对于它的用户具有管理的权威,但反过来说由于互联网上实例多如繁星,用户对实例也有自由选择的权力。

这种介于中心化和完全去中心化之间的方案既对用户提供了轻松容易的体验,也保证了用户的权力不受到实例的侵蚀。

Fediverse像什么

说了这么多枯燥的,我觉得还是想象一下它像什么比较有趣:

ActivityPub的直译:动感酒吧!

说真的,我觉得酒吧(或者说酒吧一条街)就是Fediverse最完美的类比。具体来说,每一个实例就是一个个酒吧,它们互不隶属,甚至可以说存在竞争关系。不同酒吧有着不同的装修、人群和规章制度,从而吸引着兴趣相投的顾客们。但顾客可以自由出入任意酒吧,也自然会选择在喜欢的酒吧多呆一阵子,慢慢地和酒吧的氛围相辅相成,形成一个独特的社群。总的来说,这一切都和现实生活一样自由随意:顾客能够在这条街上接触到所有的信息,遇到各色人群,同时有选择自己最舒服环境的权力。这也是为什么我觉得Fediverse会是互联网的未来,它模拟了现实生活中美好的部分。(中心化的互联网模型如果来到现世中,那是多么1984的画面呐?)

而且这样自由的模型并不是空想。实际上,互联网的基石——BGP协议和Fediverse无比相似。在互联网协议(是的,互联网之所以能联通全球,就是因为有一套标准协议)所描绘的画面中,每一个接入网络的实体被称作AS(自治系统)。AS通过BGP向外部广播它的存在,并指导别的AS将目的是自己的信息发送过来。AS的另一个名字又叫做ISP(网络服务提供商),我们用户想上网只用和它们打交道就行。这和上面描述的Fediverse简直一模一样有没有?互联网的成功很大部分是因为它不受任何单一实体控制,而终端用户(每一个上网的人)又不用了解所有的技术细节。那同样的道理,Fediverse怎么会不成为未来的互联网标准呢?

Fediverse缺点又是什么呢

正在撰写这篇文章的时候,Fediverse经历了一场spam风暴。而不同实例的应对方式千差万别。有的实例事先就做好了Anti-spam的逻辑,完全没有受到任何影响;有的实例站长反应迅速,在spam刚刚开始的时候就采取了相应的措施删除了所有无效信息。但也有的实例因为不作为,成为了spam发酵的摇篮影响了整个Fediverse,最终被别的实例所封杀。

Fediverse由于其去中心化的本质,每个最终用户的体验取决于它所在的实例的水平。按常理来说,实例的运营方应当都是懂得“能力越大,责任越大”的道理,选择运营一个实例那就应当付出精力和技术去保证它的正常运作。但事实上任何人都可以很随便地搭建一个实例,而且所用的程序都是开源的在用户看来似乎也没什么区别。因此用户不太可能具有短期内分辨实例质量的能力。在遇到不良管理的实例后会有很糟糕的体验。

前一阵子长毛象公布了一系列安全补丁,其中之一因为涉及到身份伪造,非常紧急,被官方以不同的渠道提前通知。但直到今天,仍有不少实例没有更新,其中不乏个别大站。这让其用户暴露在了危险之中,但用户可能还并不知情。

当然,这些问题本质上并不“新”。Spamming,安全漏洞,都是信息行业的老生常谈了。工业界也都有成熟的解决方案。因此,这些问题其实并不危机Fediverse的本质。相反,在经历过重大打击后,我觉得Fediverse能以比传统平台更快的速度重新成长恢复。野火烧不尽,春风吹又生。

为什么我认为Fediverse是未来

其实这个问题上面已经回答过了。简言之,它既不受单一实体的控制,又不把最终用户暴露在复杂的技术细节当中。

我想我们已经不用讨论去中心化之于中心化的优势,twitter就是个很好的反例。同时,不同于现在已经烂尾的,纯粹去中心化,不存在“实例”概念的nostr协议,Fediverse并不期待每一个用户都是nerd和黑客。它通过联邦每一个实例,而不是每一个用户,实现了优秀的用户体验。Fediverse其实对于我们并不陌生,因为它只是模拟了现实生活中的一个方面而已。

也许现有的Fediverse程序(长毛象,Misskey等等)仍有很大的进步空间,也许在未来这些程序都会被淘汰。但Fediverse不会。我希望大家都通过这篇文章了解到这么一个优美且有未来感的协议,在其中找到属于你自己的一片空间。

ps. 如果你还没有任何Fediverse的经验,欢迎来我的长毛象实例,希奇!来玩。本实例还附带了希奇!博客栈,同样也接入了Fediverse,也是本文所在的地方。

#fediverse #联邦宇宙

 
阅读更多

from 汏啲菘癙βèň菿傷

本文于2022-10-29首发于 https://v2ex.com/t/890875 ,关于贫困线那一段的收入和支出数字,如果您觉得过高请将所有的钱数减半。文章整体结论和论证结构不变。

注:本文主要是一个北美码农在评论北美 it 行业,并不一定普适,只是借用一下 V2EX 当个人博客发表一下个人的小小想法。

马后炮

最近半年互联网绷得厉害,股票崩盘,收入骤减,pip 裁员都接踵而至。我虽然之前隐约有过一些危机感,但是本质上仍然是平庸的受打击的一员。本文作为一篇马后炮,想总结一下这一段时间的思考。虽然是马后炮,但我还是觉得这篇文章有一定的意义:很多事情发生之前会觉得有太多可能难以预测,但是发生之后其中的因果关系环环相扣立刻会变得非常明显;马后炮可以总结这些事情的规律,有助于提高人省的——经验。

贫困线

北美码农一个知名的 meme 就是超高的贫困线。所谓一个家庭收入得超过 30 ,40 万美金才能勉强脱困这个样子。一开始听到这种说法的时候我将其理解成为一种中国人互相攀比的嘲讽,不过仔细想想,这是不是也可以理解为美元的局部性贬值?请听我详解:

即便是美国比较发达的地区,一般家庭中位收入也就在十几万美元。而常见的码农家庭动辄 3 ,40 万的收入远远超过了美国平均水平。但是为啥还有人一直嚷嚷着手头拮据、没有闲钱呢?如果暂时把码农的收入换成一种别的货币,比如一年 30 万码农币,然后再只看互联网行业聚集的地区,比如湾区,就会发现这巴掌大的地方有十几万人(根据大厂员工数保守估计)一年能挣这么多,更别说其中还有相当数量的高级码农一年能拿 50+码农币。那第一个直觉上的反应就是码农币可能不太值钱的样子。再看看湾区刚需的消费,比如房子、吃喝玩乐,其价格也更适合用码农币而不是美金来描述( i.e. 一个两千尺的 3b 小黑屋在美国一般发达地区就大几十万美金,湾区要 200 万码农币;两个人去一趟高级餐厅在别的地方一般来说 100 美金,在湾区一般需要 300-400 码农币)。假如按照这样的比例把码农币 3:1 换算成美金,是不是顿时发现其实码农贫困线也不是那么高了!

当然,这只是一个不严谨的类比。码农币只要离开了互联网行业聚集的地区就能 1:1 兑换成美元。但是因为这些地方的生活成本是如此的高昂,支付完生活必需的开销之外其实没有多少闲钱可以花在地域性不强的这些比较“划算”的地方。所以请继续听我掰扯。

跟随这个思路一个明显的结论就是,一个收入在一个地方算不算高,并不能看绝对的数字,而是看这个收入在这个地区的分位数。这也许就能解释码农高工资和“贫穷”看似矛盾的统一了。三四十万的收入确实很高,但是在码农圈也确实稀松平常。想在互联网中心过上想象中的“有钱人的日子”,就得挣到有钱人的分位数,比如在湾区估计要接近 1m 码农币。

系统性风险

如果忽略掉资本的流动性,那码农币也好美金也罢其实无所谓,反正随着工作经验和能力的增长收入也会增加的,就算是看分位数,一个码农的收入也是会一直提高的。只要努力,好日子总会来的。

然而这个流动性是不能忽略的。同样的美金,在湾区是码农币,跑到别的地方就变回美金,这必然会导致资本向外流动的趋势。那是什么在聚拢资本呢?是互联网行业的投资方。(而且各位看官请记住互联网行业!=IT 行业,这两个行业的关系我下文会再提到。)

过去的十年,互联网行业引领了全球的创新,毫无疑问是资本投资的最佳目标。即便疫情之前互联网的颓势就已经有些显现,在疫情期间美联储大水漫灌下这个颓势被完全逆转,毕竟互联网仍然是世界最有创新和机会的地方( next big thing 的主要 candidate AI 和 VR/AR 两个方向感觉这么多年没有什么好的产品落地)。

但是,放水总会结束,退潮后问题就开始暴露。比如今年的光景,资本的涌入突然减缓了会发生什么呢?不再有那么多人愿意将美金作为码农币投给互联网,那码农币的供给就会突然减少。这可以等价于码农币的“通货紧缩“。但是以美元来锚定的话,就是用码农币定价的资产的贬值。

用大白话来说,就是一个地区某个行业的收入实在是远高于别的行业,那这个地区就会慢慢地只剩下这个行业。当这个行业不再吸引资本,那整个地区就会衰落。美国目前并没有第二个行业与之类似,别的行业要么本来就不热,要么就资本掌握在少数人手里(高分位数,并不影响一个地区的平均收入)。所以这就是互联网聚集的地区特有的系统性风险。现在风险正在变为危机。

小确幸

时代的浪潮,资本的游戏,跟我们有什么关系呢?作为一个普通人,收入和物价双下降最大的问题在于你的房贷,因为你买房子贷款的时候一个重要 assumption 就是你的收入可以持续到贷款还清。所以很不幸,单纯的独善其身、相信有努力就有收获,在无情的历史的进程面前什么都不算。这些年发生的这么多事,已经一次再次地告诉我们只关注自己一亩三分地的小确幸心态不可取。人必须要有一定的战略眼光才能把握住机会,或者至少逃离危机的旋涡。

初心

当然所有的黑暗后面都会有黎明,危机中也充满了机遇。记得刚才说的互联网行业!=IT 吧?互联网只是 IT 中一个特殊的产品,就算它不再吸引资本,IT 永远是全球各行各业的刚需。过去的这些年,非互联网的 IT 公司其实生存艰难,因为薪水上他们根本竞争不过互联网公司,所以没有办法做出最好的产品(过去这些年传统 it 公司做的产品是不是都和屎一样?)。所以现在反而也许是普通 IT 行业的契机。在经济环境回暖后,会不会在这些公司中诞生出 next big thing 呢?

同样的道理,这也是很多”白领“行业的契机。所谓的白领行业就是和码农类似,需要大量行业人才脑力劳动的公司。在互联网大潮前各个行业百花齐放,各个方向都有创新。虽然待遇有高有低但都在一个数量级。如果这个现象回归,那其实对于经济的 diversity 是好事。

最重要的,是我们自己的初心。有多少朋友明明有自己喜欢的方向却因为互联网的火爆捏着鼻子转了码;或者就算本身就喜欢计算机,但得在大厂每天忍受 crud 的屎山?如果行业的 diversity 复苏,那每个人就可以追寻自己真正喜欢的东西。行业没有高低贵贱这句话听起来是虚伪的政治正确,可我希望这梦想成真,打破码农这金手铐。毕竟只有做自己喜欢的事情,才能找到世间最宝贵的东西:快乐。

ps. 本文讨论的思路也是我搬来尔湾的部分原因,但尔湾的好远非贫瘠的语言所能描述。欢迎大家来尔湾看看!

 
阅读更多

from 汏啲菘癙βèň菿傷

注:本文于2023-02-03首发于https://v2ex.com/t/912894

最近很粉联邦化宇宙的概念,就搭建了一个自己的 Mastodon 实例:希奇!( https://c7.io/ )。顺别也写下这篇文章聊聊我对 Mastodon/Fediverse 的看法,当作是开张大吉😄。

现有的社交平台,比如微博和 twitter ,就像一片信息海,而我们每个人都是一条鱼。我们在这片广袤的海洋中可以找到志同道合的朋友,加入感兴趣的话题(鱼群)。但是,有的时候也会觉得这片海太吵闹。而在联邦化宇宙里,蔚蓝大海仍然存在,海中却出现了不同风格的岛屿。这些岛屿,就是一个个 Mastodon 实例。这些岛屿给我们鱼们一个上岸的选择。上岸的岛会被我们称之为“家”。

如果说上面说的过于抽象,大家都玩过动物森友会吧?每个 Mastodon 实例就是动森里的岛,也就是你的家。岛上的居民们就是居住在同一个实例的朋友们。但我们每个人也有坐飞机去别人的岛的自由。在联邦宇宙里,每一片岛都是独立的,却又紧密相连。

Mastodon 官方 github 上的一张图就表达了这个概念(我是在写完了这篇文章后看到这幅图的,只能说“岛”这个概念真的是太形象了):

这正是联邦宇宙的神奇之处:我觉得我们并不是要抛弃现有的社交网络模式,但是我们在网络中也应该有个温馨的可以称之为家的角落。这里是我们的舒适圈。关上家门我们可以自由自在地碎碎念,打开家门又可以跃入海洋畅游四方。

希奇!希望成为这样一个安静的角落。这里没有预设的话题和交流方式。我们鼓励每个人以自己的方式探索联邦化宇宙。你可以在希奇!自言自语,完全忽略世界的纷扰;也可以去关注别的实例的嘟友们和他们互动;抑或是社恐地什么都不说只默默关注别的联邦话宇宙里的账号(这样也会对本实例有所贡献!)。而最棒的地方在于你可以在这几种模式中随意切换。Mastodon 提供非常灵活的嘟文可见范围和关注控制。你可以自由选择消息是否进入公共信息流(大海),或者是不是只有你批准的关注者才能看到你的小情绪。

此外,我对联邦宇宙的喜爱还有一个原因,那就是它并不是完全的 zero trust 式的去中心化(比如 nostr )。完全的去中心化对每个节点的技术要求太高,这在本质上导致了整个网络的 resiliency 存在难以解决的矛盾。而联邦化已经有了很成功的例子:互联网。互联网基础架构中 AS 和 BGP 就是上面说的小岛和让这些岛屿相连的协议。换句话说,联邦模型允许在大海中形成自发聚集起来的,地基稳定的岛屿,之后上面也许就会就会慢慢出现新奇的壁画,独特的建筑和突破想象力的作物。这个思路在我之前的文章里也有所提及。这也是这个实例取名为“希奇!”的原因。

没有鱼的岛屿只能是荒岛。在研究 Mastodon 的这一阵子里我发现在联邦宇宙中一个实例的质量是一个 positive feedback loop ,也就是有趣、热闹抑或是有深度的内容会继续吸引同类的内容。所以欢迎大家加入希奇一起来玩

 
阅读更多

from 汏啲菘癙βèň菿傷

注:本文于 2020-04-06首发于https://v2ex.com/t/659743

因为最近家里的普通无线路由器接近罢工边缘,研究了一些关于 AP,Wifi 组网的知识,记录一下。

名词

  • AP(Access point): 可以简单理解为将 Ethernet 转换为 Wifi 的设备。一个网络里可以有多个 AP 来覆盖较大的面积。

  • Controller(或者叫 AC): 控制 AP/Gateway 的软硬件。可能集成在单独的 AP/Gateway 里只负责控制单独的这一台设备,也有可能有一个统一的服务器管理所有的设备。

  • Gateway(网关): 在家用网络的概念里是连接 WAN 和 LAN 的设备,负责路由 /防火墙功能。

  • Switch(交换机): 传统概念里 Switch 是一个纯粹的二层设备,但是现在 Managed Switch 是可以主动配置的,最主要的用途就是 VLAN 。

  • Roaming(漫游): 在存在多个 AP 的情况下客户自动在不同 AP 中迁徙,其中:

    • 被动漫游:AP 在发现客户信号弱的情况下主动将客户踢下线,以此希望客户连接到更强信号的 AP 。在切换的过程中 wifi 信号会断开一下,TCP 会中断。
    • 主动漫游(又叫无缝漫游):客户在 Controller 的协助下主动选择信号更好的 AP 。实践中需要通信双方都支持 802.11k/v/r 协议来提供比被动漫游更好的体验,也就是连接不断。需要一个中央 Controller 。
  • Uplink(回程):每一个 AP 如何连接到 LAN 。分为无线回程和有线回程。

  • Mesh: 一个 marketing 词汇(而不是标准)。AP 和 AP 之间通过无线,而不是 Switch 来连接(无线回程)。有一个主 AP 接入 LAN 即可。mesh 和传统的 Wifi Extender 相比一是一般使用专门的信道和 uplink 通讯所以本身不会减速,二是自动处理了很多 AP 共存的情况下 AP 之间如何互相通信和认证的问题,也提供一个节点下线了之后剩余节点自动重组。

    注意 Mesh != Roaming,mesh 这个概念一开始特指无线回程提供的 roaming 。现在也有了有线回程的 Mesh,这个和传统的非 mesh AP 模型的唯一区别就是系统里不存在专门的 Controller 。应该是 Mesh 中的某一台设备充当了 controller,或者比较垃圾的 mesh 实现中不存在中央 controller (实现不了无缝漫游,aka 骗钱).

  • Wifi6: 802.11ax,比 802.11ac 主要的提升在于优化了 MIMO 从而提升了带宽(就像手机的 5G vs 4G 一样),另外未来的 802.11ax 可能会引入 6GHz 频段。并没有更改链路层及以上的协议。

常见的家用无线路由器就是 Gateway + Controller + Switch + AP 的组合。而工业级的 Wifi 部署基本都是不同设备各司其职,特别是中央 Controller 控制所有的设备。

为什么要 DIY 组网

传统的家用路由器在宣传上一般只强调带宽和信号强度,然而 Wifi 的体验更大程度上决定于一个 AP 能带多少台设备。这直接取决于设备的 CPU/内存 /Offload 能力。当连接的设备数超过了 AP 的处理能力时,频繁的断线 /断流就会发生。因此购买家用路由器要做非常多的功课才能避免踩坑。

此外,今后会不可避免地采用 Roaming 方案。不同品牌的路由器对 Roaming/Mesh 的支持参差不齐,扩充的时候又要做功课。

对于家里有 NAS/服务器的同学来说,这些设备的处理能力完全可以承担 Gateway 和 Controller 的职责。服务器一般还有多个网口可以做链路聚合和网桥,基本上也取代了 Managed Switch,因此实际上只要把钱花在 AP 上即可。

我的方案

因为家里有一个 x86 NAS,跑一个软路由 /Controller 性能完全够用,因此只需要购买纯 AP 设备。

暂时不考虑 wifi6,因为价格太贵了。Wifi6 应该是 Drop-in replacement 所以以后再升级也来得及。

考虑到以后要支持无缝 wifi 漫游所以需要一个中央 controller 。另外我不是很信任无线回程,所以不考虑 mesh (有线回程的 mesh 我一直觉得是莫名其妙的产品,照顾不会配 controller 的傻瓜用户?)。

最后选择了 Ubiquiti 的 Unifi 系列 AP 。他们家的产品一直宣传自己是工业级,网上的评价也都反映在连接了大量客户的情况下稳如狗。Unifi 系列属于非常简单的 AP,没有任何别的功能,有一种钱完全花在瓶颈上的感觉。Unifi 旗下常见的有 AC-LITE, AC-PRO 和 AC-HD 三款。AC-LITE 在带宽上比较捉急,PRO 则各方面比较均衡。HD 因为价格太贵没有仔细研究。我打算 LITE 和 PRO 混合部署,因为大部分 wifi 客户都只是随便刷刷视频网站不需要多大带宽,用 LITE 能省些钱。

ps. 网上有人批判 ubiquiti controller 软件不方便,因为他在每台电脑上都安装了 controller 软件然后发现配置是不能同步的。对此我觉得实在是冤枉了 ubnt 。人家 controller 软件设计的目的是跑在一个服务器上的,所有的电脑通过访问这个服务器来配置网络。理论上一个网络中之应该有 1 个 controller 。ubiquiti 也卖 controller 硬件,不习惯一台电脑充当服务器这个思维的话可以单独购买。

备选方案

Orbi, Velop, Google Wifi 都是口碑很好的选择。

好像这三者都结合了 Gateway 和 Controller,并且都是无线 mesh,好处是简单易用。

Google Wifi 的 Controller 和 Google 服务深度整合。依赖本地网络之外的服务在我看来是一个缺点。

不推荐的方案

用市售路由器刷 openwrt 做 ap 。因为:

  1. 路由器带客户设备的数量仍然是个迷。
  2. 没有中央 controller,漫游体验不好。

感谢

本文绝大多数信息来自 https://www.smallnetbuilder.com/wireless/

比起站内诸多大神,我对 wifi 组网的研究刚刚起步,还请多多指教。

 
阅读更多