35 lines
2.0 KiB
Markdown
35 lines
2.0 KiB
Markdown
# trifid
|
|
|
|
trifid is an open-souce reimplementation of the [Defined Networking](https://defined.net) management protocol for [Nebula](https://github.com/slackhq/nebula) networks.
|
|
|
|
It includes a reimplementation of the [API Server](https://api.defined.net), the [Web UI](https://admin.defined.net), and `dnclient` - all fully compatible with the original implementation.
|
|
|
|
We also include a Rust library for interacting with keys and certificates in the Nebula PKI. Find it in `trifid-pki/`, or on crates.rs as `trifid-pki`
|
|
|
|
The API implementation is tested with the official dnclient implementaiton, and the dnclient implementation is tested with the official API server, to ensure complete feature parity between the two.
|
|
|
|
The original Web UI does **not** work with trifid-api quite yet, as we haven't finished reverse engineering that API. Feature table below:
|
|
|
|
# Features
|
|
|
|
trifid-api feature table:
|
|
|
|
| Feature | trifid-api | api.defined.net |
|
|
|---------------------------------------------|--------------|-----------------|
|
|
| Enroll in sites with dnclient | Yes | Yes |
|
|
| Automatic config update polling by dnclient | Not yet | Yes |
|
|
| Group-based firewalling | Not yet | Yes |
|
|
| SSO authentication | Not yet | Yes |
|
|
| Extensive API documentation | In the works | No |
|
|
| Open-source server | Yes | No |
|
|
| All functionality avaliable via API | Yes | No |
|
|
|
|
tfclient feature table:
|
|
|
|
| Feature | tfclient | dnclient |
|
|
|--------------------------------------------|----------|----------|
|
|
| Enroll in trifid-api/api.defined.net sites | Not yet | Yes |
|
|
| Automatic VPN profile setup | Not yet | Yes |
|
|
| CLI for using the full API | Not yet | No |
|
|
|