BeHierarchic

command module
v0.0.0-...-5b07d03 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 23, 2026 License: MIT Imports: 48 Imported by: 0

README

BeHierarchic

BeHierarchic artwork in Apple Platinum style

The Retrocomputing Archivist's File Server

BeHierarchic exposes the inside of several Apple-adjacent archive types as a plain directory, like so:

Apple_Developer_Discs_1989-2009/
    1997/
        System Software/
            Dev.CD Nov 97 SSW.toast◆/
                Apple_HFS,TOAST 2.5 Partition◆/
                    Dev.CD Nov 97 SSW/
                        Utilities/
                            SimpleText

Get started

go install github.com/elliotnunn/BeHierarchic@latest
BeHierarchic :1997 ~/be-cache.db ~/mysoftwarecollection

On a Mac: ⌘K and connect to http://127.0.0.1:1997 On Windows: navigate Windows Explorer to http://127.0.0.1:1997

Supported compression/archive/image types include:

  • Zip
  • StuffIt
  • HFS (Apple's old old Mac filesystem)
  • tar
  • gzip/bzip2/xz
  • more to come!

Bugs

  • The first startup scan takes a long time, but the on-disk cache speeds up subsequent starts.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
apm
fskeleton
Package fskeleton attempts to factor out the common code needed to implement fs.FS.
Package fskeleton attempts to factor out the common code needed to implement fs.FS.
hfs
Implement fs.FS for Apple's very old Hierarchical File System (plain HFS from 1985, not to be confused with HFS+)
Implement fs.FS for Apple's very old Hierarchical File System (plain HFS from 1985, not to be confused with HFS+)
hqx
internpath
Package internpath provides facilities for canonicalizing ("interning") paths.
Package internpath provides facilities for canonicalizing ("interning") paths.
sit
spinner
Package spinner provides a cache for random-access reads to sequential-only files.
Package spinner provides a cache for random-access reads to sequential-only files.
tar
Package tar implements access to tar archives.
Package tar implements access to tar archives.
webdavfs
Package webdavfs provides a WebDAV server around a fs.FS.
Package webdavfs provides a WebDAV server around a fs.FS.
zip
Package zip is an alternative implementation suited to BeHierarchic - understands AppleDouble files: __MACOSX/**/._* - touches the headers as little as possible - exposes uncompressed files as io.ReaderAt - uses fskeleton to intern paths and save RAM
Package zip is an alternative implementation suited to BeHierarchic - understands AppleDouble files: __MACOSX/**/._* - touches the headers as little as possible - exposes uncompressed files as io.ReaderAt - uses fskeleton to intern paths and save RAM

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL