方寸间
605 subscribers
188 photos
3 videos
13 files
961 links
➡️频道内容: @WithdewHua 存档及瞎扯 / 博客友链 RSS
➡️我的折腾地:https://10101.io
Download Telegram
Omarchy Desktop Top 桌面系统监视器

我的第十七个 Omarchy 插件

上一个插件主要解决接娃的接地气需求,这个插件主要解决黑客的酷炫装逼需求

Omarchy Desktop Top 插件,桌面级别的系统监视器项目, 不抢键盘和鼠标,静静的待在桌面上,你切换窗口和工作区的时候可以顺便看一下系统的负载,相比于空空的壁纸,更帅更装逼,哈哈哈哈

源代码在评论区通过 GPL 3.0 协议开源, Enjoy!

via https://manateelazycat.github.io/feed.xml

Invalid media: video
Omarchy 桌面插件优化

Omarchy Desktop Clock 和 Omarchy Desktop Top 这两个插件太好看了,导致我录制即将发布的 Omarchy 插件时,风头全被这两个插件夺去了

所以我给这两个桌面插件开发了一个最小化的功能,点击后,他们俩就可可爱爱的吸附到屏幕顶部,变成一个小黑条,点击小黑条后又可以恢复原来的大小和位置

这下方便我录制 Omarchy 新插件的视频了,哈哈哈哈哈

via https://manateelazycat.github.io/feed.xml

Invalid media: video
Omarchy Git Sync 插件同步工具

我的第十八个 Omarchy 插件

我自己给 Omarchy 写了很多插件,同时我又在多台电脑上用 Omarchy 开发软件, 在我提交插件到 Omarchy 审核的时候, 我迫切的需要在多台电脑上同步我安装的 Omarchy 插件

所以, Omarchy Git Sync 就完成了,它的机制是追踪每个插件的 Git 地址,而不是追踪 Omarchy 商店,这样就可以立即在多台电脑上同步 Omarchy 插件啦

源代码按照 GPL 3.0 发布, Enjoy!

via https://manateelazycat.github.io/feed.xml

Invalid media: image
变与不变

这次回老家,我要回老房子拿点东西。这是幢快30年的楼房,我从小学三年级开始后的整个学生时代都是在这里度过的。我家住在六楼,没有电梯,所以自从我妈患病后就换了个住处,这里已有三四年没有人住了。

打开门前还是有点忐忑的,谁也不知道一间很久没人住的屋子会住进去什么东西。没想到进门后,除了一种不通风的闷腐气外并没有什么了不得的气味。地板挺干净,沙发都覆上了遮尘布,正厅电视机的上方是一幅约莫1.2米宽的《八骏图》十字绣,往后看,沙发上方更是一幅巨幅的《金陵十二钗》十字绣,粗估有三米多宽。这些都是在十字绣还流行的年代由我妈不知费了多少日夜才完成的,距今大概十年了。走到厨房,一切都收拾得井井有条,我瞥见那个老式的油烟机,上面盖着厚厚的发黑的油污,还有许多道裂纹。我妈就是在这样一间小屋里,工作了不知多少岁月,她厨艺很好,色香味俱佳,而且勇于尝试新菜式。江西人喜欢小炒,还要加辣。可以想象这台羸弱的抽油烟机不堪什么大用,我妈只能紧闭厨房的门窗,年复一年,油烟侵蚀了她健康的肺部。如今她已不再进厨房,下厨的工作都是我爸包办了,虽然也不差,但我总还怀念。今天突然看到这台抽油烟机,我的心突然像是被扎了一下。因为工作后我就没怎么在家里住了,卧室还停留在我结婚那年的样子,一如既往地,床上也盖着防尘布。

我清空了冰箱里的东西,关上水阀电闸,退出门外,钥匙插进锁孔,右旋一圈,离开了这里。这里可能不再会有人来住,我们本想卖掉,但错过了房价下跌前的泡沫,迁延到了现在,不好卖了,楼层显得略高了。

下楼到了街上,穿过了那条有着我上学时期常吃的水煮摊子的巷子,摊子还在,依然有年轻人在吃,只是招牌叫做“麻辣烫”我不太能接受。继续走着,耳中被恭喜你发财、dj舞曲和清仓大甩卖交替塞满,就和二十年前一模一样,都没变过。可是有一些东西,在不能预知的一个早上,就永远地变了;有一些人,在不能预知的一个下午后,就回不来了,包括我自己。

via Frost's Blog
用设计图加速AI编程

跟你分享一下我 AI 编程快的秘诀

1. 先把所有的想法/素材/混乱都先灌给AI,让AI充分知道信息
2. 这一步最关键,不要再文字对文字了,直接让 AI 生成设计图给我,我直接从代码架构师转换为挑剔的产品经理, 各种对图中细节挑刺
3. 第二步挑刺满意后,让 AI 直接按照设计图执行,这样写出的代码,可以一步达到我期望 80% 的效果,然后再微调

