Borg/cmd
google-labs-jules[bot] 673dfde919 feat: Add FUSE mount command for browsing archives
This commit introduces a new 'borg mount' command that allows users to mount an archive as a read-only FUSE filesystem.

Key changes include:
- Added the 'hanwen/go-fuse/v2' library.
- Created new 'mount' and 'unmount' Cobra commands.
- Implemented a FUSE filesystem layer in a new 'pkg/fusefs' package.
- Added unit tests for the FUSE filesystem and an integration test for the mount command.

Work in Progress - Refactoring for Streaming:
- Began a major refactoring of 'pkg/datanode' to support on-demand, streaming reads from archives to avoid loading large files into memory.
- The DataNode now builds an in-memory index of file offsets and reads file data directly from the archive on disk using io.SectionReader.

Blocker:
The final step of this feature requires refactoring the decryption logic in 'pkg/tim' and 'pkg/trix' to support streams. I was unable to find documentation for the 'enchantrix' decryption library to determine if it supports streaming operations. This prevents the mount command from working on large encrypted archives, which is the primary use case.

Co-authored-by: Snider <631881+Snider@users.noreply.github.com>
2026-02-02 00:53:30 +00:00
..
dapp-fm feat: Add dapp.fm native desktop player (Wails) 2026-01-06 18:42:30 +00:00
dapp-fm-app feat: SMSG v2 binary format with zstd compression + RFC-001 spec 2026-01-10 19:57:33 +00:00
extract-demo feat: lazy loading profile page + v3 streaming polish 2026-01-12 17:48:32 +00:00
mkdemo fix: mobile scrolling + clean up mkdemo hardcoded values 2026-01-12 15:35:13 +00:00
mkdemo-abr feat: adaptive bitrate streaming (ABR) for HLS-style encrypted video 2026-01-13 15:40:15 +00:00
mkdemo-v3 feat: lazy loading profile page + v3 streaming polish 2026-01-12 17:48:32 +00:00
all.go feat: Add trix encryption and format 2025-11-14 13:47:27 +00:00
all_test.go feat: Add _Good, _Bad, and _Ugly tests 2025-11-14 10:36:35 +00:00
collect.go feat: Add _Good, _Bad, and _Ugly tests 2025-11-14 10:36:35 +00:00
collect_github.go feat: Improve test coverage and refactor for testability 2025-11-03 19:34:36 +00:00
collect_github_release_subcommand.go feat: Bug fixes and refactoring 2025-11-03 20:14:47 +00:00
collect_github_repo.go feat: Add ChaCha20-Poly1305 encryption and decryption for TIM files (.stim), enhance CLI for encryption format handling (stim), and include metadata inspection support 2025-12-26 01:25:03 +00:00
collect_github_repo_test.go feat: Add _Good, _Bad, and _Ugly tests 2025-11-14 10:36:35 +00:00
collect_github_repos.go feat: Improve test coverage and refactor for testability 2025-11-03 18:25:04 +00:00
collect_pwa.go feat: Add ChaCha20-Poly1305 encryption and decryption for TIM files (.stim), enhance CLI for encryption format handling (stim), and include metadata inspection support 2025-12-26 01:25:03 +00:00
collect_website.go feat: Add trix encryption and format 2025-11-14 13:47:27 +00:00
collect_website_test.go feat: Add _Good, _Bad, and _Ugly tests 2025-11-14 10:36:35 +00:00
compile.go feat: Add ChaCha20-Poly1305 encryption and decryption for TIM files (.stim), enhance CLI for encryption format handling (stim), and include metadata inspection support 2025-12-26 01:25:03 +00:00
compile_test.go feat: Add trix encryption and format 2025-11-14 13:47:27 +00:00
console.go feat: Add Borg Console and release workflow 2025-12-27 02:32:31 +00:00
decode.go feat: Add ChaCha20-Poly1305 encryption and decryption for TIM files (.stim), enhance CLI for encryption format handling (stim), and include metadata inspection support 2025-12-26 01:25:03 +00:00
decode_test.go feat: Add trix encryption and format 2025-11-14 13:47:27 +00:00
exec.go feat: Add compile and run commands for RUNC matrices 2025-11-13 19:16:12 +00:00
inspect.go feat: Add ChaCha20-Poly1305 encryption and decryption for TIM files (.stim), enhance CLI for encryption format handling (stim), and include metadata inspection support 2025-12-26 01:25:03 +00:00
mount.go feat: Add FUSE mount command for browsing archives 2026-02-02 00:53:30 +00:00
mount_test.go feat: Add FUSE mount command for browsing archives 2026-02-02 00:53:30 +00:00
root.go feat: Improve test coverage and refactor for testability 2025-11-03 18:25:04 +00:00
root_test.go feat: Add _Good, _Bad, and _Ugly tests 2025-11-14 10:36:35 +00:00
run.go feat: Add ChaCha20-Poly1305 encryption and decryption for TIM files (.stim), enhance CLI for encryption format handling (stim), and include metadata inspection support 2025-12-26 01:25:03 +00:00
run_test.go Improve test coverage for datanode and tim packages, and fix cmd tests 2025-11-23 18:58:32 +00:00
serve.go feat: Add _Good, _Bad, and _Ugly tests 2025-11-14 10:36:35 +00:00
unmount.go feat: Add FUSE mount command for browsing archives 2026-02-02 00:53:30 +00:00