app_tahoelafs.html 12KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  5. <head>
  6. <!-- 2017-03-09 Thu 19:21 -->
  7. <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
  8. <meta name="viewport" content="width=device-width, initial-scale=1" />
  9. <title></title>
  10. <meta name="generator" content="Org mode" />
  11. <meta name="author" content="Bob Mottram" />
  12. <meta name="description" content="How to use Tahoe-LAFS"
  13. />
  14. <meta name="keywords" content="freedombone, Tahoe-LAFS" />
  15. <style type="text/css">
  16. <!--/*--><![CDATA[/*><!--*/
  17. .title { text-align: center;
  18. margin-bottom: .2em; }
  19. .subtitle { text-align: center;
  20. font-size: medium;
  21. font-weight: bold;
  22. margin-top:0; }
  23. .todo { font-family: monospace; color: red; }
  24. .done { font-family: monospace; color: green; }
  25. .priority { font-family: monospace; color: orange; }
  26. .tag { background-color: #eee; font-family: monospace;
  27. padding: 2px; font-size: 80%; font-weight: normal; }
  28. .timestamp { color: #bebebe; }
  29. .timestamp-kwd { color: #5f9ea0; }
  30. .org-right { margin-left: auto; margin-right: 0px; text-align: right; }
  31. .org-left { margin-left: 0px; margin-right: auto; text-align: left; }
  32. .org-center { margin-left: auto; margin-right: auto; text-align: center; }
  33. .underline { text-decoration: underline; }
  34. #postamble p, #preamble p { font-size: 90%; margin: .2em; }
  35. p.verse { margin-left: 3%; }
  36. pre {
  37. border: 1px solid #ccc;
  38. box-shadow: 3px 3px 3px #eee;
  39. padding: 8pt;
  40. font-family: monospace;
  41. overflow: auto;
  42. margin: 1.2em;
  43. }
  44. pre.src {
  45. position: relative;
  46. overflow: visible;
  47. padding-top: 1.2em;
  48. }
  49. pre.src:before {
  50. display: none;
  51. position: absolute;
  52. background-color: white;
  53. top: -10px;
  54. right: 10px;
  55. padding: 3px;
  56. border: 1px solid black;
  57. }
  58. pre.src:hover:before { display: inline;}
  59. /* Languages per Org manual */
  60. pre.src-asymptote:before { content: 'Asymptote'; }
  61. pre.src-awk:before { content: 'Awk'; }
  62. pre.src-C:before { content: 'C'; }
  63. /* pre.src-C++ doesn't work in CSS */
  64. pre.src-clojure:before { content: 'Clojure'; }
  65. pre.src-css:before { content: 'CSS'; }
  66. pre.src-D:before { content: 'D'; }
  67. pre.src-ditaa:before { content: 'ditaa'; }
  68. pre.src-dot:before { content: 'Graphviz'; }
  69. pre.src-calc:before { content: 'Emacs Calc'; }
  70. pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
  71. pre.src-fortran:before { content: 'Fortran'; }
  72. pre.src-gnuplot:before { content: 'gnuplot'; }
  73. pre.src-haskell:before { content: 'Haskell'; }
  74. pre.src-java:before { content: 'Java'; }
  75. pre.src-js:before { content: 'Javascript'; }
  76. pre.src-latex:before { content: 'LaTeX'; }
  77. pre.src-ledger:before { content: 'Ledger'; }
  78. pre.src-lisp:before { content: 'Lisp'; }
  79. pre.src-lilypond:before { content: 'Lilypond'; }
  80. pre.src-lua:before { content: 'Lua'; }
  81. pre.src-matlab:before { content: 'MATLAB'; }
  82. pre.src-mscgen:before { content: 'Mscgen'; }
  83. pre.src-ocaml:before { content: 'Objective Caml'; }
  84. pre.src-octave:before { content: 'Octave'; }
  85. pre.src-org:before { content: 'Org mode'; }
  86. pre.src-oz:before { content: 'OZ'; }
  87. pre.src-plantuml:before { content: 'Plantuml'; }
  88. pre.src-processing:before { content: 'Processing.js'; }
  89. pre.src-python:before { content: 'Python'; }
  90. pre.src-R:before { content: 'R'; }
  91. pre.src-ruby:before { content: 'Ruby'; }
  92. pre.src-sass:before { content: 'Sass'; }
  93. pre.src-scheme:before { content: 'Scheme'; }
  94. pre.src-screen:before { content: 'Gnu Screen'; }
  95. pre.src-sed:before { content: 'Sed'; }
  96. pre.src-sh:before { content: 'shell'; }
  97. pre.src-sql:before { content: 'SQL'; }
  98. pre.src-sqlite:before { content: 'SQLite'; }
  99. /* additional languages in org.el's org-babel-load-languages alist */
  100. pre.src-forth:before { content: 'Forth'; }
  101. pre.src-io:before { content: 'IO'; }
  102. pre.src-J:before { content: 'J'; }
  103. pre.src-makefile:before { content: 'Makefile'; }
  104. pre.src-maxima:before { content: 'Maxima'; }
  105. pre.src-perl:before { content: 'Perl'; }
  106. pre.src-picolisp:before { content: 'Pico Lisp'; }
  107. pre.src-scala:before { content: 'Scala'; }
  108. pre.src-shell:before { content: 'Shell Script'; }
  109. pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
  110. /* additional language identifiers per "defun org-babel-execute"
  111. in ob-*.el */
  112. pre.src-cpp:before { content: 'C++'; }
  113. pre.src-abc:before { content: 'ABC'; }
  114. pre.src-coq:before { content: 'Coq'; }
  115. pre.src-groovy:before { content: 'Groovy'; }
  116. /* additional language identifiers from org-babel-shell-names in
  117. ob-shell.el: ob-shell is the only babel language using a lambda to put
  118. the execution function name together. */
  119. pre.src-bash:before { content: 'bash'; }
  120. pre.src-csh:before { content: 'csh'; }
  121. pre.src-ash:before { content: 'ash'; }
  122. pre.src-dash:before { content: 'dash'; }
  123. pre.src-ksh:before { content: 'ksh'; }
  124. pre.src-mksh:before { content: 'mksh'; }
  125. pre.src-posh:before { content: 'posh'; }
  126. /* Additional Emacs modes also supported by the LaTeX listings package */
  127. pre.src-ada:before { content: 'Ada'; }
  128. pre.src-asm:before { content: 'Assembler'; }
  129. pre.src-caml:before { content: 'Caml'; }
  130. pre.src-delphi:before { content: 'Delphi'; }
  131. pre.src-html:before { content: 'HTML'; }
  132. pre.src-idl:before { content: 'IDL'; }
  133. pre.src-mercury:before { content: 'Mercury'; }
  134. pre.src-metapost:before { content: 'MetaPost'; }
  135. pre.src-modula-2:before { content: 'Modula-2'; }
  136. pre.src-pascal:before { content: 'Pascal'; }
  137. pre.src-ps:before { content: 'PostScript'; }
  138. pre.src-prolog:before { content: 'Prolog'; }
  139. pre.src-simula:before { content: 'Simula'; }
  140. pre.src-tcl:before { content: 'tcl'; }
  141. pre.src-tex:before { content: 'TeX'; }
  142. pre.src-plain-tex:before { content: 'Plain TeX'; }
  143. pre.src-verilog:before { content: 'Verilog'; }
  144. pre.src-vhdl:before { content: 'VHDL'; }
  145. pre.src-xml:before { content: 'XML'; }
  146. pre.src-nxml:before { content: 'XML'; }
  147. /* add a generic configuration mode; LaTeX export needs an additional
  148. (add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
  149. pre.src-conf:before { content: 'Configuration File'; }
  150. table { border-collapse:collapse; }
  151. caption.t-above { caption-side: top; }
  152. caption.t-bottom { caption-side: bottom; }
  153. td, th { vertical-align:top; }
  154. th.org-right { text-align: center; }
  155. th.org-left { text-align: center; }
  156. th.org-center { text-align: center; }
  157. td.org-right { text-align: right; }
  158. td.org-left { text-align: left; }
  159. td.org-center { text-align: center; }
  160. dt { font-weight: bold; }
  161. .footpara { display: inline; }
  162. .footdef { margin-bottom: 1em; }
  163. .figure { padding: 1em; }
  164. .figure p { text-align: center; }
  165. .inlinetask {
  166. padding: 10px;
  167. border: 2px solid gray;
  168. margin: 10px;
  169. background: #ffffcc;
  170. }
  171. #org-div-home-and-up
  172. { text-align: right; font-size: 70%; white-space: nowrap; }
  173. textarea { overflow-x: auto; }
  174. .linenr { font-size: smaller }
  175. .code-highlighted { background-color: #ffff00; }
  176. .org-info-js_info-navigation { border-style: none; }
  177. #org-info-js_console-label
  178. { font-size: 10px; font-weight: bold; white-space: nowrap; }
  179. .org-info-js_search-highlight
  180. { background-color: #ffff00; color: #000000; font-weight: bold; }
  181. .org-svg { width: 90%; }
  182. /*]]>*/-->
  183. </style>
  184. <link rel="stylesheet" type="text/css" href="freedombone.css" />
  185. <script type="text/javascript">
  186. /*
  187. @licstart The following is the entire license notice for the
  188. JavaScript code in this tag.
  189. Copyright (C) 2012-2013 Free Software Foundation, Inc.
  190. The JavaScript code in this tag is free software: you can
  191. redistribute it and/or modify it under the terms of the GNU
  192. General Public License (GNU GPL) as published by the Free Software
  193. Foundation, either version 3 of the License, or (at your option)
  194. any later version. The code is distributed WITHOUT ANY WARRANTY;
  195. without even the implied warranty of MERCHANTABILITY or FITNESS
  196. FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
  197. As additional permission under GNU GPL version 3 section 7, you
  198. may distribute non-source (e.g., minimized or compacted) forms of
  199. that code without the copy of the GNU GPL normally required by
  200. section 4, provided you include this license notice and a URL
  201. through which recipients can access the Corresponding Source.
  202. @licend The above is the entire license notice
  203. for the JavaScript code in this tag.
  204. */
  205. <!--/*--><![CDATA[/*><!--*/
  206. function CodeHighlightOn(elem, id)
  207. {
  208. var target = document.getElementById(id);
  209. if(null != target) {
  210. elem.cacheClassElem = elem.className;
  211. elem.cacheClassTarget = target.className;
  212. target.className = "code-highlighted";
  213. elem.className = "code-highlighted";
  214. }
  215. }
  216. function CodeHighlightOff(elem, id)
  217. {
  218. var target = document.getElementById(id);
  219. if(elem.cacheClassElem)
  220. elem.className = elem.cacheClassElem;
  221. if(elem.cacheClassTarget)
  222. target.className = elem.cacheClassTarget;
  223. }
  224. /*]]>*///-->
  225. </script>
  226. </head>
  227. <body>
  228. <div id="preamble" class="status">
  229. <a name="top" id="top"></a>
  230. </div>
  231. <div id="content">
  232. <div class="org-center">
  233. <div class="figure">
  234. <p><img src="images/logo.png" alt="logo.png" />
  235. </p>
  236. </div>
  237. </div>
  238. <center>
  239. <h1>Tahoe-LAFS</h1>
  240. </center>
  241. <p>
  242. This is a robust system for encrypted file storage on one or more server. Files are accessed via a URL which contains the public key with which it was encrypted.
  243. </p>
  244. <div id="outline-container-org820575c" class="outline-2">
  245. <h2 id="org820575c">Installation</h2>
  246. <div class="outline-text-2" id="text-org820575c">
  247. <p>
  248. Log into your system with:
  249. </p>
  250. <div class="org-src-container">
  251. <pre class="src src-bash">ssh myusername@mydomain -p 2222
  252. </pre>
  253. </div>
  254. <p>
  255. Using cursor keys, space bar and Enter key select <b>Administrator controls</b> and type in your password.
  256. </p>
  257. <p>
  258. Select <b>Add/Remove Apps</b> then <b>tahoelafs</b>. This system is entirely based upon use of onion addresses and so no other demaon names are needed.
  259. </p>
  260. </div>
  261. </div>
  262. <div id="outline-container-org4af4c28" class="outline-2">
  263. <h2 id="org4af4c28">Initial setup</h2>
  264. <div class="outline-text-2" id="text-org4af4c28">
  265. <p>
  266. Go to the <b>About</b> screen on the <b>Administrator control panel</b> and look for the onion address for <b>tahoelafs</b> within the list of domains. Enter that into a Tor compatible browser. You can then use the interface to upload files and obtain URLs for them.
  267. </p>
  268. <p>
  269. The URL contains the public key needed to decrypt the file. Make a copy of it and then store it somewhere safe, because it won't be stored anywhere else by default and having the URL is the only way to retrieve your file.
  270. </p>
  271. </div>
  272. </div>
  273. <div id="outline-container-org0225e9a" class="outline-2">
  274. <h2 id="org0225e9a">Adding more servers</h2>
  275. <div class="outline-text-2" id="text-org0225e9a">
  276. <p>
  277. You can add more servers to the system to increase its storage capacity. In a typical Tahoe-LAFS new data storage servers are automatically discovered via an introducer node, but that creates a single centralised point of failure. The installation on Freedombone has no introducer node and so details for the servers of your friends need to be entered manually.
  278. </p>
  279. <div class="org-center">
  280. <div class="figure">
  281. <p><img src="images/controlpanel/control_panel_tahoelafs.jpg" alt="control_panel_tahoelafs.jpg" />
  282. </p>
  283. </div>
  284. </div>
  285. <p>
  286. Other servers will typically be Freedombone systems with Tahoe-LAFS installed. Your Tahoe-LAFS server settings can be found on the <b>About</b> screen of the <b>Administrator control panel</b>. Use an end-to-end encrypted chat app to copy and paste those details and send them to other friends. To add the server details go to <b>App settings</b> on the <b>Administrator control panel</b> then select <b>tahoelafs</b> and <b>Add server</b>.
  287. </p>
  288. </div>
  289. </div>
  290. </div>
  291. <div id="postamble" class="status">
  292. <style type="text/css">
  293. .back-to-top {
  294. position: fixed;
  295. bottom: 2em;
  296. right: 0px;
  297. text-decoration: none;
  298. color: #000000;
  299. background-color: rgba(235, 235, 235, 0.80);
  300. font-size: 12px;
  301. padding: 1em;
  302. display: none;
  303. }
  304. .back-to-top:hover {
  305. background-color: rgba(135, 135, 135, 0.50);
  306. }
  307. </style>
  308. <div class="back-to-top">
  309. <a href="#top">Back to top</a> | <a href="mailto:bob@robotics.uk.to">E-mail me</a>
  310. </div>
  311. </div>
  312. </body>
  313. </html>