第二步用设计图就是人机的对齐,一图胜千言,越像老板那样思考问题,你的 AI 产出效率越高,老板的思考模式就是,大方向要对,不管细节

下面是 AI 给我设计的懒猫AI算力舱新版的低保真图, 我已经让它干活了,看看还原度如何

via https://manateelazycat.github.io/feed.xml

Invalid media:
image
image
image
GLM 5.3 Flash 的安全研究能力很强大

GLM 模型在安全研究方面的能力太牛逼了!

昨天向 Omarchy 插件商店提交 omarchy-desktop-top 这个插件,Omarchy 的安全机器人说这个插件有安全问题

https://github.com/omacom/omarchy-plugin-marketplace/issues/10102#issuecomment-5995705972

我让 Codex 分析一下 issue 的意思,Codex 说确实有可能有数组越界的安全问题,我接着让 Codex 研究一下代码,看看 issue 说的是否属实,Codex 直接以安全理由说 “This content can’t be shown”

这个是一个很简单的安全漏洞修复问题,而不是攻击问题,线上 GPT 直接拒绝回答

然后我反手问了离线的 GLM 5.3 Flash,GLM 大概花了 5 分钟的时间研究代码,确认了 omarchy-desktop-top 源代码确实有安全漏洞,说这个漏洞比 github issue 说的更严重,并且给了我完整的解决方案

最后 GLM 给出了修复补丁 https://github.com/manateelazycat/omarchy-desktop-top/commit/f9d68921026914032affec014109b7d8d351f32c,还自动化做了安全攻防测试,太牛逼了

看到了吗?即使我们不做网络攻击,只是对本地软件进行安全漏洞修复,离线版的 GLM 5.3 的能力都要比 GPT 强很多,不是 GPT 的能力不够,而是它线上的安全策略,拒绝为你的正常需求服务

AI 时代,一定是线下 AI 模型推理的时代,谁最先获得线下 AI 推理编程的经验,你相对于其他人,就会获得相对性的竞争优势

via https://manateelazycat.github.io/feed.xml

Invalid media:
image
image
image
image
做好生意,光有好产品还不够

我看推的很多人,要不就在说 AI 很厉害,要不就在说以后不做软件了

推特上很多大佬,其实只是技术很强,但是你们并不明白生意的本质是什么。所以说你们有了先进的技术就会高兴,但是遇到的卷的行业里面就会很沮丧

其实生意的模式,只有做过生意人才懂,所有的生意的本质都是要有好的产品,如果你没有好的产品,就没有好的价值。这个是毋庸置疑的

但是很多技术人认为,我的产品只要好了,我的技术只要好了,我的销售一定会很好。因为他看到了乔布斯把产品做好了以后,全世界都买。但是他不明白他自己不是乔布斯

我们每个人都是普通人,每个研发都是一个特别喜欢把产品做好的人,但是真正要把生意做好,光产品好本身是不够的

一个生意好,要满足 3 个要求

1. 你要有足够多的流量。如果你没有足够多的流量,你的产品好,别人就不知道。你的用户不知道,它就不可能形成销售。不可能形成销售,你的能力就不会因为收入而放大
2. 转化率,很多人说,那不简单吗?我每天就做一些擦边的视频,或者是做一些情绪化的事情,流量不就起来了吗?那是错的。你流量是为了让你的产品价值被人看到,但是转化率会根据你的售前的工作,说服用户为什么要买你的,或者说服用户为什么要相信你。这一点不是你在社交媒体上整活,而是你要在你的产品之上,充分的把价值点和信任点总结出来,跟用户产生沟通。如果你不喜欢跟用户沟通,你的转化率就会很惨
3. 复制的能力,其实很多人都搞错了,他们要不就是使劲在产品上加班,要不就是每天在社交媒体上整活。你的生意要做大,产品是基础,流量和转化率是你的能力。但是真正要做大的关键就是你要把前三点,怎么打造产品,怎么吸引用户,怎么说服用户,这些你在实战中积累的经验要复制给团队,只有团队学会了这 3 点,他们才有复制的能力,你的生意才可以做大

其实有没有 AI,生意都是这个道理,只是说 AI 把原来产品制造的成本降得很低了,但是如果你不具备宣传的能力,不具备转化和复制的能力,你就做不好生意。你做不好生意,你的资源不够,你的产品也会在你最终沮丧的过程中渐渐消亡

反观推特的很多大佬,一说技术都牛逼的不行。但是一让他宣传,他就怕别人骂他。你做生意肯肯定会有人对你指指点点,这个是很正常的事情

