mirror of
https://github.com/cwinfo/yggdrasil-network.github.io.git
synced 2024-11-09 15:40:27 +00:00
Initial commit
This commit is contained in:
commit
3433c06c93
4
_config.yml
Normal file
4
_config.yml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
theme: jekyll-theme-minimal
|
||||||
|
name: Yggdrasil
|
||||||
|
title: Yggdrasil
|
||||||
|
description: Encrypted networking
|
64
_layouts/default.html
Normal file
64
_layouts/default.html
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="{{ site.lang | default: "en-US" }}">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="chrome=1">
|
||||||
|
|
||||||
|
{% seo %}
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="{{ '/assets/css/style.css?v=' | append: site.github.build_revision | relative_url }}">
|
||||||
|
<meta name="viewport" content="width=device-width">
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="wrapper">
|
||||||
|
<header>
|
||||||
|
<a href="{{ site.github.url }}"> <h1>{{ site.title | default: site.github.repository_name }}</h1> </a>
|
||||||
|
<p>{{ site.description | default: site.github.project_tagline }}</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
{% for page in site.pages %}
|
||||||
|
<a href="{{ page.url }}">{{ page.title }}</a><br />
|
||||||
|
{% endfor %}
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="{{ site.github.repository_url }}">GitHub</a><br />
|
||||||
|
<a href="https://circleci.com/gh/yggdrasil-network/yggdrasil-go">CircleCI</a><br />
|
||||||
|
<a href="https://circleci.com/api/v1.1/project/github/yggdrasil-network/yggdrasil-go/latest/artifacts">Latest Builds</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p><a href="https://circleci.com/gh/yggdrasil-network/yggdrasil-go"><img src="https://circleci.com/gh/yggdrasil-network/yggdrasil-go.svg?style=shield&circle-token=:circle-token" /></a></p>
|
||||||
|
|
||||||
|
{% if site.show_downloads %}
|
||||||
|
<ul>
|
||||||
|
<li><a href="{{ site.github.zip_url }}">Download <strong>ZIP File</strong></a></li>
|
||||||
|
<li><a href="{{ site.github.tar_url }}">Download <strong>TAR Ball</strong></a></li>
|
||||||
|
<li><a href="{{ site.github.repository_url }}">View On <strong>GitHub</strong></a></li>
|
||||||
|
</ul>
|
||||||
|
{% endif %}
|
||||||
|
</header>
|
||||||
|
<section>
|
||||||
|
|
||||||
|
{{ content }}
|
||||||
|
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
<script src="{{ '/assets/js/scale.fix.js' | relative_url }}"></script>
|
||||||
|
|
||||||
|
|
||||||
|
{% if site.google_analytics %}
|
||||||
|
<script>
|
||||||
|
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||||
|
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||||
|
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||||
|
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
||||||
|
|
||||||
|
ga('create', '{{ site.google_analytics }}', 'auto');
|
||||||
|
ga('send', 'pageview');
|
||||||
|
</script>
|
||||||
|
{% endif %}
|
||||||
|
</body>
|
||||||
|
</html>
|
21
assets/css/style.scss
Normal file
21
assets/css/style.scss
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
---
|
||||||
|
---
|
||||||
|
|
||||||
|
@import "jekyll-theme-minimal";
|
||||||
|
|
||||||
|
section {
|
||||||
|
display: table-cell;
|
||||||
|
width: 100%;
|
||||||
|
float: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
display: table-cell;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.wrapper {
|
||||||
|
margin-left: none;
|
||||||
|
margin-right: none;
|
||||||
|
width: 100%;
|
||||||
|
}
|
10
index.md
Normal file
10
index.md
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
## What is it?
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
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.
|
48
platforms.md
Normal file
48
platforms.md
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
### Platforms
|
||||||
|
|
||||||
|
#### Linux
|
||||||
|
|
||||||
|
- Should work out of the box on most Linux distributions with `iproute2` installed.
|
||||||
|
- systemd service scripts are included in the `contrib/systemd/` folder so that it runs automatically in the background (using `/etc/yggdrasil.conf` for configuration), copy the service files into `/etc/systemd/system`, copy `yggdrasil` into your `$PATH`, i.e. `/usr/bin`, and then enable the service:
|
||||||
|
```
|
||||||
|
systemctl enable yggdrasil
|
||||||
|
systemctl start yggdrasil
|
||||||
|
```
|
||||||
|
- Once installed as a systemd service, you can read the `yggdrasil` output:
|
||||||
|
```
|
||||||
|
systemctl status yggdrasil
|
||||||
|
journalctl -u yggdrasil
|
||||||
|
```
|
||||||
|
|
||||||
|
#### macOS
|
||||||
|
|
||||||
|
- Tested and working out of the box on macOS 10.13 High Sierra.
|
||||||
|
- May work in theory on any macOS version with `utun` support (which was added in macOS 10.7 Lion), although this is untested at present.
|
||||||
|
- TAP mode is not supported on macOS.
|
||||||
|
|
||||||
|
#### FreeBSD, OpenBSD, NetBSD
|
||||||
|
|
||||||
|
- Works in TAP mode, but currently doesn't work in TUN mode.
|
||||||
|
- You may need to create the TAP adapter first if it doesn't already exist, i.e. `ifconfig tap0 create`.
|
||||||
|
|
||||||
|
#### Windows
|
||||||
|
|
||||||
|
- Tested and working on Windows 7 and Windows 10, and should work on any recent versions of Windows, but it depends on the [OpenVPN TAP driver](https://openvpn.net/index.php/open-source/downloads.html) being installed first.
|
||||||
|
- Has been proven to work with both the [NDIS 5](https://swupdate.openvpn.org/community/releases/tap-windows-9.9.2_3.exe) (`tap-windows-9.9.2_3`) driver and the [NDIS 6](https://swupdate.openvpn.org/community/releases/tap-windows-9.21.2.exe) (`tap-windows-9.21.2`) driver, however there are substantial performance issues with the NDIS 6 driver therefore it is recommended to use the NDIS 5 driver instead.
|
||||||
|
- Be aware that connectivity issues can occur on Windows if multiple IPv6 addresses from the `fd00::/8` prefix are assigned to the TAP interface. If this happens, then you may need to manually remove the old/unused addresses from the interface (though the code has a workaround in place to do this automatically in some cases).
|
||||||
|
- TUN mode is not supported on Windows.
|
||||||
|
- Yggdrasil can be installed as a Windows service so that it runs automatically in the background. From an Administrator Command Prompt:
|
||||||
|
```
|
||||||
|
sc create yggdrasil binpath= "\"C:\path\to\yggdrasil.exe\" -useconffile \"C:\path\to\yggdrasil.conf\""
|
||||||
|
sc config yggdrasil displayname= "Yggdrasil Service"
|
||||||
|
sc config yggdrasil start= "auto"
|
||||||
|
sc start yggdrasil
|
||||||
|
```
|
||||||
|
- Alternatively, if you want the service to autoconfigure instead of using an `yggdrasil.conf`, replace the `sc create` line from above with:
|
||||||
|
```
|
||||||
|
sc create yggdrasil binpath= "\"C:\path\to\yggdrasil.exe\" -autoconf"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### EdgeRouter
|
||||||
|
|
||||||
|
- Tested and working on the EdgeRouter X, using the [vyatta-yggdrasil](https://github.com/neilalexander/vyatta-yggdrasil) wrapper package.
|
Loading…
Reference in New Issue
Block a user