A secure command-line interface for interacting with the Nostr network. Features encrypted key storage, profile management, and multi-relay support. Made for shenanigans,not for serious critical use
- Secure encrypted storage of private keys
- Post messages to multiple relays
- View and edit profile information
- List recent posts
- Configurable relay list
- Automatic hashtag detection
- Cross-platform support (Windows, macOS, Linux)
- Go 1.19 or later
- Git
-
Clone the repository:
git clone https://github.com/oth-body/hoot.git cd hoot
-
Install dependencies:
go mod download
-
Build the binary:
go build -o hoot
-
(Optional) Move the binary to your PATH:
# Linux/macOS sudo mv hoot /usr/local/bin/ # Windows # Move hoot.exe to a directory in your PATH
Create a relays.txt
file in:
- Your config directory:
- Linux:
~/.config/nostr-cli/
- macOS:
~/Library/Application Support/nostr-cli/
- Windows:
%APPDATA%\nostr-cli\
- Linux:
Example relays.txt
:
wss://relay.damus.io
wss://relay.nostr.band
wss://nostr.wine
If no relays.txt
is found, default relays will be used.
hoot -s -k <your-private-key>
You'll be prompted to create an encryption password.
hoot
hoot -m "Hello Nostr! #introduction"
hoot -l
hoot -p
hoot -u '{"name":"Alice","about":"Nostr enthusiast"}'
hoot -r "wss://relay1.com,wss://relay2.com" -m "Hello from custom relays!"
- Private keys are encrypted using XSalsa20 and Poly1305
- Key derivation uses Scrypt
- Keys are stored in your system's config directory with appropriate permissions