hashtree-cli

Crates.iohashtree-cli
lib.rshashtree-cli
version0.2.3
created_at2025-12-17 17:26:05.341589+00
updated_at2026-01-19 13:23:17.355779+00
descriptionHashtree daemon and CLI - content-addressed storage with P2P sync
homepage
repositoryhttps://files.iris.to/#/npub1xndmdgymsf4a34rzr7346vp8qcptxf75pjqweh8naa8rklgxpfqqmfjtce/hashtree
max_upload_size
id1990790
size660,547
Martti Malmi (mmalmi)

documentation

README

hashtree-cli

Hashtree daemon and CLI - content-addressed storage with P2P sync.

Installation

# With P2P enabled (default)
cargo install hashtree-cli

# Minimal install without P2P/WebRTC (smaller binary)
cargo install hashtree-cli --no-default-features

Commands

# Add content
htree add myfile.txt                    # Add file (encrypted)
htree add mydir/ --public               # Add directory (unencrypted)
htree add myfile.txt --publish mydata   # Add and publish to Nostr

# Push to Blossom servers
htree push <hash>                       # Push to configured servers

# Get/cat content
htree get <hash>                        # Download to file
htree cat <hash>                        # Print to stdout

# Pins
htree pins                              # List pinned content
htree pin <hash>                        # Pin content
htree unpin <hash>                      # Unpin content

# Nostr identity
htree user                              # Show npub
htree publish mydata <hash>             # Publish hash to npub.../mydata
htree follow npub1...                   # Follow user
htree following                         # List followed users

# Daemon
htree start                             # Start P2P daemon
htree start --daemon                    # Start in background
htree start --daemon --log-file /var/log/hashtree.log
htree stop                              # Stop background daemon
htree status                            # Check daemon status

Configuration

Config file: ~/.hashtree/config.toml

[blossom]
read_servers = ["https://cdn.iris.to", "https://hashtree.iris.to"]
write_servers = ["https://hashtree.iris.to"]

[nostr]
relays = ["wss://relay.damus.io", "wss://nos.lol"]

Keys file: ~/.hashtree/keys

nsec1abc123... default
nsec1xyz789... work

Part of hashtree-rs.

Commit count: 0

cargo fmt