Initial commit: Project structure, Coordinator Server v1.0.0, and Documentation
This commit is contained in:
commit
0ead98d0c4
18 files changed
+2073
No files matched your search
@@ -0,0 +1,39 @@
|
||||
# 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
|
||||
Reference in new issue
Block a user