# firecloud-cli
Command-line interface for FireCloud P2P messaging and file sharing.
## Overview
The `firecloud` binary provides a complete CLI for:
- **P2P messaging**: Private, metadata-hiding chat
- **Friend management**: Add, accept, and manage friends
- **File sharing**: Upload and download files across the P2P network
- **Background daemon**: Run node in the background
## Installation
```bash
cargo install firecloud-cli
```
## Quick Start
```bash
# Initialize identity
firecloud init
# Start node in background
firecloud node --daemon
# Add a friend
firecloud friend add <peer-id> --name "Alice"
# Send a message
firecloud msg send Alice "Hello!"
# View inbox
firecloud msg inbox
```
## Commands
### Node Management
- `firecloud node` - Start P2P node (use `--daemon` for background)
- `firecloud init` - Generate identity keypair
### Friend Management
- `firecloud friend add <peer-id>` - Add a friend
- `firecloud friend accept <peer-id>` - Accept friend request
- `firecloud friend list` - List all friends
- `firecloud friend pending` - Show pending requests
### Messaging
- `firecloud msg send <friend> <text>` - Send message (1KB padded)
- `firecloud msg inbox` - View received messages
- `firecloud msg chat <friend>` - View conversation
### File Sharing
- `firecloud upload <file>` - Upload and share a file
- `firecloud download <hash>` - Download a file
- `firecloud list` - List uploaded files
## Privacy Features
- **Metadata hiding**: All messages padded to 1024 bytes
- **Timing obfuscation**: Random delays (100-500ms)
- **Friend verification**: Only friends can message you
- **End-to-end encryption**: Coming soon
## Daemon Mode
Run the node in the background:
```bash
# Start daemon
firecloud node --daemon
# View logs
tail -f ~/.local/share/firecloud/node.log
# Stop daemon
kill $(cat ~/.local/share/firecloud/node.pid)
```
## License
Licensed under either of:
- Apache License, Version 2.0 ([LICENSE-APACHE](../../LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license ([LICENSE-MIT](../../LICENSE-MIT) or http://opensource.org/licenses/MIT)
at your option.