然后他们跟一些技术不如他的客户去沟通的时候,非常没有耐心,甚至会有一种英雄主义,觉得自己厉害就好了,但是你要知道一个人的精力是非常有限的

好了,今天就分享到这里,希望能帮到那些真正愿意做好产品、做好销售的大佬们

via https://manateelazycat.github.io/feed.xml
AI 时代的承载力

AI 时代,光有编程能力已经没有竞争力了

AI 时代,技术和产品的执行成本已经非常低了,如果要更好的生活,更有竞争力,就需要锻炼更多的广度和认知

很多人认为更大的能力就是学习更多的知识,看更多的书,那只是一部分。AI 时代,Agent 就是你的执行者,你需要用管理的思维才能更好的做出产品,管理好 Agent

今天我就分享一下管理岗位一般都需要什么样的思维模式

在一线岗位,成功更多依靠执行力和专业技能。但当你进入管理和领导岗位,这些就只是基础要求了。真正拉开人与人之间差距的,是能否承担更大的责任,应对更复杂的人际关系,以及更高程度的不确定性

那么,什么是承担责任的能力,也就是“承载力”?我认为,它包含四个思维层次,一层比一层更有挑战,也更重要。

一、承载自己:管理情绪,承受压力

职位越高,压力就越大,面对的挑战也越复杂。当项目出了问题,团队开始焦虑时,你不能跟着一起失控。当你受到批评或遭遇不公平对待时,也不能向身边所有人抱怨

先稳住局面,再解决问题。这是成为领导者的基础

二、承载他人:接纳不同性格与观点

你越往上走,就越能看见人性的复杂。涉及利益时,有的人争抢功劳,有的人逃避责任;面对诱惑时,有的人为了个人利益而改变立场

如果你因此愤怒、失望,或者试图改变所有人,最终只会耗尽自己。真正成熟的人,既不期待人性完美,也不与人性对抗

三、承载复杂性:在不确定和冲突中做判断

很多人以为,高层领导最难应付的是工作量。但真正的压力,往往来自没有明确答案:信息永远不完整,意见永远无法完全统一,而决策总是伴随着风险

当所有人都对方向感到不确定时,你不能只是等待,也不能把自己的焦虑传递给团队。你必须站出来,明确方向,稳住节奏,作出决策,成为团队的定海神针

在不确定性中保持清醒,并作出合理判断,是高层领导者最稀缺的能力之一

四、承载使命:为更大的目标承担责任

最后一个层次最难培养,也最能体现领导者的视野,那就是承载使命,为更大的目标承担责任

到了这个阶段,领导者最大的变化,是不再把自己仅仅看作管理者,而是价值的创造者。真正的领导者,不再只关注眼前的目标和结果。他们会问:这个组织存在的意义是什么?我要带领这些人走向哪里?我想创造怎样的长期价值

领导层次越高,就越不能只关注解决今天的问题,而必须为未来创造方向。他们承担的不只是业务目标,还有帮助组织成长、让更多人取得成功的责任

所以,承载力从来不是与生俱来的。它是在一次次压力、挑战、选择和责任中,一点一点锤炼出来的。这也是一个人从成熟走向更高层次时,必须面对的核心考验

一个人能走多远,不仅取决于他有多强的能力,也取决于他能扛起多重的责任

中间的这段话是我读罗伯特·迪尔茨的书分享给你们的,希望能够帮助你们

AI 时代,技术和产品执行力是你的基础,你需要更复杂的综合能力,才能在 Agent 给你干活的时候,把团队组织好,把价值传递出去,让客户能满意,而这些都源于人性背后的软实力:承载力

via https://manateelazycat.github.io/feed.xml
Omarchy Screenshot 增加了延迟截图的功能

默认 Ctrl Alt A 会直接启动 Omarchy Screenshot

今天加了 Ctrl Alt Shift A 会延迟5秒钟再启动截图,对录制一些需要延迟截图的场景非常有用

给你们看看效果,哈哈哈哈

via https://manateelazycat.github.io/feed.xml

Invalid media: video
Omarchy Switch Display 显示器切换插件

我的第十九个 Omarchy 插件

Omarchy 生态的 hyprmoncfg 非常好用, 但是 Omarchy 生态的 Win + P 切换显示器的功能确实超级难用

今天要给团队用 Omarchy 系统培训售后服务规范,发现居然要靠命令行才能投屏,对于我这种Linux狂魔肯定不能忍

写了一个新的插件 Omarchy Switch Display , 安装好以后, 直接按 Win + P 就可以像 Windows 那样在扩展/镜像/内屏/外屏 4种状态快速切换。 有了这个插件的帮助, Omarchy 也可以用于商务PPT演讲不翻车了, 哈哈哈哈

