diff --git a/index.md b/index.md index 9c4f86e..4e6040c 100644 --- a/index.md +++ b/index.md @@ -1,10 +1,15 @@ -## What is it? +# Introduction -This is a toy implementation of an encrypted IPv6 network, with many good ideas stolen from [cjdns](https://github.com/cjdelisle/cjdns), which was written to test a particular routing scheme that was cobbled together one random afternoon. -It's notably not a shortest path routing scheme, with the goal of scalable name-independent routing on dynamic networks with an internet-like topology. -It's named Yggdrasil after the world tree from Norse mythology, because that seemed like the obvious name given how it works. -For a longer, rambling version of this readme with more information, see: [doc](doc/README.md). -A very early incomplete draft of a [whitepaper](doc/Whitepaper.md) describing the protocol is also available. +Yggdrasil is an early-stage implementation of a fully encrypted IPv6 network. Although Yggdrasil shares many similarities with [cjdns](https://github.com/cjdelisle/cjdns), it also employs a different routing algorithm based on a globally-agreed spanning tree. In theory, an Yggdrasil network should scale well even up to internet-like topologies. -This is a toy / proof-of-principle, so it's not even alpha quality software--any nontrivial update is likely to break backwards compatibility with no possibility for a clean upgrade path. -You're encouraged to play with it, but it is strongly advised not to use it for anything mission critical. +## Project Status + +The project is currently in very early stages but it is being actively developed. Yggdrasil is considered to be pre-alpha at this point. It is entirely possible that breaking changes may still happen but generally it works well and has proven to be reasonably stable so far. + +Currently we don't have any specific releases, but binaries are automatically built each time that we commit to the Git repository for a number of platforms. + +Feel free to play with them, stress-test them or even use them in your own environments. However, be prepared to upgrade frequently, and don't run anything mission-critical over it! + +## Implementation + +Yggdrasil is written in Go. The codebase is fairly small and easy to navigate. It has been tested on a number of platforms (including Linux, Windows, macOS, NetBSD, FreeBSD, OpenBSD and Ubiquiti EdgeOS) although with various minor caveats. See the [Platforms](platforms.md) page for more information.