API Reference
openme provides generated API documentation for every official library. Each reference is built automatically from source by the documentation workflow and published alongside this site.
Language References
| Library | Language | Reference |
|---|---|---|
| openme CLI & server | Go | pkg.go.dev → |
| OpenMeKit | Swift | DocC Reference → |
| OpenMeKit | Kotlin / Android | KDoc Reference → |
| OpenMeKit | C# / .NET | DocFX Reference → |
| openmelib | C99 | Doxygen Reference → |
Go
The Go packages are documented with godoc conventions and published at pkg.go.dev/github.com/merlos/openme/cli.
| Package | Description |
|---|---|
pkg/protocol |
Wire format constants, packet sizes, error types |
internal/crypto |
Key generation, ECDH, encryption, signing |
internal/config |
Config structs, YAML loading/saving, port mode logic |
internal/server |
UDP listener, packet verification, replay cache |
internal/client |
Packet builder, knock sender, health check |
internal/firewall |
iptables and nftables backends, rule expiry manager |
internal/qr |
QR code generation for client provisioning |
Swift
The Swift package uses DocC with triple-slash /// doc comments.
Kotlin / Android
The Android library uses Dokka with KDoc /** */ block comments.
C# / .NET
The .NET library uses DocFX with XML <summary> doc comments.
C (openmelib)
The C library uses Doxygen /** */ block comments on all public symbols in include/openmelib.h.
Documentation Standards
All exported symbols in every library follow the documentation conventions defined in the copilot instructions — intent, parameters, return values, example, and a link to the relevant protocol specification page.