我这个插件还有一个增强是,切换到内屏和外屏的时候,会主动调整为屏幕最高的分辨率, 不会像传统Linux那样,镜像屏幕切换到内屏后, 内屏的分辨率会被外屏影响变小,还需要手动调节一次,不方便

源代码在评论区按照 GPL 3.0 开放,Enjoy!

via https://manateelazycat.github.io/feed.xml

Invalid media: image
中国古话叫莫行大善,年轻的时候觉得这句话很装逼,不明所以,现在年纪大了,反而觉得非常深刻

什么意思呢?

以开源项目为例,开源项目首先是自己喜欢的事情,所以你先满足自己,然后再开源分享给别人,很棒。 但是做到这里就可以了,一旦开放出去,以后的需求,取悦自己就加,不是自己的需要,让别人加,不要一个需求自己又不喜欢又加班去搞,免费的帮助别人。这样做的后果就是,那些从来没有付过费用的人同时也很贪婪,当你有一天停止这样的超强贡献,停止这样的大善的时候,他们不会关心的健康,不会关心你的家庭,不会关系你的幸福,他们只会混蛋一样的来骂你,你为什么不免费给他们开发功能啦?

以团队为例,每个人的成长都有自己的成长环境和人生经历,当你热切的希望去帮助一个人的时候,你会指出他的不足,甚至严厉的传授自己的经验。但是人性的忌妒和比较之心,反而会招致对方的记恨和怨气,你长此以往的主动帮助,这种大善反而会害了你。所以,职场上,可以帮助他人, 但是一定是他掉坑里面爬不出来了, 主动求助你的时候, 你才帮,只有这个时候他会带着感激之情听你的经验分享

现在我自己明白了,莫行大善的源头是看透了人性,主动行大善的人都内心善良,但是千百年的人性锤炼,主动行大善会引发人的忌妒、怨恨和攻击,对自己不好

坚持做好事,但是不要行大善,过来人的劝告,希望帮助有缘人

via https://manateelazycat.github.io/feed.xml
小公司不要把精力都花在内部管理上

很多小公司刚刚步入正轨,老板就开始觉得公司不够正规,要向大公司学习,建制度,搞流程,上考核。

忙了一圈,员工越来越忙,用户越来越少,老板还觉得是不是管理抓得不够?于是继续加流程,加考核,大家更忙了,生意却没有变好。

这里有一个很容易搞反的常识,公司的钱是用户给的。你内部管理得再漂亮,用户不买单,公司一样活不下去。把流程执行完,和把用户的问题解决掉,是两件事情。

我觉得,小公司尤其要想清楚下面三件事。

第一,精力要花在用户身上

小公司的时间、钱和人都有限,你每天花几个小时开内部会议,团队就少几个小时去了解用户、改进产品、做好服务。每个人的精力都在公司内部来回消耗,最后谁去关心付钱给你的用户呢?

小公司的优势就是离用户近,反应快。用户反馈一个问题,能尽快有人回应,能尽快解决,这就是实实在在的竞争力。如果一个简单问题也要层层汇报,等流程走完,用户已经走了,你把自己最宝贵的优势折腾没了。

第二,流程要能跟着现实改

很多人对过去成功的经验有执念,觉得以前这么干赚到钱了,以后就应该一直这么干。但是市场会变,用户的需求会变,过去帮你赚钱的方法,也可能变成今天挡住机会的东西。

所以,制度定下来以后,还是要经常看看,它现在还管用吗?它有没有让团队更容易尝试新东西?如果大家发现一个好机会,第一反应就是这件事不符合流程,干不了,那你就要反省,这个流程到底给公司带来了什么。

第三,多花心思用人

小公司就那么几个人,每个人擅长什么,放在哪个位置最能发挥作用,老板要想明白。一个人擅长做产品,你却让他天天写汇报,再拿汇报写得不好去考核他,这个管理本身就有问题。

用人的关键,是让人的长处能为用户创造价值。合适的人放在合适的位置,给他清楚的目标,给他做事的空间,往往比你把制度再写厚一点有用得多。

管理当然需要,但是每增加一个流程,都要想一想,它有没有帮助团队把事情做好,有没有让用户得到更好的产品和服务。如果只是让老板看着舒服,让公司显得很正规,却消耗了大家大量的时间,那就要敢于把它减掉。

用户反馈有人接,产品问题有人改,关键事情有人负责,这些事情踏踏实实做好,比在公司内部制造一堆忙碌更有价值。

via https://manateelazycat.github.io/feed.xml
机会是创造出来的

很多人都羡慕别人创业成功,说别人是因为更聪明、有资源或者运气更好,轮到自己,就是没资源,没条件,没运气

今天我要给大家分享一个反直觉的创业秘籍,机会不是等出来的,而是创造出来的

