Babel-USB:包含所有文件的 USB 驱动器
Babel-USB: USB drive with every file

原始链接: https://github.com/p2r3/babel-usb

该项目将 ESP32-S3 开发板转换为受“巴别图书馆”启发的无限文件系统,可通过 USB 访问。 **设置:** 1. 使用 ESP32-S3 开发板(建议使用 USB 闪存盘形状的规格)。 2. 在 VS Code 中使用 PlatformIO 插件克隆存储库及其子模块。 3. 按住“BOOT”按钮的同时将设备连接到电脑,以烧录固件。 **使用方法:** 烧录完成后,开发板将显示为 MTP 设备。若要查找特定文件,请使用提供的 `bun run file-to-path.js ` 命令生成路径字符串。导航至设备上的相应文件夹(以 `disk/` 为前缀),即可将文件复制到电脑。 *注意:大文件的生成需要较长时间。本项目基于 `esp32s3-tusb-mtp` 和 `espressif-tinyusb-component` 库构建。*

**Babel-USB** 是一个模拟 USB 驱动器的项目,其中包含了所有达到特定大小的文本文件。该系统并非从互联网获取文件,而是通过 FUSE 挂载,根据用户导航的特定文件夹路径按需生成文本文件。 为了管理海量数据并避免诸如路径长度和文件夹密度等文件系统限制,开发者实现了一种自定义的 70 字符编码方案。这种结构优化了目录深度和文件夹宽度(将每个文件夹中的对象限制为 5,000 个)。 虽然该项目是对信息存储的概念性探索,但 Hacker News 的用户指出,它在创建“无限”文件结构方面具有潜力;一些人建议,这可以作为一种巧妙的方法来干扰企业自动磁盘扫描器,将其困在理论上无止境的目录树中。
相关文章

原文

This project turns an ESP32-S3 development board into an infinite filesystem inspired by the digital Library of Babel.

  1. Buy an ESP32-S3 development board - ideally one shaped as a USB stick for maximum bewilderment. This is the one I got, though you don't necessarily need this exact variant. That said, make sure you're getting an ESP32-S3. That's the only one I've tested. Others may not have hardware USB support. S2 might work, but I make no promises.
  2. Get Visual Studio Code and set up PlatformIO. Refer to Google or YouTube if you don't know how.
  3. Clone this repository with submodules. Again, if you don't know what that means, look it up.
  4. Open the cloned folder in VScode, wait for it to set up the project.
  5. While holding the "BOOT" button, plug the microcontroller into your PC.
  6. Click the "→" icon in VScode to compile and flash the project. Once that's done, disconnect and reconnect the microcontroller.
  7. Explore! You might have to copy files off of the MTP share before reading them, as most programs don't support reading directly from MTP.
  1. Install Bun.
  2. Navigate to the cloned folder and use the command bun run file-to-path.js <path>, where <path> is a path to the file you wish to find. Note that files larger than a couple hundred bytes will take a very long time to generate.
  3. Copy the path it returns and paste it into your file browser after disk/.
  4. Find the file, copy it off of the drive, and verify that it is in fact the same file.

The hardware-facing bits of this project are loosely cobbled on top of RigoLigoRLC's work on esp32s3-tusb-mtp and their fork of espressif-tinyusb-component.

联系我们 contact @ memedata.com