Update documentation

This commit is contained in:
Bob Mottram 2016-09-09 20:10:32 +01:00
parent 62bf85320b
commit e14c72b32a
No known key found for this signature in database
GPG Key ID: 0452CC7CEA982E38
2 changed files with 105 additions and 27 deletions

View File

@ -18,13 +18,32 @@
[[file:images/mesh_screenshot.jpg]]
#+END_CENTER
|------------------------+---+-------------+---+----------------------+---+---------------|
| [[What the system can do]] | - | [[Disk Images]] | - | [[Building Disk Images]] | - | [[How to use it]] |
|------------------------+---+-------------+---+----------------------+---+---------------|
Mesh networks are useful as a quick way to make a fully decentralised communications system which is not connected to or reliant upon the internet. Think festivals, hacker conferences, onboard ships at sea, disaster/war zones, small business internal office communications, protests, remote areas of the world, temporary "digital blackouts", scientific expeditions and off-world space colonies. The down side is that you can't access any internet content. The upside is that you can securely communicate with anyone on the local mesh. No ISPs. No payments or subscriptions beyond the cost of obtaining the hardware. Systems need to be within wifi range of each other for the mesh to be created. It can be an ultra-convenient way to do purely local communications.
* [[Ready made images]]
* [[To build the disk image yourself]]
* [[How to use it]]
* What the system can do
* Ready made images
- Discovery of other users on the network
- Text based chat, one-to-one and in groups
- Voice chat (VoIP)
- Private and public sharing of files
- Blogging
- No network administration required
Communication is local between systems within wifi range of each other. If systems are out of wifi range the data is mesh routed through intermediate peers.
No servers, internet connection or cabling is needed.
Works from bootable USB drives or microSD drives.
Private communications is end-to-end secured with elliptic curve encryption and is forward secret. Not easy to censor or passively monitor.
Publicly shared data is /content addressable/ and therefore scalable to many peers.
* Disk Images
** Client images
#+BEGIN_CENTER
@ -81,7 +100,7 @@ sudo dd bs=1M if=mesh-router-beaglebone-black.img of=/dev/sdX conv=fdatasync
If you have a few Beaglebone Blacks to use as routers then repeat the /dd/ command to create however many microSD cards you need.
* To build the disk image yourself
* Building Disk Images
It's better not to trust images downloaded from random places on the interwebs. Chances are that unless you are in the web of trust of the above GPG signatures then they don't mean very much to you. If you actually want something trustworthy then build the images from scratch. It will take some time. Here's how to do it.
First you will need to create an image. On a Debian based system (tested on Debian Jessie and Trisquel 7):

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2016-09-01 Thu 13:02 -->
<!-- 2016-09-09 Fri 20:10 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title></title>
@ -252,22 +252,81 @@ for the JavaScript code in this tag.
</div>
</div>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
</colgroup>
<tbody>
<tr>
<td class="org-left"><a href="#org707c257">What the system can do</a></td>
<td class="org-left">-</td>
<td class="org-left"><a href="#orgd00db33">Disk Images</a></td>
<td class="org-left">-</td>
<td class="org-left"><a href="#org0840eb8">Building Disk Images</a></td>
<td class="org-left">-</td>
<td class="org-left"><a href="#orga6e8ab2">How to use it</a></td>
</tr>
</tbody>
</table>
<p>
Mesh networks are useful as a quick way to make a fully decentralised communications system which is not connected to or reliant upon the internet. Think festivals, hacker conferences, onboard ships at sea, disaster/war zones, small business internal office communications, protests, remote areas of the world, temporary "digital blackouts", scientific expeditions and off-world space colonies. The down side is that you can't access any internet content. The upside is that you can securely communicate with anyone on the local mesh. No ISPs. No payments or subscriptions beyond the cost of obtaining the hardware. Systems need to be within wifi range of each other for the mesh to be created. It can be an ultra-convenient way to do purely local communications.
</p>
<div id="outline-container-org707c257" class="outline-2">
<h2 id="org707c257">What the system can do</h2>
<div class="outline-text-2" id="text-org707c257">
<ul class="org-ul">
<li><a href="#org293e8ad">Ready made images</a></li>
<li><a href="#org139ec0d">To build the disk image yourself</a></li>
<li><a href="#org1a4a0ff">How to use it</a></li>
<li>Discovery of other users on the network</li>
<li>Text based chat, one-to-one and in groups</li>
<li>Voice chat (VoIP)</li>
<li>Private and public sharing of files</li>
<li>Blogging</li>
<li>No network administration required</li>
</ul>
<div id="outline-container-org293e8ad" class="outline-2">
<h2 id="org293e8ad">Ready made images</h2>
<div class="outline-text-2" id="text-org293e8ad">
</div><div id="outline-container-org97a6f70" class="outline-3">
<h3 id="org97a6f70">Client images</h3>
<div class="outline-text-3" id="text-org97a6f70">
<p>
Communication is local between systems within wifi range of each other. If systems are out of wifi range the data is mesh routed through intermediate peers.
</p>
<p>
No servers, internet connection or cabling is needed.
</p>
<p>
Works from bootable USB drives or microSD drives.
</p>
<p>
Private communications is end-to-end secured with elliptic curve encryption and is forward secret. Not easy to censor or passively monitor.
</p>
<p>
Publicly shared data is <i>content addressable</i> and therefore scalable to many peers.
</p>
</div>
</div>
<div id="outline-container-orgd00db33" class="outline-2">
<h2 id="orgd00db33">Disk Images</h2>
<div class="outline-text-2" id="text-orgd00db33">
</div><div id="outline-container-orgb5d2863" class="outline-3">
<h3 id="orgb5d2863">Client images</h3>
<div class="outline-text-3" id="text-orgb5d2863">
<div class="org-center">
<div class="figure">
@ -316,16 +375,16 @@ sudo dd <span class="org-variable-name">bs</span>=1M <span class="org-variable-n
</div>
</div>
<div id="outline-container-org29332d7" class="outline-3">
<h3 id="org29332d7">Router images</h3>
<div class="outline-text-3" id="text-org29332d7">
<div id="outline-container-orgd6a576d" class="outline-3">
<h3 id="orgd6a576d">Router images</h3>
<div class="outline-text-3" id="text-orgd6a576d">
<p>
Routers are intended to build network coverage for an area using small and low cost hardware. You can bolt them to walls or leave them on window ledges. They don't have any user interface and their only job is to haul network traffic across the mesh. Copy the image to a microSD card and insert it into the router, plug in an Atheros wifi dongle and power on. That should be all you need to do.
</p>
</div>
<div id="outline-container-org696f207" class="outline-4">
<h4 id="org696f207">Beaglebone Black</h4>
<div class="outline-text-4" id="text-org696f207">
<div id="outline-container-org2908ddf" class="outline-4">
<h4 id="org2908ddf">Beaglebone Black</h4>
<div class="outline-text-4" id="text-org2908ddf">
<div class="org-center">
<div class="figure">
@ -359,9 +418,9 @@ If you have a few Beaglebone Blacks to use as routers then repeat the <i>dd</i>
</div>
</div>
<div id="outline-container-org139ec0d" class="outline-2">
<h2 id="org139ec0d">To build the disk image yourself</h2>
<div class="outline-text-2" id="text-org139ec0d">
<div id="outline-container-org0840eb8" class="outline-2">
<h2 id="org0840eb8">Building Disk Images</h2>
<div class="outline-text-2" id="text-org0840eb8">
<p>
It's better not to trust images downloaded from random places on the interwebs. Chances are that unless you are in the web of trust of the above GPG signatures then they don't mean very much to you. If you actually want something trustworthy then build the images from scratch. It will take some time. Here's how to do it.
</p>
@ -456,9 +515,9 @@ The resulting image can be copied to a microSD card, inserted into a Beaglebone
</div>
</div>
<div id="outline-container-org1a4a0ff" class="outline-2">
<h2 id="org1a4a0ff">How to use it</h2>
<div class="outline-text-2" id="text-org1a4a0ff">
<div id="outline-container-orga6e8ab2" class="outline-2">
<h2 id="orga6e8ab2">How to use it</h2>
<div class="outline-text-2" id="text-orga6e8ab2">
<p>
When you first boot from the USB drive the system will create some encryption keys, assign a unique network address to the system and then reboot itself. When that's done you should see a prompt asking for a username. This username just makes it easy for others to initially find you on the mesh and will appear in the list of users.
</p>