那机会是怎么创造出来的?

1. 内在地图

说白了,就是你过去的经历、知识、信念和习惯,慢慢形成的一套看事情的方法。这套方法决定了你会关注什么,也决定了你会忽略什么

你熟悉技术,就容易关注技术;你熟悉客户,就容易关注需求。每个人看到的东西,都和自己过去的积累有关系

问题在于,很多人会把自己熟悉的那一小块,当成整个世界。遇到一件没做过的事情,第一反应就是不可能、太难了、风险太大了,然后就不再往下看

机会还没有被认真了解,就已经被自己的经验否定了。你一直用过去的判断方式去看新的事情,能看见的机会自然也会很有限

2. 换位思考

很多人寻找机会,首先想的是,这个事情能不能让我赚钱?我有没有能力做?这些问题当然要考虑,但是如果一直围着自己转,就很难看清别人到底需要什么

以做产品为例,你站在自己的角度,会想我的产品怎么卖出去。换到客户的角度,就会想,他现在遇到了什么问题?为什么现有的产品没有让他满意?他真正需要解决的是什么?

再换到合作方的角度,看看对方需要什么,你能给他什么。然后站到一个旁观者的位置,把自己的情绪放下来,看看整件事到底是怎么回事

最后,再把视野放大一点,看看整个事情里有哪些人、哪些资源,需求在哪里,供给在哪里,中间缺了什么。很多机会,就是在这个供需缺口里面

你只盯着自己能不能得到好处,看到的东西很少。你开始认真理解别人,就会看到一些以前根本没有注意过的问题

3. 找寻自己

如果你一直觉得,我是一个需要找到好机会的人,那么你每天都会找,有没有更好的项目?有没有赚钱的风口?有没有一个事情,能让我一下子翻身?

你总想先找到一个足够好的机会,再决定自己做什么。机会不够好,就继续等

如果你觉得,我是一个能够创造价值的人,那么你看事情的出发点就会变。你会主动去找,哪里有问题没有解决?哪里有需求没有被满足?我现在的能力,能给别人带来什么帮助?

一个人习惯问什么问题,就会把精力花在什么地方。天天找风口,你的注意力就在风口上;天天想怎么创造价值,你的注意力就会慢慢转向需求和解决问题

同时,要思考这个创造价值的事情是否是自己每天喜欢干的事情?如果恰好是自己每天喜欢干的事情,你怎么做都不累,因为你享受其中

所以,创业的机会,如果你从外人看,总感觉别人创业成功是突然成功的,是被机会吹上天的,运气好,总觉得这么好的机会,我自己上也可以,这是弱者的心态,嫉妒者的心态

如果你懂得了靠看书来增加视野,靠帮助客户赚钱,靠内观自己来决定不做什么,你就有无穷的力量去创造属于你自己的机会,一旦做起来了,别人就无法和你竞争,因为谁会比你自己更擅长做你自己呢?

今天就分享到这里,希望可以帮助那些虚心学习,努力创业的创业者

via https://manateelazycat.github.io/feed.xml
Omarchy File Previewer 文件预览插件

我的第二十个 Omarchy 插件

Omarchy默认的文件预览功能有几个缺陷

1. 预览窗口经常因为鼠标移动而丢失键盘焦点,导致关闭预览窗口还需要再把鼠标移动回来,非常不方便
2. 默认不支持上一个文件和下一个文件的移动
3. 预览窗口无法临时移动一下屏幕中的文字,导致看底部的文字很不方便

所以我做了一个 Omarchy File Previewer 的插件,修复这三个问题:

1. 锁定键盘焦点
2. 用 J 或者 K 键来切换文件预览
3. 用方向键移动预览窗口

代码按照 GPL 3.0 协议发布, Enjoy!

via https://manateelazycat.github.io/feed.xml

Invalid media: video
128GB 推理设备的 AI 模型推理引擎怎么选?

最近一个月陆陆续续移植了60多个AI模型,基本上主流的AI推理引擎都深度玩了一遍,下面是我的结论:

