besoeasy/Originless

GitHub: besoeasy/Originless

基于 IPFS 的无账户、无摩擦去中心化存储后端,为 DApp、AI agent、截图工具等提供耐用的匿名文件托管。

Stars: 81 | Forks: 8

# 🌐 Originless **私密、去中心化、独立于源站的文件与应用托管,由 IPFS 驱动** [![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge&logo=docker&logoColor=white)](https://ghcr.io/besoeasy/originless) [![IPFS](https://img.shields.io/badge/IPFS-65C2CB?style=for-the-badge&logo=ipfs&logoColor=white)](https://ipfs.tech) [![License: ISC](https://img.shields.io/badge/License-ISC-blue.svg?style=for-the-badge)](https://opensource.org/licenses/ISC) **现代 Web 的无摩擦存储后端** — 直接接入 DApps、Nostr 客户端、AI agent、截图工具和 pastebin。提供耐用、加密的文件托管,且无需任何 API 密钥或用户账户。
## ⚡ 快速开始(5 秒内运行) 使用单个命令运行集成了 IPFS 的完整 Originless 节点: ``` docker run -d \ --name originless \ --restart unless-stopped \ -p 3232:3232 \ -p 4001:4001/tcp \ -p 4001:4001/udp \ -p 5001:5001 \ -e STORAGE_MAX=100GB \ ghcr.io/besoeasy/originless:latest ``` - 在 **[http://localhost:3232](http://localhost:3232)** 访问 **Originless Web UI 与 API** - 在 **[http://localhost:5001/webui](http://localhost:5001/webui)** 访问 **IPFS WebUI 与 RPC API** ## 🔥 核心功能 - **🌐 独立于源站的存储**:文件被固定到 IPFS。一旦传播给 Peer,即使您的源节点离线,内容也会保持在线。 - **🔒 零摩擦与无账户**:上传无需 API 密钥、密码或身份验证开销。非常适合本地开发、公共 API 或 AI agent 集成。 - **🛡️ 防篡改的加密验证**:通过唯一的 IPFS CID(`ipfs://QmX...`)进行内容寻址。可以根据哈希值对下载内容进行加密验证。 - **📁 完整的文件夹与 DApp 上传**:上传完整的静态网站、React/Vite 构建目录(`dist/`)或保持相对路径完整的资源文件夹。 - **🧹 自动化智能清理程序**:智能的磁盘空间管理。将上传内容至少固定 7 天,并在容量达到 75% 时自动驱逐最旧的文件,以防止磁盘溢出。 - **🤖 专为自治 AI agent 打造**:原生 endpoint 设计允许 LLM(Claude、Copilot、Cursor、自定义 Agent)即时托管生成的媒体、代码片段或网站。 ## 🌟 主要用例 | 用例 | 描述 | | :--- | :--- | | **🚀 去中心化 DApp 托管** | 拖放或上传您的前端 `dist/` 文件夹,在 IPFS 上托管永久、抗审查的 Web 应用程序。 | | **💬 Nostr 媒体附件** | 用于去中心化社交应用(例如 [0xchat](https://0xchat.com/))的即时、免身份验证媒体上传器。 | | **🤖 自治 AI agent 输出** | 赋予 AI 助手无需任何设置或 API 密钥即可发布报告、交互式图表和生成图像的能力。 | | **🖼️ 匿名图像与截图分享** | 用于截图捕获工具、屏幕录制和临时图像上传的即时后端。 | | **📝 Pastebin 与代码片段分享** | 分享文本、日志文件或代码片段,无需担心链接失效或被中心化删除。 | | **📦 弹性资源分发** | 通过自我修复的 P2P 网络分发软件版本、二进制文件、音频/播客或重型媒体。 | ## 🔄 工作原理 ``` ┌──────────────┐ Upload File / Folder ┌──────────────────┐ │ User / Client│ ─────────────────────────────> │ Originless Node │ └──────────────┘ └─────────┬────────┘ │ Pins Content & Generates CID │ ▼ ┌──────────────┐ Cryptographic CID ┌──────────────────┐ │ Public Peers │ <───────────────────────────── │ IPFS P2P Swarm │ └──────────────┘ Helia / Gateway Access └──────────────────┘ ``` 1. **上传**:通过 Web UI 或简单的 HTTP POST endpoint 发送单个文件或目录树。 2. **固定与分发**:Originless 在本地将内容固定到 IPFS,并将其广播给全球的 P2P Peer。 3. **自动化生命周期**:文件保证被固定 7 天。自动化的清理例程会协调存储,以将使用量保持在限制之下。 ## 📡 获取文件与内容验证 ### 🛡️ 自动化获取的推荐方案:[`@helia/verified-fetch`](https://github.com/ipfs/helia-verified-fetch) 我们强烈建议使用 [**`@helia/verified-fetch`**](https://github.com/ipfs/helia-verified-fetch) 以编程和自动化的方式获取通过 Originless 固定的文件。 与向中心化网关发出的传统 HTTP 请求不同,`helia-verified-fetch` 提供**无需信任的、基于内容寻址的验证**。它直接通过 IPFS / libp2p 下载原始数据块,实时验证与 CID 对应的加密哈希,并保护您的应用程序免受篡改或过时数据的影响。 #### 安装 ``` npm install @helia/verified-fetch ``` #### 示例用法 ``` import { verifiedFetch } from "@helia/verified-fetch"; // Fetch and verify content directly by CID const cid = "QmX..."; const response = await verifiedFetch(`ipfs://${cid}`); const fileBlob = await response.blob(); // Or parse JSON automatically // const data = await verifiedFetch(`ipfs://${cid}`).then(res => res.json()); ``` ### 🌐 标准公共网关 对于简单的浏览器链接或非验证的 Web 视图,也可以使用标准的 IPFS 网关 URL: ``` https://dweb.link/ipfs/QmX...?filename=document.pdf ``` ## 🛠️ API 快速参考 Base URL: `http://localhost:3232` ### 上传单个文件 ``` curl -X POST -F "file=@photo.png" http://localhost:3232/upload ``` *响应:* ``` { "status": "success", "cid": "QmX...", "size": 1048576, "type": "image/png", "filename": "photo.png" } ``` ### 上传文件夹 / DApp ``` curl -X POST \ -F "file=@dist/index.html;filename=index.html" \ -F "file=@dist/style.css;filename=style.css" \ http://localhost:3232/uploadfolder ``` ### 检查存储与固定 ``` curl http://localhost:3232/pins ``` ## ⚙️ 环境配置 | 变量 | 默认值 | 描述 | | :--- | :--- | :--- | | `STORAGE_MAX` | `100GB` | 分配给 IPFS 数据的最大存储限制。 | | `PORT` | `3232` | API 服务器与 UI 的 HTTP 监听端口。 | | `DATA_DIR` | `/data` | 存储 SQLite 数据库与 IPFS 节点配置的路径。 | ## 📄 许可证 基于 **ISC License** 分发。可供个人和商业免费使用。
标签:DApp, Docker, EVTX分析, IPFS, MITM代理, 分布式存储, 去中心化, 后端服务, 安全防御评估, 文件托管, 脚本检测, 请求拦截