Babel-USB:包含所有文件的USB驱动器

Hacker News Top 工具

摘要

该项目将ESP32-S3开发板变成一个看似包含所有可能文件的USB驱动器,灵感来源于巴别图书馆。这是一个有趣的黑客项目,它基于路径名称通过MTP协议生成任意文件内容。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/06/12 02:53

p2r3/babel-usb

来源:https://github.com/p2r3/babel-usb

关于

本项目将一块 ESP32-S3 开发板改造成一个无限文件系统,灵感来源于数字巴别图书馆(https://libraryofbabel.info/)。

使用方法

  1. 购买一块 ESP32-S3 开发板——最好选择形似 U 盘的款式,以达到最大迷惑效果。这是我买的那款(https://a.aliexpress.com/_EvdHrrY),不过你未必需要完全相同的型号。但请注意,一定要确认是 ESP32-S3。 我只测试过这一款。其他型号可能不具备硬件 USB 支持。S2 或许能用,但我不做任何保证。
  2. 安装 Visual Studio Code 并配置 PlatformIO。如果不会操作,请参考 Google 或 YouTube。
  3. 带子模块克隆本仓库。同样地,如果不知道这是什么意思,请自行搜索。
  4. 在 VScode 中打开克隆的文件夹,等待项目初始化完成。
  5. 按住“BOOT”按钮的同时,将微控制器插入电脑。
  6. 点击 VScode 中的“→”图标,编译并烧录项目。完成后断开并重新连接微控制器。
  7. 开始探索!你可能需要先把文件从 MTP 共享中复制出来再读取,因为大多数程序不支持直接从 MTP 读取。

查找特定文件

  1. 安装 Bun(https://bun.sh/)。
  2. 进入克隆的文件夹,使用命令 bun run file-to-path.js <文件路径>,其中 <文件路径> 是你想查找的文件路径。注意:文件大小超过几百字节时,生成过程会非常耗时。
  3. 复制返回的路径,粘贴到文件浏览器中 disk/ 的后面。
  4. 找到 file,将其从驱动器中复制出来,并验证是否确实是同一个文件。

致谢

本项目中与硬件相关的部分,松散地构建在 RigoLigoRLC 的 esp32s3-tusb-mtp(https://github.com/RigoLigoRLC/esp32s3-tusb-mtp)及其对 espressif-tinyusb-component(https://github.com/RigoLigoRLC/espressif-tinyusb-component/tree/release/v0.18-with-mtp)分支的工作基础之上。

相似文章

探索构建微型FUSE文件系统

Hacker News Top

本文将引导你使用Rust构建一个名为magicfs的最小FUSE文件系统,该系统使用metadata.json和blob文件作为后端存储,演示了名称查找、inode稳定性和内核缓存等核心文件系统概念。

Muxcard:一款信用卡大小的DIY计算机

Hacker News Top

Muxcard是一款功能齐全的DIY计算机,大小如同信用卡,基于ESP32-C3、电子纸显示屏和NFC构建,潜在应用包括钱包、渗透测试、智能家居控制等。