1. 单流解码优先选 TensorFold:如果要追求单流解码速度, TensorFold 绝对是最佳选择, 这种内置随机解码的推理引擎, 单流解码速度是 vLLM 的 1.3 ~ 3 倍,取决于跑的是稠密模型还是MoE模型,包括我这几天试验的 DeepInfer 也是潜力巨大,解码性能极度优秀,性能和 TensorFold 不相上下
2. 高并发选 vLLM 和 SGlang: 如果要追求并发解码性能和预填充性能的,优先 vLLM 和 SGlang, 这两个一般都要配合 DFlash2 做随机解码优化, 配上 DFlash2 后,单流解码性能也非常优秀。那 vLLM 和 SGlang 怎么选? 从我的理解差别不大,SGlang 会更加新潮一点,跟进流行模型的速度更快
3. Strata 不适合 128GB 大显存推理设备:Strata 这个广受好评的推理引擎,只适合 4090/5090 这些32GB小显存的消费级显卡,不适合128GB这种显存一体的推理设备, 比如DGX和懒猫AI算力舱。以 Strata 最擅长的 Qwen 3.8 Flash Next 为例, 同样 128GB 的推理设备, Strata 的解码性能不如 vLLM 的一半, Prefill的性能不足 vLLM 的 1/2, 强烈不要建议大家在 128GB 设备上跑 Strata , 还是老老实实用 vLLM、 SGLang 和 TensorFold

原文:X 上的帖子

via https://manateelazycat.github.io/feed.xml

Invalid media: image
笑傲江湖

学 yihong 来个子弹博客。

● 2001 年,央视《笑傲江湖》开播。记得那一天,我跟父母一起守在电视机前,为什么?因为中央电视台电视剧制作中心,那可是一个金字招牌,《笑傲江湖》是央视武侠的开山之作,班底的上一部作品,是《水浒传》,再上一部是《三国演义》。
● 开幕的画面直接震撼到我,让我过了 20 年仍记忆犹新,绿树掩映,山间小道,悬崖峭壁,云雾散处,曲洋抚琴。第一次觉得,原来彩电这么爽。要知道以前的武侠,都是尘土飞扬,灰头土脸,布景塑料。
● 别说风景了,就说这部的音乐,也不是吕颂贤版可比的,偏偏《笑傲江湖》的核心,是一首曲子,以此为始,以此为终。
● 我爱上了这个江湖,以至于到今天,我都梦想等退休后,能有洛阳绿竹巷那样一个居所,远离尘嚣。
● 自那之后很长一段时间,《笑傲江湖》成了我爸的 goto 电视剧————只要切换到哪个电视台在播,高低看一集。后来这个地位变成了《亮剑》,再后来是《父母爱情》,没有其他的了。
● 年龄长了以后才读懂一些里面的江湖,所以令狐冲从来不是一个潇洒的人,这只是他在这个污浊的世界中生存的方式,内心拧巴,充满痛苦。“你的笑只是你穿的保护色”,虽然最后同样是归隐山林,这个结局却并不令人舒心。
● 我发现一个作家笔力长了以后都会倾向于创作这种拧巴的角色,读完像挨了一闷棍,没有郭靖那样光明磊落,也没有杨过那样爱恨分明。
● 写到这儿。

via Frost's Blog
🏆1
FlClash 节点 Timeout,原来是 Xray 握手兼容问题

今天遇到一个奇怪的问题,两台 VPS,一台 DMIT,一台 Rack,都是用我写的 xray-installer 部署的 VLESS + Reality + Vision,同一台电脑上的 FlClash,Rack 可以正常使用,DMIT 却一直显示 Timeout。

配置原理一样,为什么换一台服务器就不能用了?

先检查最基础的连接。DMIT 的域名解析正常,443 端口可以直连,建立 TCP 连接大概 160ms,普通 TLS 握手也能成功,SSH 登录同样没有问题。

但是用 FlClash 内核单独测试代理节点,日志里出现了真正的错误:

REALITY Authentication: false
REALITY authentication failed

这就把范围缩小了,连接已经到达服务器,失败发生在 REALITY 认证这一步。界面上的 Timeout 把这些细节全藏起来了,只看测速结果,很容易以为是网络不通。

接下来登录 DMIT,把服务端正在使用的配置和客户端逐项核对:

1. 服务端私钥对应的公钥,和客户端的 public-key 一致
2. 客户端的 short-id,在服务端的 shortIds 列表里
3. 客户端的 servername,在服务端允许的 serverNames 列表里
4. UUID 和 xtls-rprx-vision 也都一致

两边时间同步正常,Xray 服务正在运行,443 端口也确实是 Xray 在监听。参数全对上了,为什么认证还是失败?

继续检查版本,DMIT 上运行的是 Xray 26.10.21。新版 Xray 对 REALITY 客户端的 TLS 握手有了新的要求,而我生成的 FlClash 配置没有启用 X25519MLKEM768 密钥交换,原来的握手方式没有通过服务端检查。这个兼容问题在 Xray 的 issue 里也有记录。

最后的修复非常简单,在客户端配置的 reality-opts 下面加一行:

      support-x25519mlkem768: true

注意缩进,和 public-key、short-id 对齐,结构如下,公钥和 short-id 保留你自己原来的值:

    client-fingerprint: chrome
reality-opts:
public-key: "你的原公钥"
short-id: "你的原 short-id"
support-x25519mlkem768: true

