**Artemis** is a fork of [Sunshine](https://github.com/LizardByte/Sunshine) — the open-source GameStream host — with an embedded WireGuard client that automatically connects to a [DragonRelay](https://forge.wilddragon.net/zgaetano/dragonrelay) server.
This lets remote **[DragonMoonlight](https://forge.wilddragon.net/zgaetano/dragonmoonlight)** clients discover and stream from Artemis hosts over a private WireGuard network, without requiring port-forwarding, mDNS, or direct LAN access.
---
## Architecture
```
DragonMoonlight (client) Artemis (host)
WG tunnel: 10.99.0.2/24 WG tunnel: 10.99.0.3/24
│ │
└────────── 10.99.0.0/24 ──────────────┘
│
DragonRelay server
├── WireGuard server (wg0: 10.99.0.1)
├── REST API (JWT auth)
└── Host registry (5-min TTL)
Flow:
1. Artemis boots → logs into DragonRelay → provisions WG peer
2. Artemis starts WireGuard tunnel → gets IP 10.99.0.3
3. Artemis registers: POST /api/host/register {wg_ip: "10.99.0.3", port: 47984}
4. Artemis heartbeats: PUT /api/host/heartbeat every 60 s
5. DragonMoonlight: GET /api/hosts sees 10.99.0.3 in the list
6. DragonMoonlight connects to 10.99.0.3:47984 over the shared WG tunnel
```
---
## New files (WireGuard integration layer)
| File | Purpose |
|------|---------|
| `src/wg/wgconfig.h/.cpp` | Parses standard wg-quick `.conf` files (C++17, no Qt) |