An open-source reimplementation of the defined.net management protocol
Go to file
core 1d627aee7f
fix check.yml and void.yml
2023-06-27 09:04:27 -04:00
.builds fix check.yml and void.yml 2023-06-27 09:04:27 -04:00
.idea tfclient 0.2, nebula-ffi 0.1 2023-06-25 22:00:36 -04:00
api tfclient enrollment successful 2023-03-28 12:16:00 -04:00
dnapi-rs code cleanup 2023-05-15 14:51:27 -04:00
docs fix interlink 2023-06-23 21:04:58 -04:00
nebula-ffi fix cross compilation with cross 2023-06-26 23:17:49 -04:00
packages update package build system 2023-06-26 12:38:19 -04:00
tfcli update package build system 2023-06-26 12:38:19 -04:00
tfclient tfclient 0.2.1 2023-06-27 08:39:12 -04:00
tfweb work 2023-06-15 15:53:56 -04:00
trifid-api static api signing keys per-host because dealing with them is turning out to be an absolute nightmare 2023-06-24 12:04:20 -04:00
trifid-pki code cleanup 2023-05-15 14:51:27 -04:00
.env buildfiles pt5 2023-02-07 14:00:57 -05:00
.gitignore update package build system 2023-06-26 12:38:19 -04:00
Cargo.lock wrong table name 2023-06-26 23:20:07 -04:00
Cargo.toml tfclient 0.2, nebula-ffi 0.1 2023-06-25 22:00:36 -04:00
Cross.toml wrong table name 2023-06-26 23:20:07 -04:00
Dockerfile docker 2023-06-23 19:13:16 -04:00
LICENSE.txt licensing 2023-02-27 20:50:31 -05:00
README.md update readme 2023-06-23 19:21:01 -04:00
index.md docs update 2023-06-23 21:01:13 -04:00

README.md

trifid

trifid is an open-souce reimplementation of the Defined Networking management protocol for Nebula networks.

It includes a reimplementation of the API Server, the Web UI, dnclient, nebula-cert and dnapi - all fully API-compatible with the original versions.

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.

Want to make your own Defined Networking client? Check out dnapi-rs! dnapi-rs is a Rust port of the official dnapi Go library, to allow for easy interactions with Defined Networking-compatible API servers. Find it in dnapi-rs/, or on crates.rs as dnapi-rs.

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 Yes Yes
Group-based firewalling Yes Yes
All config features Yes Not officially
SSO authentication Not yet Yes
Open-source server Yes No

tfclient feature table:

Feature tfclient dnclient
Enroll in trifid-api/api.defined.net sites Yes Yes
Automatic VPN profile setup Yes Yes
Poll the API server for config updates Yes Yes
Secure Ed25519 signing for API communication Yes Yes

Documentation

Documentation work is underway. You can find a link to all documentation on the main project page here.