AkurAI Build
Menu

Public repository / 2f952519db76ba7dd8b099a09ebda909d137ea5e

AkurAI-VPN / README.md

Latest change 2f952519db76ba7dd8b099a09ebda909d137ea5e - feat: scaffold pure-Rust zero-dep AkurAI VPN workspace (v0.0.1) by Ólafur Búi Ólafsson

# AkurAI VPN

A secure, **one-touch mesh VPN** — a private encrypted overlay network with
internal mesh networking, explicit gateway modes, and a control plane at
`vpn.olibuijr.com`. Built pure-Rust with **zero runtime dependencies**, the same
principle as [AkurAI-Framework](https://github.com/olibuijr/AkurAI-Framework).
Not WireGuard-compatible by design — better tailored than a clone.

## The vision

```sh
curl -fsSL https://vpn.olibuijr.com/install.sh | sh
akurai-node up
```

Two commands and a device joins your private network: it gets a stable overlay
IP and an internal DNS name (`laptop.oli.akurai`) and can reach your other
devices, subject to access-control policy. Any device can optionally become a
**subnet gateway** (reach a LAN behind it), an **exit gateway** (full-tunnel),
or a **public ingress** (expose a service) — always with explicit admin approval.

## Overlay at a glance

| | |
|-|-|
| IPv4 | `100.88.0.0/16` |
| IPv6 | `fd88:akurai::/48` (mnemonic; real prefix `fd88::/48`) |
| MTU | `1280` |
| Interface | `akurai0` |

## Crates

| Crate | Binary | Role |
|-------|--------|------|
| `akurai-common` | _(lib)_ | Shared pure-std types: identities, overlay addressing, CIDR, policy, node descriptor. |
| `akurai-control` | `akurai-control` | Control plane (`vpn.olibuijr.com`): enrollment, IP allocation, peer map, ACL, audit, heartbeat. |
| `akurai-node` | `akurai-node` | Node daemon: `akurai0` TUN, routes, peer-map watch, gateway modes. |
| `akurai-relay` | `akurai-relay` | Ciphertext-only packet relay fallback. |
| `akurai-admin` | `akurai-admin` | Admin CLI: pre-auth, routes, ingress, devices, ACL. |
| `akurai-dns` | `akurai-dns` | Internal MagicDNS (`*.oli.akurai` → overlay IP). |

See [`docs/architecture.md`](docs/architecture.md) for the full design, and the
rest of [`docs/`](docs/) for networking, gateway modes, the threat model, the
protocol, and deployment.

## Status — `0.0.1` scaffold

This is a **skeleton, not a working VPN**. Types, module layout, CLI surfaces,
and the documented decisions are in place; the data plane (TUN, transport,
routing) is a set of clearly-marked stubs that return explicit "not implemented
in 0.0.1" errors.

> ⚠️ **No cryptography is implemented, by design.** The transport/crypto choice
> is an **unresolved decision** — vetted crypto crates (the plan's guidance) vs.
> the zero-dependency principle — documented in
> [`docs/protocol.md`](docs/protocol.md) and left for Ólafur to decide. 0.0.1
> provides **no** security properties.

## Build

```sh
cargo build --workspace
cargo test  --workspace
cargo fmt --all -- --check
cargo clippy --all-targets -- -D warnings
```

## Deploy

`./deploy.sh [patch|minor|major]` gates (fmt + clippy + tests), bumps the
version, cuts the changelog, tags + pushes, then publishes the control plane to
EC2 via the `akurai-ec2` ops CLI. `./deploy.sh ec2` re-publishes without a
version bump. See [`docs/deployment-vpn.olibuijr.com.md`](docs/deployment-vpn.olibuijr.com.md).

## License

MIT © Ólafur Búi Ólafsson