Files

40 lines
1.1 KiB
Markdown

# MeshVPN Coordinator Server
The Coordinator Server is the central brain of the MeshVPN network. It handles node registration, peer signaling, and provides STUN services for NAT traversal.
## Features
- **Integrated STUN Server**: Helps clients discover their public endpoints.
- **Node Coordination**: Manages public keys and virtual IP assignments.
- **Signaling**: Facilitates UDP hole punching between peers.
- **Web Dashboard**: (Coming soon) Visualization of the mesh network.
## Installation
### Prerequisites
- [Go](https://go.dev/dl/) (1.21+)
- [Redis](https://redis.io/download) (For real-time node state)
- [PostgreSQL](https://www.postgresql.org/download/) (For identity and ACLs)
### Setup
1. **Clone the repository**
2. **Install dependencies**:
```bash
go mod tidy
```
3. **Configure Environment**:
Create a `.env` file with:
```env
REDIS_ADDR=localhost:6379
POSTGRES_URL=postgres://user:pass@localhost:5432/meshvpn
STUN_PORT=3478
COORD_PORT=50051
```
4. **Run the server**:
```bash
go run main.go
```
## API Endpoints
- **STUN**: UDP port 3478
- **gRPC Coordinator**: TCP port 50051