From 78116a91d7592c41051db94e20c6944a8a55790e Mon Sep 17 00:00:00 2001
From: Bob Mottram <bob@freedombone.net>
Date: Sat, 16 Jun 2018 13:52:03 +0100
Subject: [PATCH] Obtain source code via dat

---
 doc/EN/armbian.org         |  15 ++-
 doc/EN/boards.org          |  12 +--
 doc/EN/homeserver.org      |  10 ++
 doc/EN/index.org           |   2 +-
 website/EN/armbian.html    |  24 +++--
 website/EN/boards.html     | 190 +++++++++++--------------------------
 website/EN/homeserver.html |  16 +++-
 website/EN/images.txt      |  13 +++
 website/EN/index.html      |   4 +-
 9 files changed, 128 insertions(+), 158 deletions(-)
 create mode 100644 website/EN/images.txt

diff --git a/doc/EN/armbian.org b/doc/EN/armbian.org
index 680869450..c1ea5f5d5 100644
--- a/doc/EN/armbian.org
+++ b/doc/EN/armbian.org
@@ -9,11 +9,6 @@
 #+attr_html: :width 80% :height 10% :align center
 [[file:images/logo.png]]
 
-
-#+begin_export html
-<center><h1>Installing on Armbian</h1></center>
-#+end_export
-
 #+begin_quote
 "/we are the music makers, we are the dreamers of dreams. cyberpunks and pirates. chaotic spectres haunting cyberspace. engineers, artists, hackers./"
 #+end_quote
@@ -66,6 +61,16 @@ cd freedombone
 git checkout stretch
 #+end_src
 
+If you can't obtain a copy of the source code from *code.freedombone.net* (maybe the server is down) then you may still be able to obtain it with:
+
+#+begin_src bash
+dat clone dat://e9cbf606e55cdaa85199f4e6ec25ff7456775389979a668b3faf33e057493f8e/
+cd e9cbf606e55cdaa85199f4e6ec25ff7456775389979a668b3faf33e057493f8e
+tar -xzvf freedombone.tar.gz
+cd freedombone
+git checkout stretch
+#+end_src
+
 Install the Freedombone commands:
 
 #+begin_src bash
diff --git a/doc/EN/boards.org b/doc/EN/boards.org
index bd0ad6964..a147fb6df 100644
--- a/doc/EN/boards.org
+++ b/doc/EN/boards.org
@@ -13,16 +13,16 @@
 
 The following ARM boards are supported by the build system. If your board isn't listed here then you may still be able to install Freedombone using [[./armbian.html][Armbian]].
 
- - [[./downloads/v31/freedombone-beaglebone-armhf.img.xz][beaglebone]]
- - [[./downloads/v31/freedombone-cubieboard2-armhf.img.xz][cubieboard2]]
- - [[./downloads/v31/freedombone-cubietruck-armhf.img.xz][cubietruck]]
- - [[./downloads/v31/freedombone-pcduino3-armhf.img.xz][pcduino3]]
+ - beaglebone
+ - cubieboard2
+ - cubietruck
+ - pcduino3
  - a20-olinuxino-lime
  - a20-olinuxino-lime2
  - a20-olinuxino-micro
