# opencord
Ephemeral chat servers that shut themselves down. Spin one up, share the invite link, chat, and it disappears.
## Install
```
cargo install opencord
```
Or build from source:
```
git clone https://github.com/mcncl/opencord.git
cd opencord
cargo build --release
```
## Usage
### Start a server
```
cargo run --bin server -- --lifetime 2h
```
Output:
```
Listening on 127.0.0.1:8080 (lifetime: 120 minute(s))
Access code: XK7N4P
Invite link: ws://127.0.0.1:8080/?code=XK7N4P
```
### Connect
Share the invite link. Each person connects with:
```
cargo run --bin client -- <name> <invite_link>
```
```
cargo run --bin client -- Alice ws://127.0.0.1:8080/?code=XK7N4P
```
### Commands
| `/extend <duration>` | Extend server lifetime (host only). e.g. `/extend 30m`, `/extend 1h` |
| `/help` | Show available commands |
## How it works
- The first person to join is the **host**
- The server shuts down when: the lifetime expires, the host disconnects, or all clients leave
- Warnings are broadcast as the deadline approaches (10m, 5m, 1m, 30s)
- The host can extend the lifetime with `/extend`
- Access codes prevent uninvited connections
## License
[GPL-3.0](LICENSE)