1 分•作者: satuke•6 个月前
返回首页
最新
1 分•作者: voxRovis•6 个月前
1 分•作者: theletterf•6 个月前
2 分•作者: dash14•6 个月前
嗨 HN,
我构建了 Buildcage 来解决工作中反复出现的一个问题:在 Docker 构建期间,像 `npm install` 和 `pip install` 这样的工具可以执行任意代码,并与任意主机建立出站连接,而这缺乏可见性和控制。一个被攻破的依赖项可能会悄无声息地窃取构建密钥或向攻击者的服务器回传信息——而你却无法检测到它。
Buildcage 为 Docker 构建增加了透明的出站网络控制:你定义允许哪些域名,而其他所有内容都会被阻止并记录。无需代理注入,无需更改证书——HTTPS 过滤通过 SNI 检测完成,因此 TLS 保持不变。它是一个适用于 Docker Buildx 和 GitHub Actions 的即插即用层。
大约三周前,我分享了一个早期版本。从那时起,我替换了代理层(nginx → HAProxy),从而能够拦截所有 TCP 端口并添加 IP 白名单。我还重新设计了规则语法,以支持通配符、正则表达式和统一的 host:port 格式。
由于 Buildcage 位于你的构建流水线中,因此很自然地会问:你如何信任这个工具本身?你可以 fork 仓库并自己构建镜像——我为此添加了一个自托管指南。文档还明确列出了它防御的对象以及它无法阻止的内容。安全工具应该诚实地说明其局限性。
这并非万能药——它是一道最后的防线。如果某些东西突破了你的其他措施,至少它无法回传信息。
GitHub: <a href="https://github.com/dash14/buildcage" rel="nofollow">https://github.com/dash14/buildcage</a>
欢迎提供反馈。如果你觉得它有用,GitHub 的一个星标确实有帮助。
3 分•作者: Rocked0205•6 个月前
2 分•作者: igorlira•6 个月前
嗨 HN,
当浏览器停止支持 NPAPI 插件时,成千上万的 2000 年代初期的网页游戏实际上就此消失在历史长河中。特别是 Macromedia Shockwave,它是一个闭源、高度复杂且很大程度上未被记录的庞然大物。
所以我和几个朋友花了过去两年时间做了一件可以说是不理智的事情:从头开始重建整个 Director 引擎。今天,我们终于分享了 dirplayer-rs。
代码库:[https://github.com/igorlira/dirplayer-rs](https://github.com/igorlira/dirplayer-rs)
我们是有意保持沉默,直到我们有无可辩驳的证据证明这确实是可行的。随着我们最新的 v0.4.1 版本的发布,我们拥有了完全的硬件加速图形。复杂的游戏正在浏览器中原生启动,并且可以完全游玩。
一些童年最爱,现在就可以玩了:
Habbo Hotel: [https://dirplayer.com/habbo](https://dirplayer.com/habbo)
LEGO Junkbot: [https://dirplayer.com/junkbot](https://dirplayer.com/junkbot)
LEGO Worldbuilder: [https://dirplayer.com/worldbuilder](https://dirplayer.com/worldbuilder)
我们选择了 Rust 和 WebAssembly,因为我们希望有一种无需插件的原生方式来玩这些游戏,而无需依赖古老的执行文件。解析数十年历史的、不受信任的二进制大对象和未记录的字节码是一场内存安全噩梦,这使得 Rust 成为一个容易的选择。它还为我们提供了可预测的性能,且没有 GC 暂停,保持了流畅的帧率。
到目前为止,最大的难题是 Lingo,Director 的脚本语言。它非常庞大。它大力支持 3D 图形、嵌入的 Flash 内容,以及最糟糕的部分:Xtras。Xtras 是从原生 C 代码编译的外部可分发插件。弄清楚如何在现代 WASM 环境中让它们良好运行一直是一个严峻的挑战。
然而,我们确实成功地实现了 Multiuser Xtra,因此游戏可以创建套接字连接(Habbo 就是这样工作的!)。我们还有很长的路要走,才能支持完整的 3D 和庞大的第三方 Xtras 生态系统,但基础是坚实的。
这一切都不是孤立发生的。我们建立在 Shockwave 逆向工程社区多年来的工作基础上:多年来一直在研究 Director 内部结构的人们,以及他们之前的项目、工具和研究使这一切成为可能。
很乐意在评论中深入探讨:逆向工程过程、反编译古老的二进制文件、Director 的 VM 的奇怪特性、Rust 架构,以及任何你感兴趣的内容。
而且真的:你希望哪个旧的 Shockwave 游戏还能运行?在下面留言,我们看看是否能让它启动。
59 分•作者: maxloh•6 个月前
2 分•作者: furtims•6 个月前
1 分•作者: FiratBulut•6 个月前
我构建了一个自主 AI 操作系统,它在 Linux 上本地运行。
它不是一个聊天机器人——它将复杂任务分解成子任务,自主执行它们,编写和运行代码,浏览网页,并从每次交互中学习。
主要功能:
* 多模型支持:Claude、GPT-4、Gemini、Groq、DeepSeek(任何与 OpenAI 兼容的)
* 项目经理:将项目分解成子任务并并行执行
* 持久化内存(向量 + SQLite)
* 深度思考:在执行关键操作之前进行审查的二级推理层
* 插件系统:将 .py 文件放入 plugins/ 中,即可立即使用
* 实时活动窗口,显示每个工具调用过程
使用 Python + PyQt6 构建。MIT 许可证。
GitHub:[https://github.com/FiratBulut/Moruk-OS](https://github.com/FiratBulut/Moruk-OS)
1 分•作者: raffael_de•6 个月前
1 分•作者: henk53•6 个月前
1 分•作者: notmine1337•6 个月前
2 分•作者: boazeb•6 个月前
1 分•作者: kevinBrk•6 个月前
我构建了一个仪表盘,试图让国家层面的经济数据真正变得易于理解。
它不再显示“出口额 X 十亿美元”,而是展示意大利出口了 9600 万件连衣裙、1.1 万艘游艇和 21 亿升葡萄酒。
截图:<a href="https://imgur.com/a/kuxWr55" rel="nofollow">https://imgur.com/a/kuxWr55</a>
涵盖了 37 个国家的贸易(联合国商品贸易统计数据库)、政府支出(OECD/COFOG)、收入、债务、战略资源依赖性以及 24 个世界银行指标。
技术栈:Next.js + React + D3.js,FastAPI + SQLite 后端。
尚未上线,分享截图以征求反馈,然后再发布。 想知道这是否对任何人有用,或者我是否在为一个人构建。
1 分•作者: mpweiher•6 个月前
1 分•作者: eyasu6464•6 个月前
我开发了一个基于浏览器的工具,它使用视觉-语言模型(VLMs)通过自然语言提示来检测卫星图像中的物体。在地图上绘制一个多边形,输入您想要查找的内容(例如,“游泳池”、“油罐”、“太阳能板”),系统就会逐个扫描瓦片,并将边界框作为 GeoJSON 投射回地球。
流程:选择缩放级别 + 提示 → 将地图切片成墨卡托瓦片 → 将每个瓦片 + 提示输入 VLM → 创建边界框 → 投影到 WGS84 坐标 → 在地图上渲染。
演示无需登录。对于清晰的零样本结构效果很好;对于密集/遮挡的物体,窄 YOLO 模型仍然更胜一筹。
1 分•作者: incognitojam•6 个月前
1 分•作者: vijaym2k6•6 个月前
30 分•作者: strogonoff•6 个月前
5 分•作者: todsacerdoti•6 个月前