CLI to seed and mirror a Hyperdrive or Localdrive. Useful for sharing files between machines.
npm i -g drives
drives [flags] [command]
Commands:
touch Create a writable Hyperdrive
mirror <src> <dst> Mirror a drive into another drive
seed [key] Seed a hyperdrive so others can download it
Use drives --help for more information, drives mirror --help, etc.
By default, it tries to use ~/.drives.
Set --storage [path] to use a different location.
drives touch
# New drive: <z32 key>Source and destination can be a folder path or a drive key.
drives mirror <src> <dst>Options:
--livefor real-time mirroring--version [v]to use a specific version--storage [path]to specify storage location
Ignore rules:
- Mirror always ignores
.DS_Storefiles. - If the source drive root contains a
.drivesignorefile, its patterns are applied during mirror. - Pattern matching uses
picomatch, so behavior is not 100% compatible with.gitignore. .drivesignoreis loaded once when mirroring starts. For--live, restart the mirror process after changing ignore rules.
It is recommended to set either the --live or the --version flag (either download changes as they come in, or download a specific version).
drives seed [my-drive-key]Seed a hyperdrive so others can download it.
Peer 1 wants to share a local folder with peer 2.
Peer 2 wants to continuously pull in changes.
Create a new Hyperdrive
drives touch
Output: New drive: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Copy a local folder into the new Hyperdrive
drives mirror /my/local/dir/ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Make the Hyperdrive available to other peers
drives seed aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Download the hyperdrive to a local directory, and continuously pull in changes.
Warning: if the target folder already exists, its files will be deleted.
drives mirror --live aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa /my/downloads/copy-of-local-dir