
一台服务器上运行 60 个容器
一个裸金属服务器运行数十到数百个 Hoody 容器。KSM 和 BTRFS 去重使边际成本接近零。
hoody-pipe 在它持有的每条路径上,已经自动提供一个网页上传表单。把文件拖到页面上,字节就通过管道流到你脚本的 stdin。你写了零行上传代码。
拖入文件或点击上传
任意大小 · 任意类型无上传代码、无 S3 桶、无预签名 URL
hoody-pipe 在路径根处运行一个网页 UI,在 /noscript 提供无 JavaScript 的回退。两者都把 multipart 字节直接流给读取同一条路径的人。你的脚本读管道——这就是全部连接。
https://pipe.hoody.com/upload任何你没保留的路径都成为一条管道。这个 URL 就是上传页面。
GET /upload — 自动托管的上传表单Hoody 帮你提供这个表单:拖放区、multipart 解析器、CSP nonce,全部内建。/noscript 为受限浏览器准备。
PUT /api/v1/pipe/upload (multipart/form-data)第一个 multipart 部分被解包并流给接收端。无服务端暂存、无临时文件。
curl …/api/v1/pipe/upload | python process.py接收端和发送端在 5 分钟 TTL 内连上。脚本不知道自己背后是个网页——它只是读字节。
管道就是上传服务器。你的脚本就是接收端。两者之间没有第三个进程——没有 Lambda、没有 API 网关、没有胶水函数——把拖放区和你的 stdin 隔开。
下面每一项,如果让你为一个一次性上传器写,都是一天的活。管道把它们都内置好了。
管道 UI 渲染拖拽区域、点击选择回退,以及进度反馈。/noscript 为没有 JS 的浏览器提供纯 HTML 表单——同一条路径,无需额外代码。
当浏览器 POST multipart/form-data 时,服务器提取第一个部分并流式转发。无 body 缓冲、无临时文件清理、无十行的 multipart 库。
表单自带新鲜的 CSP nonce。危险的内容类型(text/html、image/svg+xml、application/javascript)在抵达你之前会被改写为 text/plain。OPTIONS 处理跨域预检。
在有人上传之前先跑你的脚本,或之后再跑都行——管道会保持连接,直到双方都到位,最多 5 分钟 TTL。接收端数量(n)可配置,最多 256。
并排对比:你本来要搭的上传链路,与你只需要指向脚本的那个 URL。
你写脚本。Hoody 写上传表单。
process.py — 读 stdin,干活
while read chunk; do …页面、表单、解析器、安全
GET /upload — 自动托管开发者在需要一次性文件上传时常用的那些方案。每一个都收一笔搭建税——要开桶、要装中间件、要轮换签名密钥。管道只是一个 URL。
选一条路径。读这条管道。上传表单已经在那个 URL 上跑着了。