[🍌Banana Prompt Quicker] V1.4.0 更新;Gemini Enterprise支持;更多热门提示词集成;居然有人在闲鱼上卖我的项目。。。
这几天因为项目来加好友的不少,我会抽样问问来源
有从公众号来的,没投稿被逛逛 Github 推了,很惊喜
但没想到还有闲鱼来的。。。三块多,发个网站链接 😅
----------------------
● 支持 Gemini Enterprise
● 支持 Dynamic Site,你可以在 config.json 中添加 JS selector 适配其它不同渠道!
● 支持子分类
● 支持编辑自定义提示词
● UI/UX 优化
● 运营:公告系统、赞助链接、代码重构
github.com
GitHub - glidea/banana-prompt-quicker: 🍌Awesome Prompts; Nano Banana;Banana Pro;...
🍌Awesome Prompts; Nano Banana;Banana Pro; Gemini;AI Studio;Prompt Quickly [商店版本 1.2.1,最新版本 1.3.0+,可选择本地安装抢先体验新功能,具体版本差异见下方 release note]
----------------------
注意商店版本仍然停留 1.2.1,尝鲜请本地安装 Github 版本,审核太太太慢了。。。。
----------------------
提示词更新(节选)
23 posts - 13 participants
Read full topic
via LINUX DO - 热门话题 (author: 阿良 - github.com/glidea/zenfeed)
Invalid media:
image
image
image
image
image
这几天因为项目来加好友的不少,我会抽样问问来源
有从公众号来的,没投稿被逛逛 Github 推了,很惊喜
但没想到还有闲鱼来的。。。三块多,发个网站链接 😅
----------------------
● 支持 Gemini Enterprise
● 支持 Dynamic Site,你可以在 config.json 中添加 JS selector 适配其它不同渠道!
● 支持子分类
● 支持编辑自定义提示词
● UI/UX 优化
● 运营:公告系统、赞助链接、代码重构
github.com
GitHub - glidea/banana-prompt-quicker: 🍌Awesome Prompts; Nano Banana;Banana Pro;...
🍌Awesome Prompts; Nano Banana;Banana Pro; Gemini;AI Studio;Prompt Quickly [商店版本 1.2.1,最新版本 1.3.0+,可选择本地安装抢先体验新功能,具体版本差异见下方 release note]
----------------------
注意商店版本仍然停留 1.2.1,尝鲜请本地安装 Github 版本,审核太太太慢了。。。。
----------------------
提示词更新(节选)
23 posts - 13 participants
Read full topic
via LINUX DO - 热门话题 (author: 阿良 - github.com/glidea/zenfeed)
Invalid media:
image
image
image
image
image
这样的生活算过得去吗?
我去年,在纽约剑桥大学毕业,被评选为优秀大学生。在项目组里面,做了个收益100w刀乐的项目。本来有几个头部企业找我想让我呆在那里工作的,但是没有,我还是想回来发展。因为我觉得,在外面,就算赚到再多的钱,也是没有多大意义的。虽然openai的CEO在发邮件邀请我的时候我是真的很心动,开的条件也好,又能去到ai的龙头企业进行上班,感受其中的氛围。
后面呢,我回来了,一开始也没有想太多,就想找个大厂,磨练一下自己的技术,然后就开始与一些企业管理层进行洽谈,但是最终的谈判结果我不是特别满意,因为薪资待遇啊,还有一些技术上的问题,就暂时没有同意去他们的公司。
就开始在家里想着如何去构造一个真正的aigc环境,也开始慢慢开始了我的布局。还找了个猫管家帮我打理下事,现在也做到了某种意义上的头部。
好了,楼下该帮我补充了
66 posts - 46 participants
Read full topic
via LINUX DO - 热门话题 (author: bohe)
我去年,在纽约剑桥大学毕业,被评选为优秀大学生。在项目组里面,做了个收益100w刀乐的项目。本来有几个头部企业找我想让我呆在那里工作的,但是没有,我还是想回来发展。因为我觉得,在外面,就算赚到再多的钱,也是没有多大意义的。虽然openai的CEO在发邮件邀请我的时候我是真的很心动,开的条件也好,又能去到ai的龙头企业进行上班,感受其中的氛围。
后面呢,我回来了,一开始也没有想太多,就想找个大厂,磨练一下自己的技术,然后就开始与一些企业管理层进行洽谈,但是最终的谈判结果我不是特别满意,因为薪资待遇啊,还有一些技术上的问题,就暂时没有同意去他们的公司。
就开始在家里想着如何去构造一个真正的aigc环境,也开始慢慢开始了我的布局。还找了个猫管家帮我打理下事,现在也做到了某种意义上的头部。
好了,楼下该帮我补充了
66 posts - 46 participants
Read full topic
via LINUX DO - 热门话题 (author: bohe)
个人 2025 买过最值的产品
我自己是不太喜欢买一些没用的东西的,所以买东西之前会考虑非常久。感觉这几年都没买什么东西,但是今年买到了几个很不错的。推荐给佬们
1. 小米净饮机。不是推荐小米这个牌子哈,而是净饮机这个品类。之前要自己买瓶装水很麻烦而且还要凑单(烧自来水的水垢实在是太多了)。净饮机可以直接出热水,还有 nfc 贴。冬天杯子放上去自动出 200ml 45 度水,差不多是两口可以喝完的程度。很舒服
2. 山姆白鹅绒被子。之前做过功课,山姆的这款相对来说性价比是最高的,而且别的牌子要对比参数好麻烦。我从小都是棉被,第一次接触鹅绒被,好舒服
3. 优衣库速干衣(指定货号 476141)。我是出汗偏多的人,夏天出门运动减肥需要速干衣,但是我试过很多品牌很多品类都不好穿(大于 10 种,超过或者接近 1000 块钱的没买过。而且前文提过我买东西之前会研究很久,每一件都不是随便买的)。这是唯一一件湿透了以后不黏在身上,而且日常穿还挺舒服的。趁着打折买了 5 件
踩雷或者说不太适合我的:
1. 手机散热器。买了黑鲨 5 和飞智 B8X,全退了。起因是想 竖屏 玩儿手机的时候加个散热。这个散热器确实很牛逼,有点儿像是冰箱的制冷效果。但是不适合竖屏,所以全退了
2. 316 不锈钢冰。这玩意儿拿来喝冰水的,不知道是不是哪里有问题,制冷效果几乎为 0…
100 posts - 70 participants
Read full topic
via LINUX DO - 热门话题 (author: foxz3)
我自己是不太喜欢买一些没用的东西的,所以买东西之前会考虑非常久。感觉这几年都没买什么东西,但是今年买到了几个很不错的。推荐给佬们
1. 小米净饮机。不是推荐小米这个牌子哈,而是净饮机这个品类。之前要自己买瓶装水很麻烦而且还要凑单(烧自来水的水垢实在是太多了)。净饮机可以直接出热水,还有 nfc 贴。冬天杯子放上去自动出 200ml 45 度水,差不多是两口可以喝完的程度。很舒服
2. 山姆白鹅绒被子。之前做过功课,山姆的这款相对来说性价比是最高的,而且别的牌子要对比参数好麻烦。我从小都是棉被,第一次接触鹅绒被,好舒服
3. 优衣库速干衣(指定货号 476141)。我是出汗偏多的人,夏天出门运动减肥需要速干衣,但是我试过很多品牌很多品类都不好穿(大于 10 种,超过或者接近 1000 块钱的没买过。而且前文提过我买东西之前会研究很久,每一件都不是随便买的)。这是唯一一件湿透了以后不黏在身上,而且日常穿还挺舒服的。趁着打折买了 5 件
踩雷或者说不太适合我的:
1. 手机散热器。买了黑鲨 5 和飞智 B8X,全退了。起因是想 竖屏 玩儿手机的时候加个散热。这个散热器确实很牛逼,有点儿像是冰箱的制冷效果。但是不适合竖屏,所以全退了
2. 316 不锈钢冰。这玩意儿拿来喝冰水的,不知道是不是哪里有问题,制冷效果几乎为 0…
100 posts - 70 participants
Read full topic
via LINUX DO - 热门话题 (author: foxz3)
奔走告喜!!
今天,我站在这里,心情无比激动。就在上周,我们公司再次取得历史性突破——经过我们3个月加班1736.5小时、干掉19个版本、迭代58次需求后,老板终于提了辆新车!
当看到老板朋友圈时,我眼眶湿了。这哪里是车?这是我们用青春熬出来的勋章!
来,我们看数据:
● 人均月加班时长:127小时(环比提升38%)
● 凌晨4点打车报销单:217张
● 掉的头发:不敢统计(但产品总监已经准备植发了)
● 老板的新车百公里加速:3.3秒
3.3秒是什么概念?就是我们从提需求到说“收到”的反应速度! 这就是我们公司引以为傲的执行力!
有人说:老板提车,跟我们有什么关系?格局小了!这恰恰证明了我们的商业模式跑通了——我们用最低的成本,创造了最高的老板幸福感。这性价比,还有谁?
老板在提车仪式上说了(我替他脑补的):“感谢团队,没有你们007的拼命,就没有我贷款买豪车的勇气!”听听,这是多大的认可!
所以战友们,不要羡慕,不要酸。老板的方向感,就是我们的方向——他负责把握方向盘,我们负责踩油门。虽然他踩的是油门,我们踩的是肝的油门,但道理是一样的:都是燃烧自己,照亮前路!
44 posts - 41 participants
Read full topic
via LINUX DO - 热门话题 (author: EasyNice的胖叔叔)
Invalid media: image
今天,我站在这里,心情无比激动。就在上周,我们公司再次取得历史性突破——经过我们3个月加班1736.5小时、干掉19个版本、迭代58次需求后,老板终于提了辆新车!
当看到老板朋友圈时,我眼眶湿了。这哪里是车?这是我们用青春熬出来的勋章!
来,我们看数据:
● 人均月加班时长:127小时(环比提升38%)
● 凌晨4点打车报销单:217张
● 掉的头发:不敢统计(但产品总监已经准备植发了)
● 老板的新车百公里加速:3.3秒
3.3秒是什么概念?就是我们从提需求到说“收到”的反应速度! 这就是我们公司引以为傲的执行力!
有人说:老板提车,跟我们有什么关系?格局小了!这恰恰证明了我们的商业模式跑通了——我们用最低的成本,创造了最高的老板幸福感。这性价比,还有谁?
老板在提车仪式上说了(我替他脑补的):“感谢团队,没有你们007的拼命,就没有我贷款买豪车的勇气!”听听,这是多大的认可!
所以战友们,不要羡慕,不要酸。老板的方向感,就是我们的方向——他负责把握方向盘,我们负责踩油门。虽然他踩的是油门,我们踩的是肝的油门,但道理是一样的:都是燃烧自己,照亮前路!
44 posts - 41 participants
Read full topic
via LINUX DO - 热门话题 (author: EasyNice的胖叔叔)
Invalid media: image
大三要选专业课咋选啊
各位佬,大三了怎么选专业课啊,有推荐的吗,
12 posts - 9 participants
Read full topic
via LINUX DO - 最新话题 (author: Forever811)
Invalid media:
image
image
各位佬,大三了怎么选专业课啊,有推荐的吗,
12 posts - 9 participants
Read full topic
via LINUX DO - 最新话题 (author: Forever811)
Invalid media:
image
image
求助万能的佬友们,请教一下如何封掉claude
请教一下claude要怎么才能封号以及养一个可以登封或者cookie封的方式。
我预估有的因素有:卡 ip 注册邮箱 指纹。
我目前用的也是虚拟卡,ip是cliproxy的(除了有时这个ip质量差当场就封了,别的都封不掉)
我都登在自己的浏览器里了,同时在一台rn的机子上装了个clewdr来nsfw轰炸,同时找了别的佬友的烂ip登陆,又到类脑把cookie给登封仙人,结果现在除了黄标啥都没有。
我真的没招了,有没有佬能支支招,我不想被爆米啊,悲
14 posts - 7 participants
Read full topic
via LINUX DO - 最新话题 (author: 金亦求金)
请教一下claude要怎么才能封号以及养一个可以登封或者cookie封的方式。
我预估有的因素有:卡 ip 注册邮箱 指纹。
我目前用的也是虚拟卡,ip是cliproxy的(除了有时这个ip质量差当场就封了,别的都封不掉)
我都登在自己的浏览器里了,同时在一台rn的机子上装了个clewdr来nsfw轰炸,同时找了别的佬友的烂ip登陆,又到类脑把cookie给登封仙人,结果现在除了黄标啥都没有。
我真的没招了,有没有佬能支支招,我不想被爆米啊,悲
14 posts - 7 participants
Read full topic
via LINUX DO - 最新话题 (author: 金亦求金)
免费领取2个月的天翼云电脑
天翼云电脑的小程序端正在做活动,扫码打开小程序,就可以领2个月的高配云电脑,兄弟们冲!!!(如果没有实名,登录后要先实名一下)
10 posts - 9 participants
Read full topic
via LINUX DO - 最新话题 (author: lemon)
Invalid media: image
天翼云电脑的小程序端正在做活动,扫码打开小程序,就可以领2个月的高配云电脑,兄弟们冲!!!(如果没有实名,登录后要先实名一下)
10 posts - 9 participants
Read full topic
via LINUX DO - 最新话题 (author: lemon)
Invalid media: image
这道新出炉的2025全国数学奥赛真题哪个模型能战?Deepseek 3.2 与 Gemini 3.0 使出浑身解数败下阵来。。
原题:
现有七十张牌,共有三十种不同颜色,将其中五十张作为上层牌堆,其余二十张作为下层牌堆。进行如下操作:
每次从下层二十张中挑出一张颜色不在上层五十张中出现的牌;
将这张牌取出,并放在上层五十张中某张颜色重复出现的牌上方。
(1) 证明该操作一定会停止;
(2) 求操作的最大可能次数。
最后一问答案是390.
Deepseek 3.2 和Gemin 3.0 不管使用什么办法以及什么样的提示词均无法撼动分毫,且结果雷打不动是 20
deepseek 3.2
gemini 3.0
deepseek 3.0 推理模式下运行老长时间后直接截断了,再不能恢复
答案如下:
2 posts - 2 participants
Read full topic
via LINUX DO - 最新话题 (author: CaiGbro)
Invalid media:
image
image
image
image
原题:
现有七十张牌,共有三十种不同颜色,将其中五十张作为上层牌堆,其余二十张作为下层牌堆。进行如下操作:
每次从下层二十张中挑出一张颜色不在上层五十张中出现的牌;
将这张牌取出,并放在上层五十张中某张颜色重复出现的牌上方。
(1) 证明该操作一定会停止;
(2) 求操作的最大可能次数。
最后一问答案是390.
Deepseek 3.2 和Gemin 3.0 不管使用什么办法以及什么样的提示词均无法撼动分毫,且结果雷打不动是 20
deepseek 3.2
gemini 3.0
deepseek 3.0 推理模式下运行老长时间后直接截断了,再不能恢复
答案如下:
2 posts - 2 participants
Read full topic
via LINUX DO - 最新话题 (author: CaiGbro)
Invalid media:
image
image
image
image
有什么类似通义灵码的在idea上的智能体么
主要是代码补全快一点的,有智能体么最好了,能接自己的api就更好了
5 posts - 3 participants
Read full topic
via LINUX DO - 最新话题 (author: xdtz)
主要是代码补全快一点的,有智能体么最好了,能接自己的api就更好了
5 posts - 3 participants
Read full topic
via LINUX DO - 最新话题 (author: xdtz)
谁能懂啊,0元TEAM被收费了
之前用小号0元team用自己银行卡验证了一下,而且之前立马也取消了订阅,并且将team管理员设置为了大号,然后用大号把小号给移除了。之前没注意突然发到银行账单里有一笔chatgpt的订阅扣款,被反薅了啊
这可咋整啊,我取消的时候是用的大号取消的,因为小号已经不是管理员owner了,收到取消team的邮件也是大号。
14 posts - 10 participants
Read full topic
via LINUX DO - 最新话题 (author: Certhon)
Invalid media:
image
image
image
image
之前用小号0元team用自己银行卡验证了一下,而且之前立马也取消了订阅,并且将team管理员设置为了大号,然后用大号把小号给移除了。之前没注意突然发到银行账单里有一笔chatgpt的订阅扣款,被反薅了啊
这可咋整啊,我取消的时候是用的大号取消的,因为小号已经不是管理员owner了,收到取消team的邮件也是大号。
14 posts - 10 participants
Read full topic
via LINUX DO - 最新话题 (author: Certhon)
Invalid media:
image
image
image
image
【油猴脚本】一键压缩,再也不为ai studio对话过长而烦恼!
vibe coding了一个油猴脚本,支持在ai studio一键压缩历史消息,分叉出压缩过的聊天记录继续聊天
项目地址:可以从README一键安装,greasyfork刚创号还没有分享脚本的权限,晚点再上传
github.com
GitHub - lxchx/aistudio-compressor: 在 Google AI Studio 提供一键压缩聊天记录、注入快照、监控...
在 Google AI Studio 提供一键压缩聊天记录、注入快照、监控 GenerateContent 请求的工具,方便长对话续写与历史迁移 Provides a one-click tool in Google AI Studio to compress chat history, inject snapshots, and monitor GenerateContent requests, facilitating long conversation continuation and history migration
安装后只需要点击对话栏右侧的这个按钮就会自动进行压缩和新聊天的切换:
因为是使用branch的方法做的创建,所以旧的聊天依然会被保留,不需要担心压缩会导致原有记录丢失
压缩的prompt可以自定义,默认是照抄的gemini-cli的提示词
参考了佬的项目
https://linux.do/t/topic/950354
里对于ai studio的逆向成果实现
原理:
1. 输入框注入压缩的prompt发送,截获这次的GenerateContent,从请求提取全对话历史,从回复提取压缩结果
2. 随便找一个聊天块点击 branch from here,截获CreatePrompt请求,篡改请求的data为压缩后的聊天记录,实现创建一个新的压缩后的聊天的对话链接
2 posts - 2 participants
Read full topic
via LINUX DO - 最新话题 (author: umbrella)
Invalid media:
image
image
image
vibe coding了一个油猴脚本,支持在ai studio一键压缩历史消息,分叉出压缩过的聊天记录继续聊天
项目地址:可以从README一键安装,greasyfork刚创号还没有分享脚本的权限,晚点再上传
github.com
GitHub - lxchx/aistudio-compressor: 在 Google AI Studio 提供一键压缩聊天记录、注入快照、监控...
在 Google AI Studio 提供一键压缩聊天记录、注入快照、监控 GenerateContent 请求的工具,方便长对话续写与历史迁移 Provides a one-click tool in Google AI Studio to compress chat history, inject snapshots, and monitor GenerateContent requests, facilitating long conversation continuation and history migration
安装后只需要点击对话栏右侧的这个按钮就会自动进行压缩和新聊天的切换:
因为是使用branch的方法做的创建,所以旧的聊天依然会被保留,不需要担心压缩会导致原有记录丢失
压缩的prompt可以自定义,默认是照抄的gemini-cli的提示词
参考了佬的项目
https://linux.do/t/topic/950354
里对于ai studio的逆向成果实现
原理:
1. 输入框注入压缩的prompt发送,截获这次的GenerateContent,从请求提取全对话历史,从回复提取压缩结果
2. 随便找一个聊天块点击 branch from here,截获CreatePrompt请求,篡改请求的data为压缩后的聊天记录,实现创建一个新的压缩后的聊天的对话链接
2 posts - 2 participants
Read full topic
via LINUX DO - 最新话题 (author: umbrella)
Invalid media:
image
image
image
佬友们,摸鱼心虚怎么办?
如题,干活闲暇之余,来论坛溜溜,或者学点别的技能(如英语等),但是跟同事老板都坐一块,他们偶尔经过会不自觉切换窗口,自我感觉比较心虚。而且感觉现在没之前专注了,是不是有个说法叫adhd?以前能一下午都干活,摸鱼比较少,但那样一段时间,感觉人很累,慢慢就变成现在这个样子了。貌似干着活的间隙,找点别的事去做,好像工作起来更轻松有趣一点 🤣
18 posts - 18 participants
Read full topic
via LINUX DO - 最新话题 (author: mikaesan)
如题,干活闲暇之余,来论坛溜溜,或者学点别的技能(如英语等),但是跟同事老板都坐一块,他们偶尔经过会不自觉切换窗口,自我感觉比较心虚。而且感觉现在没之前专注了,是不是有个说法叫adhd?以前能一下午都干活,摸鱼比较少,但那样一段时间,感觉人很累,慢慢就变成现在这个样子了。貌似干着活的间隙,找点别的事去做,好像工作起来更轻松有趣一点 🤣
18 posts - 18 participants
Read full topic
via LINUX DO - 最新话题 (author: mikaesan)
deepseek v3.2 Livebench已出分
按照模型来说比V3.2 Thinking分数高的有:
Claude 4.5 Opus Thinking
Gemini 3 Pro Preview
GPT-5 High
GPT-5 Pro
GPT-5 Codex
GPT-5.1
Claude Sonnet 4.5 Thinking
GPT-5.1 Codex
GPT-5 Mini
Claude 4.1 Opus Thinking
reasoning:V3.2第九,Speciale第十
coding:V3.2第十六
agent coding:V3.2第十四,Speciale……6.67分(毕竟确实说了没搞)
math:V3.2第十,Speciale第九
data analysis:speciale第三
language和if都不高我懒得数了,大家自己数吧(
分项目排名 (click for more details)
8 posts - 7 participants
Read full topic
via LINUX DO - 最新话题 (author: 作业君)
Invalid media: image
按照模型来说比V3.2 Thinking分数高的有:
Claude 4.5 Opus Thinking
Gemini 3 Pro Preview
GPT-5 High
GPT-5 Pro
GPT-5 Codex
GPT-5.1
Claude Sonnet 4.5 Thinking
GPT-5.1 Codex
GPT-5 Mini
Claude 4.1 Opus Thinking
reasoning:V3.2第九,Speciale第十
coding:V3.2第十六
agent coding:V3.2第十四,Speciale……6.67分(毕竟确实说了没搞)
math:V3.2第十,Speciale第九
data analysis:speciale第三
language和if都不高我懒得数了,大家自己数吧(
分项目排名 (click for more details)
8 posts - 7 participants
Read full topic
via LINUX DO - 最新话题 (author: 作业君)
Invalid media: image
自己开发一个中转站主要接入claudecode 和codex的
做了一个claude code
和codex
还有gemin cll中专站
有需用claude code 的可以找我拿免费额度 用完给我说有没有问题就ok
8 posts - 8 participants
Read full topic
via LINUX DO - 最新话题 (author: 66666)
做了一个claude code
和codex
还有gemin cll中专站
有需用claude code 的可以找我拿免费额度 用完给我说有没有问题就ok
8 posts - 8 participants
Read full topic
via LINUX DO - 最新话题 (author: 66666)
有没有omnibox能用的资源url啊
试了几个收藏的moontv的url,都不能导入。。。。。
1 post - 1 participant
Read full topic
via LINUX DO - 最新话题 (author: rainfield)
试了几个收藏的moontv的url,都不能导入。。。。。
1 post - 1 participant
Read full topic
via LINUX DO - 最新话题 (author: rainfield)
交出你的运动手表
要发工资了
打算奖励自己一个运动手表
佬们有适合游泳的运动手表推荐吗
预算1000以内
欢迎大家秀秀自己的手表图片 :distorted_face:
1 post - 1 participant
Read full topic
via LINUX DO - 最新话题 (author: 一只小黑子)
要发工资了
打算奖励自己一个运动手表
佬们有适合游泳的运动手表推荐吗
预算1000以内
欢迎大家秀秀自己的手表图片 :distorted_face:
1 post - 1 participant
Read full topic
via LINUX DO - 最新话题 (author: 一只小黑子)
对网图识别产生了一点想法2025年12月2日
一个网图,你直接能搜出来,如果一模一样的话,截图也会
那如果你在上面放了几个贴纸呢
那会不会也被搜出来
如果再改个滤镜呢
如果打一点点马赛克呢
如果再用美图秀秀按一个一键美颜呢
1 post - 1 participant
Read full topic
via LINUX DO - 最新话题 (author: 𝓵𝓮𝔃𝓲𝓼𝓱𝓮𝓷)
一个网图,你直接能搜出来,如果一模一样的话,截图也会
那如果你在上面放了几个贴纸呢
那会不会也被搜出来
如果再改个滤镜呢
如果打一点点马赛克呢
如果再用美图秀秀按一个一键美颜呢
1 post - 1 participant
Read full topic
via LINUX DO - 最新话题 (author: 𝓵𝓮𝔃𝓲𝓼𝓱𝓮𝓷)
如何判断中转站是否降智了?我最近使用官方的codex和中转站的api,感觉中转站有种笨笨的感觉。想请问大家,如何判断中转站是否降智
1 post - 1 participant
Read full topic
via LINUX DO - 最新话题 (author: dfbb7475)
1 post - 1 participant
Read full topic
via LINUX DO - 最新话题 (author: dfbb7475)
【开源自荐】我做了一个可执行文件迁移工具——sidebundle:在 Linux/OCI 镜像中打包可迁移的elf/shebang script
〖开源自荐〗sidebundle:在 Linux/OCI 镜像中打包可迁移离线 bundle
我做了一个小工具 sidebundle,专门解决这些需求:
● 想把一堆 Linux 命令行工具 / 自研二进制打成一个 可迁移、可离线运行的 bundle
● 想从 Docker/OCI 镜像(docker/podman)里抽取真正需要的可执行文件和依赖,做成一个更小的包
● 目标环境可能 没有容器运行时 / 包管理器,但又想“一包拷过去就能跑”
● 不想再被各种
项目是用 Rust 写的,支持
----------------------
这个东西到底干嘛用?
1. 宿主机上的可执行文件 / 脚本
2. OCI 镜像里的可执行文件(Docker/Podman)
打完以后会得到一个目录,比如:
你只需要把这个目录打包发给别人,在目标机器上:
就可以用,不需要目标机有 Docker,也不需要包管理器安装 jq。
----------------------
不只是“复制文件”:它是怎么工作的?
简单讲一下核心思路,感兴趣的可以直接翻源码:
1. 静态分析 ELF / shebang ● 解析 ELF 的
2. 运行时跟踪补齐依赖 ● 靠静态分析拿不到
3. 依赖闭包合并 + 去重 ● 支持同时给多个入口(比如
4. 生成启动器 + manifest ● 每个入口会生成一个
----------------------
适用场景举几个例子
我目前主要是围绕这些场景在打磨:
1. 给内部同事发一个“工具箱 bundle” ● 比如包含
2. 从胖镜像里抽取极瘦运行时 ● 有些 CI/CD、任务调度系统里,镜像是能跑但很大 ● 可以在构建阶段从镜像里抽取必要的运行时内容,做成更小的 bundle ● 在某些没有容器能力的环境里,只发这个 bundle 就行
3. 离线 / 内网环境部署 ● 离线机不能上网装依赖,只能靠 rsync 和 U 盘 ● 用 sidebundle 先在一台“有网”的构建机把依赖闭包打成 bundle ● 再丢到内网环境跑
〖开源自荐〗sidebundle:在 Linux/OCI 镜像中打包可迁移离线 bundle
我做了一个小工具 sidebundle,专门解决这些需求:
● 想把一堆 Linux 命令行工具 / 自研二进制打成一个 可迁移、可离线运行的 bundle
● 想从 Docker/OCI 镜像(docker/podman)里抽取真正需要的可执行文件和依赖,做成一个更小的包
● 目标环境可能 没有容器运行时 / 包管理器,但又想“一包拷过去就能跑”
● 不想再被各种
glibc_x not found、libxxx.so: cannot open shared object file 折磨项目是用 Rust 写的,支持
linux-x86_64和arm64,欢迎大家试用、提 issue、顺手点个 ⭐️。🔗 项目地址:效果速览:
GitHub:https://github.com/xiaoniaoyouhuajiang/sidebundle
b站介绍视频:bilibili.com/video/BV1rsSGBtELP/
----------------------
这个东西到底干嘛用?
sidebundle 从一个或多个入口(ELF 可执行文件 / shebang 脚本),自动分析 + 跟踪它们的依赖,然后打出一个「解压即用」的 bundle 目录,拷到别的 Linux 机器上也能直接跑。它支持两类来源:
1. 宿主机上的可执行文件 / 脚本
sidebundle create \
--name htop-bundle \
--from-host '/usr/bin/htop::trace="/usr/bin/htop -n 1"' \
--trace-backend combined \
--out-dir bundles
2. OCI 镜像里的可执行文件(Docker/Podman)
sidebundle create \
--name jq-alpine \
--from-image 'docker://alpine:3.20::/usr/bin/jq::trace=--version' \
--image-trace-backend agent \
--out-dir bundles
打完以后会得到一个目录,比如:
jq-alpine/
bin/ # 提供给用户调用的入口
payload/ # 按原始路径组织好的 ELF / 库 / 资源
data/ # 去重后的真实文件存储(按 hash 命名)
manifest.lock # JSON manifest,记录所有文件的来源和 digest
你只需要把这个目录打包发给别人,在目标机器上:
./jq-alpine/bin/jq '.foo'
就可以用,不需要目标机有 Docker,也不需要包管理器安装 jq。
----------------------
不只是“复制文件”:它是怎么工作的?
简单讲一下核心思路,感兴趣的可以直接翻源码:
1. 静态分析 ELF / shebang ● 解析 ELF 的
DT_NEEDED、RPATH/RUNPATH,搞清楚程序会链接哪些 .so ● 对 shebang 脚本(如 #!/usr/bin/env python3),会找到真实解释器路径,一并打进 bundle2. 运行时跟踪补齐依赖 ● 靠静态分析拿不到
dlopen 之类的动态加载,所以会跑一遍 trace 命令: ● 支持多种 trace backend: ● ptrace(跟踪 open/exec 系统调用) ● fanotify(监听文件访问) ● combined(两者一起) ● 镜像里还有 agent/agent-combined 模式,在容器内跑 agent 再导出结果 ● 这一步可以把运行中真实访问到的库、配置文件、脚本等补齐。3. 依赖闭包合并 + 去重 ● 支持同时给多个入口(比如
python、jq、你自己的 CLI 工具) ● 会把所有入口的依赖闭包合并,再按文件内容 hash 去重,放到 data/<sha256> ● payload/ 里以“原始运行路径”来组织目录,对应的内容来自 data/4. 生成启动器 + manifest ● 每个入口会生成一个
bin/<name> 启动器: ● 设置好 SIDEBUNDLE_ROOT ● 构造合适的 LD_LIBRARY_PATH ● 用原始 linker 起进程 ● manifest.lock 记录了每个文件的来源、类型(静态/运行时)、digest,方便审计和可复现构建。----------------------
适用场景举几个例子
我目前主要是围绕这些场景在打磨:
1. 给内部同事发一个“工具箱 bundle” ● 比如包含
htop + tcpdump + dig + 自己写的诊断脚本 ● 而同事那台机器可能没有 root 权限、没有 Docker、甚至没有包管理器 ● 发一个解压即用的目录,对方直接加个 PATH 就能用2. 从胖镜像里抽取极瘦运行时 ● 有些 CI/CD、任务调度系统里,镜像是能跑但很大 ● 可以在构建阶段从镜像里抽取必要的运行时内容,做成更小的 bundle ● 在某些没有容器能力的环境里,只发这个 bundle 就行
3. 离线 / 内网环境部署 ● 离线机不能上网装依赖,只能靠 rsync 和 U 盘 ● 用 sidebundle 先在一台“有网”的构建机把依赖闭包打成 bundle ● 再丢到内网环境跑
linux.do
【开源自荐】我做了一个可执行文件迁移工具——sidebundle:在 Linux/OCI 镜像中打包可迁移的elf/shebang script 〖开源自荐〗sidebundle:在 Linux/OCI 镜像中打包可迁移离线 bundle 我做了一个小工具 sidebundle,专门解决这些需求: ● 想把一堆 Linux 命令行工具 / 自研二进制打成一个 可迁移、可离线运行的 bundle ● 想从 Docker/OCI 镜像(docker/podman)里抽取真正需要的可执行文件和依赖,做成一个更小的包…
4. 发行版不一致时减少踩坑 ● 很多时候 dev 环境是 Ubuntu,prod 是 CentOS/Rocky,glibc 版本一不对就炸 ● 把依赖都带进 bundle,尽量减少“目标机系统差异”带来的不确定性
----------------------
当前状态 & 已知限制
● ✅️ 支持从宿主机和 OCI 镜像采集入口
● ✅️ 支持 ELF + shebang 脚本;多入口合并 & 去重
● ⏳️ 目前对 GPU/DRM 类库默认做了过滤,避免打进 GPU 驱动
● ⏳️ 某些极端
Roadmap 大概方向:
● 更智能化地trace和更强的可复现性
● 更多发行版特殊 case 处理
----------------------
如何开始试用?
如果你用 Rust:
或者直接用我打好的静态二进制(musl 链接):
文档和更多 demo(比如 Python 脚本打包、复杂工作流打包)在 README 里都有写。
----------------------
最后:如果可以的话,求一波反馈 & Star 🙏
这是我最近一直在折腾的一个小项目,也算是把自己在 Linux 环境复现 / 运维工具分发 / 容器瘦身 上踩的坑总结了一下。
非常欢迎大家:
● 随便拿一个你们在线上用的 CLI 工具或镜像试试
● 在 issue 里丢给我:失败案例 / 奇怪发行版 / 各种坑
● 觉得有用的话,帮忙点个 ⭐️,也可以在楼里说说你想用它解决什么场景,我可以按需求优先加例子
谢谢看到这里的各位佬,也欢迎在评论区聊聊你们在 Linux 应用分发 / 离线部署 / 镜像瘦身 上遇到的坑。
1 post - 1 participant
Read full topic
via LINUX DO - 最新话题 (author: 灼眼的小飒)
Invalid media: image
----------------------
当前状态 & 已知限制
● ✅️ 支持从宿主机和 OCI 镜像采集入口
● ✅️ 支持 ELF + shebang 脚本;多入口合并 & 去重
● ⏳️ 目前对 GPU/DRM 类库默认做了过滤,避免打进 GPU 驱动
● ⏳️ 某些极端
dlopen 场景 / 特殊启动脚本还在持续踩坑中Roadmap 大概方向:
● 更智能化地trace和更强的可复现性
● 更多发行版特殊 case 处理
----------------------
如何开始试用?
如果你用 Rust:
# 安装 CLI
cargo install sidebundle-cli # 请替换成真实 package 名
或者直接用我打好的静态二进制(musl 链接):
# 如果你是x86-64,下载 sidebundle-musl-x86_64 放到 PATH
wget https://github.com/xiaoniaoyouhuajiang/sidebundle/releases/download/static-binary/sidebundle-cli-x86-64-musl
chmod +x sidebundle-cli-x86-64-musl
./sidebundle-musl-x86_64
文档和更多 demo(比如 Python 脚本打包、复杂工作流打包)在 README 里都有写。
----------------------
最后:如果可以的话,求一波反馈 & Star 🙏
这是我最近一直在折腾的一个小项目,也算是把自己在 Linux 环境复现 / 运维工具分发 / 容器瘦身 上踩的坑总结了一下。
非常欢迎大家:
● 随便拿一个你们在线上用的 CLI 工具或镜像试试
● 在 issue 里丢给我:失败案例 / 奇怪发行版 / 各种坑
● 觉得有用的话,帮忙点个 ⭐️,也可以在楼里说说你想用它解决什么场景,我可以按需求优先加例子
谢谢看到这里的各位佬,也欢迎在评论区聊聊你们在 Linux 应用分发 / 离线部署 / 镜像瘦身 上遇到的坑。
1 post - 1 participant
Read full topic
via LINUX DO - 最新话题 (author: 灼眼的小飒)
Invalid media: image