diff options
-rw-r--r-- | config.toml | 99 | ||||
-rw-r--r-- | content/_index.md | 6 | ||||
-rw-r--r-- | content/about/about.md (renamed from content/about.md) | 4 | ||||
-rw-r--r-- | content/about/contribute.md | 80 | ||||
-rw-r--r-- | content/about/philosophy.md (renamed from content/philosophy.md) | 1 | ||||
-rw-r--r-- | content/contact/contribute.md (renamed from content/contribute.md) | 5 | ||||
-rw-r--r-- | content/docs/_index.md | 6 | ||||
-rw-r--r-- | content/docs/compopt.html (renamed from content/compopt.html) | 1 | ||||
-rw-r--r-- | content/docs/development/_index.md | 6 | ||||
-rw-r--r-- | content/docs/documentation.md (renamed from content/documentation.md) | 6 | ||||
-rw-r--r-- | content/docs/faq.md (renamed from content/faq.md) | 1 | ||||
-rw-r--r-- | content/docs/manuals.md (renamed from content/manuals.md) | 1 | ||||
-rw-r--r-- | content/docs/performance.md (renamed from content/performance.md) | 1 | ||||
-rw-r--r-- | content/docs/quickstart.md | 11 | ||||
-rw-r--r-- | content/docs/tutorials/_index.md | 5 | ||||
-rw-r--r-- | content/docs/tutorials/dev-tut-1.md (renamed from content/dev-tut-1.md) | 0 | ||||
-rw-r--r-- | content/docs/tutorials/tutorial-1.md (renamed from content/tutorial-1.md) | 0 | ||||
-rw-r--r-- | content/docs/tutorials/tutorial-2.md (renamed from content/tutorial-2.md) | 0 | ||||
-rw-r--r-- | content/docs/tutorials/tutorial-3.md (renamed from content/tutorial-3.md) | 0 | ||||
-rw-r--r-- | content/docs/tutorials/tutorial-4.md (renamed from content/tutorial-4.md) | 0 | ||||
-rw-r--r-- | content/download/_index.md | 6 | ||||
-rw-r--r-- | content/download/download.md (renamed from content/download.md) | 1 | ||||
-rw-r--r-- | content/download/install.md (renamed from content/install.md) | 0 | ||||
-rw-r--r-- | content/download/requirements.md (renamed from content/requirements.md) | 0 | ||||
-rw-r--r-- | content/extra/_index.md | 6 | ||||
-rw-r--r-- | content/extra/ioq3.md (renamed from content/extra.md) | 75 | ||||
-rw-r--r-- | content/extra/raptor.md | 59 | ||||
-rw-r--r-- | content/extra/rumba.md | 11 | ||||
-rw-r--r-- | layouts/partials/site-navigation.html | 72 | ||||
-rw-r--r-- | static/javascript/dropdown.js | 10 |
30 files changed, 378 insertions, 95 deletions
diff --git a/config.toml b/config.toml index afaa1d0..93f8126 100644 --- a/config.toml +++ b/config.toml @@ -4,18 +4,103 @@ title = "Ouroboros" theme = "ananke" enableRobotsTXT = true DefaultContentLanguage = "en" +#MetaDataFormat = "yaml" [params] description = "Ouroboros is a decentralized packet network" favicon = "/images/ouroboros_icon.png" logo = "/images/ouroboros_compact_64px.png" featured_image = "/images/ouroboros_bg3.jpg" - -[params.copy] -copy = "" +twitter = "https://twitter.com/ODecentralize" +date_format = "January 2, 2006" +copyright = "CC BY-SA" +author = "Dimitri Staessens" +defaultDestcription = "Ouroboros" [menu] -[[menu.main]] -name = "Repository" -weight = 40 -url = "/cgit" + + [[menu.main]] + name = "Download" + weight = 1 + url = "/download/" + # [[menu.main]] + # name = "Get Ouroboros" + # parent = "Download" + # weight = 1 + # url = "/download/get/" + # [[menu.main]] + # name = "Install" + # parent = "Download" + # weight = 2 + # url = "/download/install/" + # [[menu.main]] + # name = "Requirements" + # parent = "Download" + # weight = 3 + # url = "/download/requirements/" + + [[menu.main]] + name = "Documentation" + weight = 2 + identifier = "id_docs" + url = "/docs/" + [[menu.main]] + name = "Getting started" + parent = "id_docs" + weight = 1 + identifier = "id_docs_qs" + url = "/docs/quickstart/" + [[menu.main]] + name = "Tutorials" + parent = "id_docs" + weight = 2 + identifier = "id_tut" + url = "/docs/tutorials/" + [[menu.main]] + name = "Development" + parent = "id_docs" + weight = 3 + identifier = "id_devt" + url = "/docs/development/" + [[menu.main]] + name = "Manual" + parent = "id_docs" + weight = 4 + identifier = "id_man" + url = "/man/" + + [[menu.main]] + name = "Extra" + weight = 3 + identifier = "id_extra" + url = "/extra/" + # [[menu.main]] + # name = "Rumba" + # parent = "id_extra" + # weight = 1 + # identifier = "id_extra" + # url = "/extra/rumba/" + # [[menu.main]] + # name = "IoQuake3" + # parent = "id_extra" + # weight = 2 + # identifier = "id_extra" + # url = "/extra/ioq3/" + # [[menu.main]] + # name = "Raptor" + # parent = "id_extra" + # weight = 3 + # identifier = "id_extra_raptor" + # url = "/extra/raptor/" + + [[menu.main]] + name = "About" + weight = 4 + identifier = "id_about" + url = "/about/" + + [[menu.main]] + name = "Repository" + weight = 100 + identifier = "id_repo" + url = "/cgit/" diff --git a/content/_index.md b/content/_index.md index 6a79621..5ac1f6a 100644 --- a/content/_index.md +++ b/content/_index.md @@ -1,5 +1,7 @@ --- -title: "The first completely decentralized packet network" +title: "A completely decentralized packet network" +date: 2019-06-22 +draft: false --- Ouroboros is a __peer-to-peer transport network__ built on a new @@ -9,6 +11,7 @@ networking experience and __simplify writing distributed software__ and networking libraries. It provides a __very simple API__, enabling __unicast__ and __multicast__ services. +<!--- Ouroboros can be __overlayed over UDP and Ethernet__. IP applications can be tunneled over Ouroboros. Ouroboros provides its own name resolution, reliability mechanisms, routing algorithms, and congestion @@ -23,6 +26,7 @@ presented at [FOSDEM 2018](https://www.fosdem.org/2018/schedule/event/ipc/), and the [PhD dissertation](https://biblio.ugent.be/publication/8615152) of Sander Vrijders, especially chapters 5-6. +---> This new website is currently under construction and undergoing frequent updates. The documentation is still sparse, please don't diff --git a/content/about.md b/content/about/about.md index 0ac9966..b518751 100644 --- a/content/about.md +++ b/content/about/about.md @@ -1,10 +1,6 @@ --- title: "About" -menu: "main" draft: false -menu: - main: - weight: 30 --- The Ouroboros project is a decentralized packet network implementation diff --git a/content/about/contribute.md b/content/about/contribute.md new file mode 100644 index 0000000..5dbe7ad --- /dev/null +++ b/content/about/contribute.md @@ -0,0 +1,80 @@ +--- +title: Contact +date: 2019-06-22 +draft: false +--- + +General discussion and support +------------------------------ + +For general discussion of Ouroboros, +[subscribe](https://www.freelists.org/list/ouroboros) to our mailing +list: [ouroboros@freelists.org](mailto:ouroboros@freelists.org). + +For day-to-day discussions, join our IRC chat: +[\#ouroboros](irc://irc.freenode.net/ouroboros). + +Contact us on twitter: @ODecentralize + +Contributing code +----------------- + +Contributions should be sent as patches to the mailing list, using your +real name and real e-mail address. + +The git repository contains three branches: + +- master: Contains the most stable version of Ouroboros. +- testing: Contains tested code but may still contain bugs. +- be: Contains untested but compiling code. + +New development is done against the 'be' branch of the git repository. +The testing and master branches take only bugfixes. + +Bug reporting +------------- + +Please report all bugs [here](/bugzilla). When reporting a bug, please +do the following: + +1. Provide a description of the bug. How did you get it and which + version of Ouroboros were you using? Which Operating System are you + on? +2. Provide as much technical information as possible (system logs, + debug traces, \...). +3. If possible, provide a minimal code example to reproduce the bug. +4. If you can provide a bugfix, provide it against the HEAD of the most + stable branch where the bug is present and send the patch to the + mailing list. + +Todo list +--------- + +We are currently looking for + +- Testing and bugfixing. +- Integration testing for the build system beyond the "make check" + unit tests. +- People that are interested in setting up some nodes to establish a + global testing layer. +- Non-blocking flow allocation: Allow specifying a {0, 0} timespec to + return immediately and use fevent() to know when the flow is ready + (or allocation failed). +- Asynchronous IPC over the UNIX sockets. For each command to the + IRMd, we create a UNIX socket, send the request and wait for the + response. This could be changed so that there is only a single UNIX + socket that is used for all messaging. This would simplify parallel + querying of the IPCPs and speed up flow allocation. The far-future + option is to ditch UNIX sockets and bootstrap Ouroboros local IPC + over itself. +- ECDH-AES encryption using libssl and/or libgcrypt. The goal is to + support both libraries so that we have a fallback should major bugs + be discovered in one of them. +- Customized packet serialization to remove the dependency on Google + Protocol Buffers. We like GPB, but it's not perfect. Importing + .proto files may give rise to multiple definitions and we found no + way to solve that. +- Caching for the DHT. +- Cross-compilation to OpenWRT (musl). +- Ported applications! If you want to add native Ouroboros support for + your applications, just let us know and we will help you out! diff --git a/content/philosophy.md b/content/about/philosophy.md index 9820c1f..556071f 100644 --- a/content/philosophy.md +++ b/content/about/philosophy.md @@ -1,6 +1,5 @@ --- title: "Philosophy" -description: "" date: 2019-02-28T09:52:26+01:00 publishDate: 2019-02-28T09:52:26+01:00 author: "Dimitri Staessens" diff --git a/content/contribute.md b/content/contact/contribute.md index 4f1c8cc..0c2a2e6 100644 --- a/content/contribute.md +++ b/content/contact/contribute.md @@ -1,10 +1,7 @@ --- title: "Contribute" -menu: "main" +date: 2019-06-22 draft: false -menu: - main: - weight: 20 --- General discussion and support diff --git a/content/docs/_index.md b/content/docs/_index.md new file mode 100644 index 0000000..f2a842a --- /dev/null +++ b/content/docs/_index.md @@ -0,0 +1,6 @@ +--- +title: Documentation +date: 2019-06-22 +type: page +draft: false +--- diff --git a/content/compopt.html b/content/docs/compopt.html index 93ad1c4..4c4459c 100644 --- a/content/compopt.html +++ b/content/docs/compopt.html @@ -1,5 +1,6 @@ --- title: "Compilation options" +date: 2019-06-22 draft: false --- diff --git a/content/docs/development/_index.md b/content/docs/development/_index.md new file mode 100644 index 0000000..0a5257f --- /dev/null +++ b/content/docs/development/_index.md @@ -0,0 +1,6 @@ +--- +title: Development +date: 2019-06-22 +#description: Ouroboros development blog +draft: false +--- diff --git a/content/documentation.md b/content/docs/documentation.md index ed1c3d3..f48e03c 100644 --- a/content/documentation.md +++ b/content/docs/documentation.md @@ -1,10 +1,8 @@ --- title: "Documentation" +date: 2019-06-22 +type: page draft: false -menu: "main" -menu: - main: - weight: 10 --- # Getting started diff --git a/content/faq.md b/content/docs/faq.md index 954e1a2..b3ac687 100644 --- a/content/faq.md +++ b/content/docs/faq.md @@ -1,5 +1,6 @@ --- title: "Frequently Asked Questions (FAQ)" +date: 2019-06-22 draft: false --- diff --git a/content/manuals.md b/content/docs/manuals.md index 46593a9..4ce3bce 100644 --- a/content/manuals.md +++ b/content/docs/manuals.md @@ -1,5 +1,6 @@ --- title: "Manuals" +date: 2019-06-22 draft: false --- diff --git a/content/performance.md b/content/docs/performance.md index c5b2cf3..5cd2dc0 100644 --- a/content/performance.md +++ b/content/docs/performance.md @@ -1,5 +1,6 @@ --- title: "Performance tests" +date: 2019-06-22 draft: false --- diff --git a/content/docs/quickstart.md b/content/docs/quickstart.md new file mode 100644 index 0000000..a1bb44b --- /dev/null +++ b/content/docs/quickstart.md @@ -0,0 +1,11 @@ +--- +title: "Quick Start" +linktitle: "Quick Start" +date: 2019-06-22 +type: page +draft: false +description: "Quick Start Guide" +--- + + +This quickstart guide is under construction.
\ No newline at end of file diff --git a/content/docs/tutorials/_index.md b/content/docs/tutorials/_index.md new file mode 100644 index 0000000..b35d0b8 --- /dev/null +++ b/content/docs/tutorials/_index.md @@ -0,0 +1,5 @@ +--- +title: "Ouroboros Tutorials" +date: 2019-06-22 +draft: false +---
\ No newline at end of file diff --git a/content/dev-tut-1.md b/content/docs/tutorials/dev-tut-1.md index ceac8b6..ceac8b6 100644 --- a/content/dev-tut-1.md +++ b/content/docs/tutorials/dev-tut-1.md diff --git a/content/tutorial-1.md b/content/docs/tutorials/tutorial-1.md index d1ac3c6..d1ac3c6 100644 --- a/content/tutorial-1.md +++ b/content/docs/tutorials/tutorial-1.md diff --git a/content/tutorial-2.md b/content/docs/tutorials/tutorial-2.md index 392a659..392a659 100644 --- a/content/tutorial-2.md +++ b/content/docs/tutorials/tutorial-2.md diff --git a/content/tutorial-3.md b/content/docs/tutorials/tutorial-3.md index 2dd0645..2dd0645 100644 --- a/content/tutorial-3.md +++ b/content/docs/tutorials/tutorial-3.md diff --git a/content/tutorial-4.md b/content/docs/tutorials/tutorial-4.md index fd7db3a..fd7db3a 100644 --- a/content/tutorial-4.md +++ b/content/docs/tutorials/tutorial-4.md diff --git a/content/download/_index.md b/content/download/_index.md new file mode 100644 index 0000000..f7cd806 --- /dev/null +++ b/content/download/_index.md @@ -0,0 +1,6 @@ +--- +title: Download Ouroboros +date: 2019-06-22 +type: page +draft: false +--- diff --git a/content/download.md b/content/download/download.md index 348e7d4..226a921 100644 --- a/content/download.md +++ b/content/download/download.md @@ -1,5 +1,6 @@ --- title: "Download Ouroboros" +date: 2019-06-22 draft: false --- diff --git a/content/install.md b/content/download/install.md index ef8220c..ef8220c 100644 --- a/content/install.md +++ b/content/download/install.md diff --git a/content/requirements.md b/content/download/requirements.md index a8444d7..a8444d7 100644 --- a/content/requirements.md +++ b/content/download/requirements.md diff --git a/content/extra/_index.md b/content/extra/_index.md new file mode 100644 index 0000000..c1baddf --- /dev/null +++ b/content/extra/_index.md @@ -0,0 +1,6 @@ +--- +title: "Additional software" +date: 2019-06-22 +type: page +draft: false +--- diff --git a/content/extra.md b/content/extra/ioq3.md index 4cdddab..718acaf 100644 --- a/content/extra.md +++ b/content/extra/ioq3.md @@ -1,73 +1,8 @@ --- -title: "Extra" +title: "ioq3" draft: false -menu: "main" -menu: - main: - weight: 40 --- -Raptor ------- - -Raptor is a proof-of-concept FPGA demonstrator for running Ouroboros -directly over Ethernet PHY (OSI L1). For this, it uses the [NetFPGA -10G](http://netfpga.org/site/#/systems/3netfpga-10g/details/) platform, -which has Broadcom AEL2005 PHY 10G Ethernet devices. Raptor is -point-to-point and does not use addresses. It is available for Linux -only and support is minimal. If you are interested in trying it out, -please contact us via the ouroboros mailing list or the IRC channel. - -You can clone the [raptor repository](/cgit/raptor/): - -``` -$ git clone http://ouroboros.rocks/git/raptor -$ git clone https://ouroboros.rocks/git/raptor -$ git clone git://ouroboros.rocks/raptor -``` - -There are two directories. The *linux* directory contains the kernel -module, the *netfpga10g* directory contains the files necessary to build -the FPGA design. - -To build and install the kernel module: - -``` -$ make -$ sudo make install -``` - -You can now load/unload the raptor kernel module: - -``` -$ sudo modprobe raptor -$ sudo rmmod raptor -``` - -To uninstall the module: - -``` -$ sudo make uninstall -``` - -You will need to get some cores (such as PCIe and XAUI) from Xilinx in -order to build this project using the provided tcl script. Detailed -instructions on how to build the NetFPGA project under construction. - -Raptor is integrated in Ouroboros and the raptor IPCP will be built if -the kernel module is installed in the default location. - -Raptor was developed as part of the master thesis (in Dutch) -"Implementatie van de Recursive Internet Architecture op een FPGA -platform" by Alexander D'hoore. The kernel module is licensed under -the [GNU Public License (GPL) version -2](https://www.gnu.org/licenses/old-licenses/gpl-2.0.html). The NetFPGA -design is available under the [GNU Lesser Public License (LGPL) version -2.1](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html). - -ioq3 ----- - As a demo, we have added Ouroboros support to the [ioq3](https://github.com/ioquake/ioq3) game engine. ioq3 is a fork of ID software's [Quake III Arena GPL Source @@ -159,11 +94,3 @@ connect -O my.ioq3.server The client should now connect to the ioq3 dedicated server over Ouroboros. Register the name in non-local layers to connect from other machines. Happy Fragging! - -Rumba ------ - -Rumba is an experimentation framework for deploying recursive network -experiments in various network testbeds. It is developed as part of the -[ARCFIRE](http://ict-arcfire.eu) project, and available on -[gitlab](https://gitlab.com/arcfire/rumba) . diff --git a/content/extra/raptor.md b/content/extra/raptor.md new file mode 100644 index 0000000..122a570 --- /dev/null +++ b/content/extra/raptor.md @@ -0,0 +1,59 @@ +--- +title: "Raptor" +draft: false +--- + +Raptor is a proof-of-concept FPGA demonstrator for running Ouroboros +directly over Ethernet PHY (OSI L1). For this, it uses the [NetFPGA +10G](http://netfpga.org/site/#/systems/3netfpga-10g/details/) platform, +which has Broadcom AEL2005 PHY 10G Ethernet devices. Raptor is +point-to-point and does not use addresses. It is available for Linux +only and support is minimal. If you are interested in trying it out, +please contact us via the ouroboros mailing list or the IRC channel. + +You can clone the [raptor repository](/cgit/raptor/): + +``` +$ git clone http://ouroboros.rocks/git/raptor +$ git clone https://ouroboros.rocks/git/raptor +$ git clone git://ouroboros.rocks/raptor +``` + +There are two directories. The *linux* directory contains the kernel +module, the *netfpga10g* directory contains the files necessary to build +the FPGA design. + +To build and install the kernel module: + +``` +$ make +$ sudo make install +``` + +You can now load/unload the raptor kernel module: + +``` +$ sudo modprobe raptor +$ sudo rmmod raptor +``` + +To uninstall the module: + +``` +$ sudo make uninstall +``` + +You will need to get some cores (such as PCIe and XAUI) from Xilinx in +order to build this project using the provided tcl script. Detailed +instructions on how to build the NetFPGA project under construction. + +Raptor is integrated in Ouroboros and the raptor IPCP will be built if +the kernel module is installed in the default location. + +Raptor was developed as part of the master thesis (in Dutch) +"Implementatie van de Recursive Internet Architecture op een FPGA +platform" by Alexander D'hoore. The kernel module is licensed under +the [GNU Public License (GPL) version +2](https://www.gnu.org/licenses/old-licenses/gpl-2.0.html). The NetFPGA +design is available under the [GNU Lesser Public License (LGPL) version +2.1](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html). diff --git a/content/extra/rumba.md b/content/extra/rumba.md new file mode 100644 index 0000000..8502f9b --- /dev/null +++ b/content/extra/rumba.md @@ -0,0 +1,11 @@ +--- +title: "Rumba" +date: 2019-06-22 +draft: false +type: page +--- + +Rumba is an __experimentation framework__ for deploying recursive +network experiments in various network testbeds. It is developed as +part of the [ARCFIRE](http://ict-arcfire.eu) project, and available on +[gitlab](https://gitlab.com/arcfire/rumba) . diff --git a/layouts/partials/site-navigation.html b/layouts/partials/site-navigation.html new file mode 100644 index 0000000..ba94825 --- /dev/null +++ b/layouts/partials/site-navigation.html @@ -0,0 +1,72 @@ +<nav class="pv3 ph3 ph4-ns" role="navigation"> + <div class="flex-l justify-between items-center center"> + <a href="{{ .Site.BaseURL }}" class="f3 fw2 hover-white no-underline white-90 dib"> + {{ .Site.Title }} + </a> + <div class="flex-l items-center"> + + {{ $currentPage := . }} + <!-- start .main-menu --> + <ul class="pl0 mr3"> + {{ range .Site.Menus.main }} + {{ if .HasChildren }} + <li class="list f5 f4-ns fw4 dib pr3 {{ if $currentPage.HasMenuCurrent "main" . }}active{{ end }}"> + <a class="hover-white no-underline white-90" href="{{ .URL }}" title="{{ .Name }} page"> + {{ .Pre }} + <span>{{ .Name }}</span> + </a> + <span id="about_chevron" class="fa fa-chevron-down"></span> + <ul class="sub-menu dn pa0 w-33 center mt0"> + {{ range .Children }} + <li class="db {{ if $currentPage.IsMenuCurrent "main" . }}active{{ end }}"> + <a href="{{ .URL }}">{{ .Name }}</a> + </li> + {{ end }} + </ul> + </li> + {{ else }} + <li class="list f5 f4-ns fw4 dib pr3"> + <a class="hover-white no-underline white-90" href="{{ .URL }}" title="{{ .Name }} page"> + {{ .Name }} + </a> + </li> + + {{ end }} + {{ end }} + </ul><!-- end /.main-menu --> + + {{ partial "social-follow.html" . }} + </div> + </div> +</nav> +<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> +<script type="text/javascript" src="/javascript/dropdown.js"></script> +<style type="text/css"> + span.fa { + color: #FFF; + } + @media (max-width: 991px) { + ul.sub-menu { + display: block; + } + } + @media (min-width: 992px) { + ul.sub-menu:not(.dn){ + position: absolute; + top: auto; + width: 100%; + max-width: 320px; + background: rgba(0,0,0,0.333); + } + } + ul.sub-menu li a { + color: #FFF; + display: block; + text-decoration: none; + padding: 8px; + } + ul.sub-menu li a:hover, + ul.sub-menu li a:focus { + background: rgba(0,0,0,0.7); + } +</style> diff --git a/static/javascript/dropdown.js b/static/javascript/dropdown.js new file mode 100644 index 0000000..c1b317a --- /dev/null +++ b/static/javascript/dropdown.js @@ -0,0 +1,10 @@ +var span = document.querySelector('span#about_chevron'); +var menu = document.querySelector('ul.sub-menu'); + span.addEventListener('click', function (event) { + if (menu.classList.contains('dn')) { + menu.classList.remove('dn'); + } else { + menu.classList.add('dn'); + } + } +); |