- - [[http://www.lemaker.org/product-bananapro-index.html][Lemaker Banana Pro]]
+ - Lemaker Banana Pro
 
-The latest image builds can be [[./downloads/current][found here]].
+The latest image builds are obtainable with [[https://datproject.org/][dat]] and can be [[./downloads/images.txt][found here]].
 
 #+BEGIN_EXPORT html
 <center>
diff --git a/doc/EN/homeserver.org b/doc/EN/homeserver.org
index e6bf354a4..0f567f89d 100644
--- a/doc/EN/homeserver.org
+++ b/doc/EN/homeserver.org
@@ -38,6 +38,16 @@ freedombone-image --setup parabola
 freedombone-image -t i386 --onion-addresses-only yes
 #+end_src
 
+If you can't obtain a copy of the source code from *code.freedombone.net* (maybe the server is down) then you may still be able to obtain it with:
+
+#+begin_src bash
+dat clone dat://e9cbf606e55cdaa85199f4e6ec25ff7456775389979a668b3faf33e057493f8e/
+cd e9cbf606e55cdaa85199f4e6ec25ff7456775389979a668b3faf33e057493f8e
+tar -xzvf freedombone.tar.gz
+cd freedombone
+git checkout stretch
+#+end_src
+
 Now prepare your local system to talk to the freedombone by running the following command. This will set up avahi and create ssh keys if necessary.
 
 #+begin_src bash
diff --git a/doc/EN/index.org b/doc/EN/index.org
index 2aeb6da0a..cfa9a67e2 100644
--- a/doc/EN/index.org
+++ b/doc/EN/index.org
@@ -10,7 +10,7 @@
 [[file:images/logo.png]]
 
 #+attr_html: :align center :border 0 :cellpadding 15%
-| [[./downloads/v31][Downloads]] | [[./apps.html][Apps]] | [[./faq.html][FAQ]]     | [[./devguide.html][Developers]] |
+| [[./downloads/images.txt][Downloads]] | [[./apps.html][Apps]] | [[./faq.html][FAQ]]     | [[./devguide.html][Developers]] |
 | [[./backups.html][Backups]]   | [[https://blog.freedombone.net/tag/freedombone][Blog]] | [[./support.html][Contact]] | [[./release31.html][Release]]    |
 
 So you want to run your own internet services? Email, chat, VoIP, web sites, file synchronisation, wikis, blogs, social networks, media hosting, backups, VPN. Freedombone is a home server system which enables you to self-host all of these things.
diff --git a/website/EN/armbian.html b/website/EN/armbian.html
index 7e1da7e47..e84a3a8c8 100644
--- a/website/EN/armbian.html
+++ b/website/EN/armbian.html
@@ -4,7 +4,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 <head>
 <title></title>
-<!-- 2018-06-04 Mon 18:30 -->
+<!-- 2018-06-16 Sat 13:50 -->
 <meta  http-equiv="Content-Type" content="text/html;charset=utf-8" />
 <meta  name="generator" content="Org-mode" />
 <meta  name="author" content="Bob Mottram" />
@@ -151,14 +151,6 @@ for the JavaScript code in this tag.
 </p>
 </div>
 
-
-<div class="export">
-<p>
-&lt;center&gt;&lt;h1&gt;Installing on Armbian&lt;/h1&gt;&lt;/center&gt;
-</p>
-
-</div>
-
 <blockquote>
 <p>
 "<i>we are the music makers, we are the dreamers of dreams. cyberpunks and pirates. chaotic spectres haunting cyberspace. engineers, artists, hackers.</i>"
@@ -248,6 +240,20 @@ git checkout stretch
 </pre>
 </div>
 
+<p>
+If you can't obtain a copy of the source code from <b>code.freedombone.net</b> (maybe the server is down) then you may still be able to obtain it with:
+</p>
+
+<div class="org-src-container">
+
+<pre class="src src-bash">dat clone dat://e9cbf606e55cdaa85199f4e6ec25ff7456775389979a668b3faf33e057493f8e/
+cd e9cbf606e55cdaa85199f4e6ec25ff7456775389979a668b3faf33e057493f8e
+tar -xzvf freedombone.tar.gz
+cd freedombone
+git checkout stretch
+</pre>
+</div>
+
 <p>
 Install the Freedombone commands:
 </p>
diff --git a/website/EN/boards.html b/website/EN/boards.html
index 5a6346147..24a855cdb 100644
--- a/website/EN/boards.html
+++ b/website/EN/boards.html
@@ -3,33 +3,26 @@
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 <head>
-<!-- 2018-05-17 Thu 18:48 -->
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
-<meta name="viewport" content="width=device-width, initial-scale=1" />
-<title>&lrm;</title>
-<meta name="generator" content="Org mode" />
-<meta name="author" content="Bob Mottram" />
-<meta name="description" content="List of supported ARM boards"
+<title></title>
+<!-- 2018-06-16 Sat 13:23 -->
+<meta  http-equiv="Content-Type" content="text/html;charset=utf-8" />
+<meta  name="generator" content="Org-mode" />
+<meta  name="author" content="Bob Mottram" />
+<meta  name="description" content="List of supported ARM boards"
  />
-<meta name="keywords" content="freedombone, arm board, SBC, single board computer" />
+<meta  name="keywords" content="freedombone, arm board, SBC, single board computer" />
 <style type="text/css">
  <!--/*--><![CDATA[/*><!--*/
-  .title  { text-align: center;
-             margin-bottom: .2em; }
-  .subtitle { text-align: center;
-              font-size: medium;
-              font-weight: bold;
-              margin-top:0; }
+  .title  { text-align: center; }
   .todo   { font-family: monospace; color: red; }
-  .done   { font-family: monospace; color: green; }
-  .priority { font-family: monospace; color: orange; }
+  .done   { color: green; }
   .tag    { background-color: #eee; font-family: monospace;
             padding: 2px; font-size: 80%; font-weight: normal; }
   .timestamp { color: #bebebe; }
   .timestamp-kwd { color: #5f9ea0; }
-  .org-right  { margin-left: auto; margin-right: 0px;  text-align: right; }
-  .org-left   { margin-left: 0px;  margin-right: auto; text-align: left; }
-  .org-center { margin-left: auto; margin-right: auto; text-align: center; }
+  .right  { margin-left: auto; margin-right: 0px;  text-align: right; }
+  .left   { margin-left: 0px;  margin-right: auto; text-align: left; }
+  .center { margin-left: auto; margin-right: auto; text-align: center; }
   .underline { text-decoration: underline; }
   #postamble p, #preamble p { font-size: 90%; margin: .2em; }
   p.verse { margin-left: 3%; }
@@ -56,111 +49,27 @@
     border: 1px solid black;
   }
   pre.src:hover:before { display: inline;}
-  /* Languages per Org manual */
-  pre.src-asymptote:before { content: 'Asymptote'; }
-  pre.src-awk:before { content: 'Awk'; }
-  pre.src-C:before { content: 'C'; }
-  /* pre.src-C++ doesn't work in CSS */
-  pre.src-clojure:before { content: 'Clojure'; }
-  pre.src-css:before { content: 'CSS'; }
-  pre.src-D:before { content: 'D'; }
-  pre.src-ditaa:before { content: 'ditaa'; }
-  pre.src-dot:before { content: 'Graphviz'; }
-  pre.src-calc:before { content: 'Emacs Calc'; }
+  pre.src-sh:before    { content: 'sh'; }
+  pre.src-bash:before  { content: 'sh'; }
   pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
-  pre.src-fortran:before { content: 'Fortran'; }
-  pre.src-gnuplot:before { content: 'gnuplot'; }
-  pre.src-haskell:before { content: 'Haskell'; }
-  pre.src-hledger:before { content: 'hledger'; }
-  pre.src-java:before { content: 'Java'; }
-  pre.src-js:before { content: 'Javascript'; }
-  pre.src-latex:before { content: 'LaTeX'; }
-  pre.src-ledger:before { content: 'Ledger'; }
-  pre.src-lisp:before { content: 'Lisp'; }
-  pre.src-lilypond:before { content: 'Lilypond'; }
-  pre.src-lua:before { content: 'Lua'; }
-  pre.src-matlab:before { content: 'MATLAB'; }
-  pre.src-mscgen:before { content: 'Mscgen'; }
-  pre.src-ocaml:before { content: 'Objective Caml'; }
-  pre.src-octave:before { content: 'Octave'; }
-  pre.src-org:before { content: 'Org mode'; }
-  pre.src-oz:before { content: 'OZ'; }
-  pre.src-plantuml:before { content: 'Plantuml'; }
-  pre.src-processing:before { content: 'Processing.js'; }
-  pre.src-python:before { content: 'Python'; }
-  pre.src-R:before { content: 'R'; }
-  pre.src-ruby:before { content: 'Ruby'; }
-  pre.src-sass:before { content: 'Sass'; }
-  pre.src-scheme:before { content: 'Scheme'; }
-  pre.src-screen:before { content: 'Gnu Screen'; }
-  pre.src-sed:before { content: 'Sed'; }
-  pre.src-sh:before { content: 'shell'; }
-  pre.src-sql:before { content: 'SQL'; }
-  pre.src-sqlite:before { content: 'SQLite'; }
-  /* additional languages in org.el's org-babel-load-languages alist */
-  pre.src-forth:before { content: 'Forth'; }
-  pre.src-io:before { content: 'IO'; }
-  pre.src-J:before { content: 'J'; }
-  pre.src-makefile:before { content: 'Makefile'; }
-  pre.src-maxima:before { content: 'Maxima'; }
-  pre.src-perl:before { content: 'Perl'; }
-  pre.src-picolisp:before { content: 'Pico Lisp'; }
-  pre.src-scala:before { content: 'Scala'; }
-  pre.src-shell:before { content: 'Shell Script'; }
-  pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
-  /* additional language identifiers per "defun org-babel-execute"
-       in ob-*.el */
-  pre.src-cpp:before  { content: 'C++'; }
-  pre.src-abc:before  { content: 'ABC'; }
-  pre.src-coq:before  { content: 'Coq'; }
-  pre.src-groovy:before  { content: 'Groovy'; }
-  /* additional language identifiers from org-babel-shell-names in
-     ob-shell.el: ob-shell is the only babel language using a lambda to put
-     the execution function name together. */
-  pre.src-bash:before  { content: 'bash'; }
-  pre.src-csh:before  { content: 'csh'; }
-  pre.src-ash:before  { content: 'ash'; }
-  pre.src-dash:before  { content: 'dash'; }
-  pre.src-ksh:before  { content: 'ksh'; }
-  pre.src-mksh:before  { content: 'mksh'; }
-  pre.src-posh:before  { content: 'posh'; }
-  /* Additional Emacs modes also supported by the LaTeX listings package */
-  pre.src-ada:before { content: 'Ada'; }
-  pre.src-asm:before { content: 'Assembler'; }
-  pre.src-caml:before { content: 'Caml'; }
-  pre.src-delphi:before { content: 'Delphi'; }
-  pre.src-html:before { content: 'HTML'; }
-  pre.src-idl:before { content: 'IDL'; }
-  pre.src-mercury:before { content: 'Mercury'; }
-  pre.src-metapost:before { content: 'MetaPost'; }
-  pre.src-modula-2:before { content: 'Modula-2'; }
-  pre.src-pascal:before { content: 'Pascal'; }
-  pre.src-ps:before { content: 'PostScript'; }
-  pre.src-prolog:before { content: 'Prolog'; }
-  pre.src-simula:before { content: 'Simula'; }
-  pre.src-tcl:before { content: 'tcl'; }
-  pre.src-tex:before { content: 'TeX'; }
-  pre.src-plain-tex:before { content: 'Plain TeX'; }
-  pre.src-verilog:before { content: 'Verilog'; }
-  pre.src-vhdl:before { content: 'VHDL'; }
-  pre.src-xml:before { content: 'XML'; }
-  pre.src-nxml:before { content: 'XML'; }
-  /* add a generic configuration mode; LaTeX export needs an additional
-     (add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
-  pre.src-conf:before { content: 'Configuration File'; }
+  pre.src-R:before     { content: 'R'; }
+  pre.src-perl:before  { content: 'Perl'; }
+  pre.src-java:before  { content: 'Java'; }
+  pre.src-sql:before   { content: 'SQL'; }
 
   table { border-collapse:collapse; }
   caption.t-above { caption-side: top; }
   caption.t-bottom { caption-side: bottom; }
   td, th { vertical-align:top;  }
-  th.org-right  { text-align: center;  }
-  th.org-left   { text-align: center;   }
-  th.org-center { text-align: center; }
-  td.org-right  { text-align: right;  }
-  td.org-left   { text-align: left;   }
-  td.org-center { text-align: center; }
+  th.right  { text-align: center;  }
+  th.left   { text-align: center;   }
+  th.center { text-align: center; }
+  td.right  { text-align: right;  }
+  td.left   { text-align: left;   }
+  td.center { text-align: center; }
   dt { font-weight: bold; }
-  .footpara { display: inline; }
+  .footpara:nth-child(2) { display: inline; }
+  .footpara { display: block; }
   .footdef  { margin-bottom: 1em; }
   .figure { padding: 1em; }
   .figure p { text-align: center; }
@@ -180,7 +89,6 @@
     { font-size: 10px; font-weight: bold; white-space: nowrap; }
   .org-info-js_search-highlight
     { background-color: #ffff00; color: #000000; font-weight: bold; }
-  .org-svg { width: 90%; }
   /*]]>*/-->
 </style>
 <link rel="stylesheet" type="text/css" href="freedombone.css" />
@@ -189,7 +97,7 @@
 @licstart  The following is the entire license notice for the
 JavaScript code in this tag.
 
-Copyright (C) 2012-2017 Free Software Foundation, Inc.
+Copyright (C) 2012-2013 Free Software Foundation, Inc.
 
 The JavaScript code in this tag is free software: you can
 redistribute it and/or modify it under the terms of the GNU
@@ -236,37 +144,51 @@ for the JavaScript code in this tag.
 <a name="top" id="top"></a>
 </div>
 <div id="content">
+<h1 class="title"></h1>
 
 <div class="figure">
 <p><img src="images/logo.png" alt="logo.png" width="80%" height="10%" align="center" />
 </p>
 </div>
 
-<div id="outline-container-org4cb621d" class="outline-2">
-<h2 id="org4cb621d">Supported ARM boards</h2>
-<div class="outline-text-2" id="text-org4cb621d">
+<div id="outline-container-sec-1" class="outline-2">
+<h2 id="sec-1">Supported ARM boards</h2>
+<div class="outline-text-2" id="text-1">
 <p>
 The following ARM boards are supported by the build system. If your board isn't listed here then you may still be able to install Freedombone using <a href="./armbian.html">Armbian</a>.
 </p>
 
 <ul class="org-ul">
-<li><a href="./downloads/v31/freedombone-beaglebone-armhf.img.xz">beaglebone</a></li>
-<li><a href="./downloads/v31/freedombone-cubieboard2-armhf.img.xz">cubieboard2</a></li>
-<li><a href="./downloads/v31/freedombone-cubietruck-armhf.img.xz">cubietruck</a></li>
-<li><a href="./downloads/v31/freedombone-pcduino3-armhf.img.xz">pcduino3</a></li>
-<li>a20-olinuxino-lime</li>
-<li>a20-olinuxino-lime2</li>
-<li>a20-olinuxino-micro</li>
-<li><a href="http://www.lemaker.org/product-bananapro-index.html">Lemaker Banana Pro</a></li>
+<li>beaglebone
+</li>
+<li>cubieboard2
+</li>
+<li>cubietruck
+</li>
+<li>pcduino3
+</li>
+<li>a20-olinuxino-lime
+</li>
+<li>a20-olinuxino-lime2
+</li>
+<li>a20-olinuxino-micro
+</li>
+<li>Lemaker Banana Pro
+</li>
 </ul>
 
 <p>
-The latest image builds can be <a href="./downloads/current">found here</a>.
+The latest image builds are obtainable with <a href="https://datproject.org/">dat</a> and can be <a href="./downloads/images.txt">found here</a>.
 </p>
 
-<center>
-Return to the <a href="index.html">home page</a>
-</center>
+<div class="export">
+<p>
+&lt;center&gt;
+Return to the &lt;a href="index.html"&gt;home page&lt;/a&gt;
+&lt;/center&gt;
+</p>
+
+</div>
 </div>
 </div>
 </div>
diff --git a/website/EN/homeserver.html b/website/EN/homeserver.html
index aa2e4356c..c1ee3d7a0 100644
--- a/website/EN/homeserver.html
+++ b/website/EN/homeserver.html
@@ -4,7 +4,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 <head>
 <title></title>
-<!-- 2018-06-04 Mon 18:33 -->
+<!-- 2018-06-16 Sat 13:49 -->
 <meta  http-equiv="Content-Type" content="text/html;charset=utf-8" />
 <meta  name="generator" content="Org-mode" />
 <meta  name="author" content="Bob Mottram" />
@@ -191,6 +191,20 @@ freedombone-image -t i386 --onion-addresses-only yes
 </pre>
 </div>
 
+<p>
+If you can't obtain a copy of the source code from <b>code.freedombone.net</b> (maybe the server is down) then you may still be able to obtain it with:
+</p>
+
+<div class="org-src-container">
+
+<pre class="src src-bash">dat clone dat://e9cbf606e55cdaa85199f4e6ec25ff7456775389979a668b3faf33e057493f8e/
+cd e9cbf606e55cdaa85199f4e6ec25ff7456775389979a668b3faf33e057493f8e
+tar -xzvf freedombone.tar.gz
+cd freedombone
+git checkout stretch
+</pre>
+</div>
+
 <p>
 Now prepare your local system to talk to the freedombone by running the following command. This will set up avahi and create ssh keys if necessary.
 </p>
diff --git a/website/EN/images.txt b/website/EN/images.txt
new file mode 100644
index 000000000..0a2f810c8
--- /dev/null
+++ b/website/EN/images.txt
@@ -0,0 +1,13 @@
+Source code                       dat://e9cbf606e55cdaa85199f4e6ec25ff7456775389979a668b3faf33e057493f8e/
+
+amd64                             dat://b1f714cdd60eb8cbedf9112ce37f8a5e9601fc0d3e1734af8901002adfe0ed74/
+amd64 (onion only)                dat://86c5ad0c75022c459908348c44604e27c961d19fba8ed0395cbc7928f637185c/
+amd64 social instance             dat://231b24dbeef3c3f7b115b9c7cd02e416b382df0a1050ef66f94b988fc8dae92e/
+Banana Pro SATA                   dat://c3feadb5568aa29680f55fa16c0118c22f7b2330364d3a008396906d6f2f8e70/
+Beaglebone Black                  dat://eb4f994ee9e4397ddae1909fd8c387467c36a30f1ef3c0bcdbb1ef0a2835f40d/
+Beaglebone Black (onion only)     dat://ce37befb88fc975cae17c8f733d75c138da6a6bec1c636f676eba87d06de5b5a/
+Cubieboard 2 SATA                 dat://9418b0509619ac8ae3b99e296ccf0e4c248682d357e93bb975db3a5d54fb840d/
+Cubietruck SATA                   dat://86d924ceeb7a927ce0528b7a8f6f228a2a628f80a93cf4e6e83421f9d8985445/
+Mesh Client                       dat://e2ed9767d6ab64f4c43a2adbce65af225133fec7ba95737f0a2f6ae292ba358e/
+Mesh Client (unfree wifi drivers) dat://6d1b73d13b6f9b5c481c6dfd64be6aa58e1cd2d153a6bb04bbc177999ee9925e/
+Mesh Router Beaglebone Black      dat://a4e79e49c6e77b919d4ae4827037e813ef1ba2734c342d0d78146ce16a819ebb/
\ No newline at end of file
diff --git a/website/EN/index.html b/website/EN/index.html
index 50c0dc8cc..e5ac89bb8 100644
--- a/website/EN/index.html
+++ b/website/EN/index.html
@@ -4,7 +4,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 <head>
 <title></title>
-<!-- 2018-06-16 Sat 10:56 -->
+<!-- 2018-06-16 Sat 13:41 -->
 <meta  http-equiv="Content-Type" content="text/html;charset=utf-8" />
 <meta  name="generator" content="Org-mode" />
 <meta  name="author" content="Bob Mottram" />
@@ -165,7 +165,7 @@ for the JavaScript code in this tag.
 </colgroup>
 <tbody>
 <tr>
-<td class="left"><a href="./downloads/v31">Downloads</a></td>
+<td class="left"><a href="./downloads/images.txt">Downloads</a></td>
 <td class="left"><a href="./apps.html">Apps</a></td>
 <td class="left"><a href="./faq.html">FAQ</a></td>
 <td class="left"><a href="./devguide.html">Developers</a></td>
-- 
GitLab