firecloud-cli 0.1.0

Command-line interface for FireCloud P2P messaging and file sharing
# 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.