这个选项让客户端启用 X25519MLKEM768 密钥交换,具体含义可以看 Mihomo 文档。这次公钥、UUID、short-id、伪装域名和服务端配置都不用改。

为了确认原因,用同一个 FlClash 内核做了一次对照测试,其他参数完全不变,只改变这一项:

日志也变成了:

REALITY Authentication: true

原因终于找到了。Rack 那台服务端可以接受原来的握手,DMIT 这台新版 Xray 则需要客户端开启这个选项,所以两份看起来原理相同的配置,实际连接结果却完全不同。

修改以后,要重新加载 FlClash 中的 DMIT 配置,再选择这个节点测试。如果你只是改了电脑里最初导入的文件,也要确认 FlClash 实际使用的配置已经同步更新。Linux 上导入的配置通常保存在 ~/.local/share/com.follow.clash/profiles/。

选好节点以后,可以用下面的命令验证,默认本地代理端口是 7890:

curl --noproxy '' -x http://127.0.0.1:7890 \
--max-time 10 -sS -o /dev/null -w '%{http_code}\n' \
https://www.gstatic.com/generate_204

返回 204,说明这次请求已经通过代理完成了。

这次顺手也修了 xray-installer 的配置生成模板,默认加上 support-x25519mlkem768: true,同步更新测试,发布了 v0.1.14。以后使用新版本生成的配置,就会带上这一项。已经导入 FlClash 的旧配置需要自己补上,更新安装器不会自动修改客户端里的配置,也不用为了这一行重新部署服务端。

折腾网络问题,界面上的一个 Timeout 能对应好几个不同的原因。端口能连上,只能证明 TCP 连接成功;普通 TLS 握手成功,也不能证明 REALITY 认证成功。把连接过程拆开,看核心日志,再拿实际请求验证,才能知道问题到底卡在哪一步。

via https://manateelazycat.github.io/feed.xml
加固我的virtiofs

本文来自依云's Blog,转载请注明。

最近各种严重的安全漏洞层出不穷,而我更新完它们、停下来的时候,突然发现一件事:我的virtiofsd是使用abstract socket来连接的,而它所提供访问的文件系统并没有进行任何限制。这意味着任何本地用户,只要连上去就能得到virtiofs里的root访问权限,然后往里边丢一个suid的shell,最后从外边直接执行就能提权!

当初选择使用abstract socket,主要是因为这样不用管理一个socket文件,会比较方便。但其实现在socket文件交给systemd处理也很方便了。

加固方案,首先是不再使用abstract socket,以便进行权限控制——只允许我自己连接。另外再用一下用户命名空间的id映射——这样在文件系统上直接访问的话,它们都是某个普通用户的文件,没有特权了。

首先要把rootfs的uid和gid都改成使用高位id。可以使用systemd-nspawn来更改,但是它要求起始id是65536的整数倍,不能像以前那样用100000然后看着就很整、很容易看出对应关系了。

用以下命令就可以更新id了:

sudo systemd-nspawn -D /.../rootfs --private-users=655360:65536 \
--private-users-ownership=chown

另外要在/etc/subuid和/etc/subgid里更新授权给我的用户的id段,这样以我的用户权限运行的virtiofsd才能使用它们。

服务文件如下:

[Unit]
Description=Share ArchKDE rootfs to virtual machines via virtio-fs

[Service]
Type=simple
StandardInput=socket
ExecStart=/usr/lib/virtiofsd --fd=0 --posix-acl --preserve-noatime --rlimit-nofile=524288 --shared-dir=/run/ssd/archkde-rootfs --uid-map :0:655360:65536: --gid-map :0:655360:65536:

以及systemd的socket单元文件:

[Socket]
ListenStream=/run/user/%U/archkde.fs

[Install]
WantedBy=sockets.target

我另外有一个用于共享pacman包缓存的virtiofs。这个要和主系统共享,就不能用我的用户权限运行了。所以得作为系统服务运行,但是让我的用户可以访问到它的socket文件。为了排除安全隐患,我给这里的挂载点添加了nosuid,nodev,noexec挂载选项。

这里遇到了一个奇怪的问题:我使用/run/user/1000/pacman.fs这个路径来放socket文件,但是启动之后并看不到这个文件。可能是某种mount命名空间的原因。所以我改成了另外的位置。systemd的socket单元提供的选项挺齐全的。

[Unit]
Description=Share pacman cache to virtual machines via virtio-fs

[Service]
Type=simple
StandardInput=socket
ExecStart=/usr/lib/virtiofsd --fd=0 --shared-dir=/var/cache/pacman/pkg --preserve-noatime

[Socket]
ListenStream=/run/virtiofsd/pacman.fs
SocketUser=lilydjwg
SocketGroup=lilydjwg
SocketMode=0660

