indicaindependent/blueboxd

GitHub: indicaindependent/blueboxd

基于 AT Protocol 和 Cloudflare Workers 构建的公有领域经典电影流媒体与 Letterboxd 风格社交平台,观影数据归用户所有。

Stars: 0 | Forks: 0

# 📺 Blueboxd ### 免费的公有领域电影,附带存在于*你的* Bluesky 账户中的观影日记。 **经典电影的 Letterboxd 风格社交层 —— 基于 AT Protocol 构建。** 无需创建账户。无广告。无跟踪。我们不托管任何视频。 [**在线访问 → blueboxd.com**](https://blueboxd.com) · [镜像站点 → cineclub.osintnet.uk](https://cineclub.osintnet.uk) · [@blueboxd.bsky.social](https://bsky.app/profile/blueboxd.bsky.social)
## 这是什么? **Blueboxd** 直接从 [Internet Archive](https://archive.org) 流式传输精心挑选的公有领域电影 —— 包括黑色电影、经典恐怖片、黄金时代喜剧、科幻片等 —— 并配有一个**将数据写入你自己的 Bluesky repo 的 Letterboxd 风格社交层。** 你的观影日记、评分、评论和收藏并没有被锁定在我们的数据库中。它们通过 AT Protocol 作为记录存储在**你的** Personal Data Server (PDS) 中 —— 完全可移植,永远属于你,可被任何 atproto 应用读取。我们托管**零视频**:所有流媒体均直接来自 archive.org 的公有领域合集。 它作为单个 **Cloudflare Worker** 在边缘端运行。仅一个文件,无需构建步骤,无需框架。 ## 功能 - 🎞️ **精选公有领域目录** —— 6 个精心调教的频道(Film Noir、经典恐怖片、科幻片、黄金时代喜剧、嘉年华与马戏团、监狱区),数据实时来源于 Internet Archive - 🎭 **按主演和导演浏览** —— 为 40 多位经典时代人物(Bogart、Stanwyck、Lang、Wilder 等)提供来自 TMDB 的肖像轨道 - 📔 **便携式观影日记** —— 观影记录、评分和评论通过 AT Protocol 写入**你的** Bluesky PDS - 🍿 **俱乐部正在看** —— 一个展示成员们正在观看内容的实时社区 feed,基于公开的 atproto 记录构建 - 🔴 **观看派对发现** —— 呈现当前在 Bluesky 上热议的真实 #TCMParty / #FilmSky / #NoirAlley 话题(只读模式 —— 我们只展示热议,绝不发送垃圾信息) - 🦋 **Bluesky OAuth** —— 使用你已有的账户登录;无需设置新密码 - ⚖️ **法律优先** —— 点击即同意的许可机制、DMCA 下架流程、仅限公有领域的来源、播放健康状况的可观测性 - ⚡ **边缘原生** —— 单个 Cloudflare Worker,使用 D1 进行遥测,KV 用于缓存。冷启动仅需毫秒级。 ## 架构 ``` +-----------------------------+ Bluesky user --->| Cloudflare Worker (edge) | (OAuth login) | cineclub_bundled.js | | | | - SPA shell + client render| | - /api/home catalog rails| | - /api/detail stream lookup| | - /api/discovery party feed| | - OAuth + session handling | +------+--------------+-------+ | | +------------+ +-------------+ v v +--------------------+ +------------------------+ | Internet Archive | | Your Bluesky PDS | | (public-domain | | (diary / ratings / | | video streams) | | reviews -- you own) | +--------------------+ +------------------------+ | | v v +--------------------+ +------------------------+ | TMDB (portraits + | | D1 + KV (telemetry, | | poster metadata) | | caching, consent log)| +--------------------+ +------------------------+ ``` **无源服务器。我们的基础设施上无视频内容。你的社交图谱属于你。** ## 自托管 Blueboxd 是单个 Cloudflare Worker。要运行你自己的实例: ``` git clone https://github.com/indicaindependent/blueboxd.git cd blueboxd npm i -g wrangler cp wrangler.example.toml wrangler.toml # then fill in your IDs ``` **1. 创建绑定** (KV + D1): ``` wrangler kv namespace create CC_KV wrangler d1 create blueboxd-social ``` 将返回的 ID 粘贴到 `wrangler.toml` 中。 **2. 设置你的所有者身份** —— 编辑 `cineclub_bundled.js` 顶部附近的两个占位符: ``` var OWNER_DID = "did:plc:YOUR_OWNER_DID"; // your Bluesky host/owner account DID var HOST_PDS = "https://YOUR-PDS.host.bsky.network"; // your PDS endpoint ``` **3. 设置 secrets**(切勿提交这些内容): ``` wrangler secret put BLUEBOXD_APP_PASSWORD # host account app-password wrangler secret put SESSION_SECRET wrangler secret put CLIENT_PRIVATE_JWK # OAuth client key # 可选告警: wrangler secret put SCRAMBLEMEBOT_TOKEN wrangler secret put PETE_CHAT_ID ``` **4. 部署:** ``` wrangler deploy ``` 就这么简单 —— 无构建流水线,生产环境中无 node_modules。整个应用就是 `cineclub_bundled.js`。 ## 法律与道德 Blueboxd **仅流式传输**来自 Internet Archive 的**公有领域作品**。我们不托管视频,也不存储受版权保护的媒体。内置了 [DMCA 下架流程](https://blueboxd.com/dmca),并记录了首次访问的同意许可。如果你认为某些内容分类错误,请使用应用内的下架表单。 ## 许可证 [MIT](LICENSE) (c) Indica Independent / VPDLNY
**[Indica Independent](https://osintnet.uk)** 开放工具堆栈的一部分 —— 为被华尔街和大型科技公司忽视的人们打造的 OSINT 级软件。 [osintnet.uk](https://osintnet.uk) · [WarHeatMap](https://github.com/indicaindependent/warheatmap) · [Tuck](https://github.com/indicaindependent/tuck) · [Strait Tracker](https://github.com/indicaindependent/straittracker) *在边缘端构建。由你拥有。* 📺
标签:AT Protocol, Bluesky, 影视, 数据可视化, 流媒体, 社交媒体, 程序员工具, 自定义脚本