[Install]
WantedBy=sockets.target

接下来把两个socket单元都启用并启动,虚拟机就可以运行起来啦~

另,想从外面直接访问虚拟机某个用户的家目录的话,可以用idmap选项挂载,例如:

sudo mount --bind -o X-mount.idmap='u:656361:1000:1 g:655460:1000:1' \
/..../rootfs/home/user home-user


via 依云's Blog
远离负面情绪,远离负面的人

我在这个世界已经摸爬滚打了 30 多年了,见过三教九流的人,跟大家分享一下怎么远离负面情绪和远离负面情绪的人。

1. 为什么一些人会攻击陌生人?其实在世间上生活还是很不容易的,特别是在中国的竞争程度还是非常大。如果你有一天被一个你毫不认识的陌生人去攻击,你一定要明白,他攻击你的目的不是你做对了或者做错了,而是他为了他自己的利益,只要攻击你对他自己有利,他就一定会去做。所以说你一定要理解这种行为,他也不过是为了让他自己生存得更好,很可惜的是,他生存得更好,或者他所谓的流量是站在踩踏别人之上的。这样的做法没有对和错吧,从我来看,只有满满的同情。
2. 为什么很多人会一起站队攻击别人?因为你要理解,这种人没有第一种人那么坏的有魄力,但是他为了保持队形,让自己觉得很厉害,所以说他会愿意选择一起去踩踏一个完全不认识的陌生人。为什么呢?他也是为了生存,他的生活太没有乐趣了,所以说他觉得站队是一种荣耀,特别是一起踩踏别人的时候,他有一种怎么说呢?扭曲的心态吧。
3. 你看网上为什么有很多人争论对和错?其实如果你活得像我这么久的话,你就会知道,这个世界上真正值得投入你的精力的是你的作品、你的客户、你的家人、你的亲人、你的小孩、你的朋友,这些每天非常关心你的人,才是你真正值得投入你所有精力的人和事。其实这个世界上根本就没有对和错,但是很多人就会争论对错,因为他们争论对错会有流量。其实争论对错是一件最傻的事情,因为每个人都有他自己的角度、自己的经历、自己的人生,哪有对和错呀?只有利益和立场。但是很多人却利用所谓的对错和情绪去做流量,为什么呢?其实还是为了自己的生存。我是非常不认同这样的做法的,但是我能理解这些人人嘛,生存在这个社会上挺困难的。

所以在这个社会上生存,你一定会遇到很多三教九流的人,那怎么去保持自己的心态?而不是他们干扰呢?这就是我跟大家分享的方法。

1. 保持慈悲的心态,虽然很多人会让你很不爽,但是你从物种生存的角度去看,他们也不过是为了生存而已,如果攻击你没有利益,没有流量,我相信他们也不会攻击你。所以说,你就保持慈悲的心态,去可怜的看他们就好了。虽然很不认同他们,但是没有必要去和他们动情绪,因为他们可能是世界上最可怜的一波人。
2. This will pass too,如果你像我遇到了这么多事情,这么多人,你就会知道,其实你今天取得的成功。过段时间就会消失的。今天你受过的痛苦,过段时间也会消失的。因为这个世间生不带来,死不带去。所有的金钱,所有的名利,无非是一个过程,最重要的是保持对当下的专注,保持对当下的享受,因为人生匆匆三万天,没有必要浪费你的时间在陌生人身上。
3. 不要去干涉他人的因果,很多年轻人其实也是非常正直的,但是为什么在这个社会上摸爬滚打,反而会一身伤呢?因为他太愿意帮助别人了。你看那些因为流量也好,因为利用人性的恶也好,因为嫉妒也好,因为猜忌也好,因为害怕自己没有存在感而站队也好,不管他们是什么样的人,他们今天因流量而做的这些恶心的事情,其实对你没有任何伤害呀,因为网上的攻击无所谓了。但是你要知道,其实他们伤害的最大的不是别人,而是他们自己。因为他们的人生充满了无趣、充满了戾气、充满了悲观、充满了对与错、充满了这些负面的能量,这些负面的能量,其实别人不关心是没法影响别人的,最大的影响反而是他自己。他们可能要经历过很多人生挫折,才会知道在这个世界上保持对别人善良是多么重要的事情,因为对别人善良会让自己活得更好、更开心、更幸福。所以不要去干涉别人的因果,他的因让他自己的果去承受。你去干涉他的因,他不会感激你,反而会让你身上一身泥。

这就是我的一些分享,可能有一些老登的味道,但是也希望帮助有缘人能够远离负面能量,远离负面的人,专注自己的产品、自己的家人、自己的美好生活。希望大家友好交流,对世间多一份善良。

via https://manateelazycat.github.io/feed.xml
🏆1