123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305
  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. <!-- 2018-05-16 Wed 15:41 -->
  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>&lrm;</title>
  10. <meta name="generator" content="Org mode" />
  11. <meta name="author" content="Bob Mottram" />
  12. <meta name="description" content="How to use BDS Mail"
  13. />
  14. <meta name="keywords" content="freedombone, bdsmail" />
  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-hledger:before { content: 'hledger'; }
  75. pre.src-java:before { content: 'Java'; }
  76. pre.src-js:before { content: 'Javascript'; }
  77. pre.src-latex:before { content: 'LaTeX'; }
  78. pre.src-ledger:before { content: 'Ledger'; }
  79. pre.src-lisp:before { content: 'Lisp'; }
  80. pre.src-lilypond:before { content: 'Lilypond'; }
  81. pre.src-lua:before { content: 'Lua'; }
  82. pre.src-matlab:before { content: 'MATLAB'; }
  83. pre.src-mscgen:before { content: 'Mscgen'; }
  84. pre.src-ocaml:before { content: 'Objective Caml'; }
  85. pre.src-octave:before { content: 'Octave'; }
  86. pre.src-org:before { content: 'Org mode'; }
  87. pre.src-oz:before { content: 'OZ'; }
  88. pre.src-plantuml:before { content: 'Plantuml'; }
  89. pre.src-processing:before { content: 'Processing.js'; }
  90. pre.src-python:before { content: 'Python'; }
  91. pre.src-R:before { content: 'R'; }
  92. pre.src-ruby:before { content: 'Ruby'; }
  93. pre.src-sass:before { content: 'Sass'; }
  94. pre.src-scheme:before { content: 'Scheme'; }
  95. pre.src-screen:before { content: 'Gnu Screen'; }
  96. pre.src-sed:before { content: 'Sed'; }
  97. pre.src-sh:before { content: 'shell'; }
  98. pre.src-sql:before { content: 'SQL'; }
  99. pre.src-sqlite:before { content: 'SQLite'; }
  100. /* additional languages in org.el's org-babel-load-languages alist */
  101. pre.src-forth:before { content: 'Forth'; }
  102. pre.src-io:before { content: 'IO'; }
  103. pre.src-J:before { content: 'J'; }
  104. pre.src-makefile:before { content: 'Makefile'; }
  105. pre.src-maxima:before { content: 'Maxima'; }
  106. pre.src-perl:before { content: 'Perl'; }
  107. pre.src-picolisp:before { content: 'Pico Lisp'; }
  108. pre.src-scala:before { content: 'Scala'; }
  109. pre.src-shell:before { content: 'Shell Script'; }
  110. pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
  111. /* additional language identifiers per "defun org-babel-execute"
  112. in ob-*.el */
  113. pre.src-cpp:before { content: 'C++'; }
  114. pre.src-abc:before { content: 'ABC'; }
  115. pre.src-coq:before { content: 'Coq'; }
  116. pre.src-groovy:before { content: 'Groovy'; }
  117. /* additional language identifiers from org-babel-shell-names in
  118. ob-shell.el: ob-shell is the only babel language using a lambda to put
  119. the execution function name together. */
  120. pre.src-bash:before { content: 'bash'; }
  121. pre.src-csh:before { content: 'csh'; }
  122. pre.src-ash:before { content: 'ash'; }
  123. pre.src-dash:before { content: 'dash'; }
  124. pre.src-ksh:before { content: 'ksh'; }
  125. pre.src-mksh:before { content: 'mksh'; }
  126. pre.src-posh:before { content: 'posh'; }
  127. /* Additional Emacs modes also supported by the LaTeX listings package */
  128. pre.src-ada:before { content: 'Ada'; }
  129. pre.src-asm:before { content: 'Assembler'; }
  130. pre.src-caml:before { content: 'Caml'; }
  131. pre.src-delphi:before { content: 'Delphi'; }
  132. pre.src-html:before { content: 'HTML'; }
  133. pre.src-idl:before { content: 'IDL'; }
  134. pre.src-mercury:before { content: 'Mercury'; }
  135. pre.src-metapost:before { content: 'MetaPost'; }
  136. pre.src-modula-2:before { content: 'Modula-2'; }
  137. pre.src-pascal:before { content: 'Pascal'; }
  138. pre.src-ps:before { content: 'PostScript'; }
  139. pre.src-prolog:before { content: 'Prolog'; }
  140. pre.src-simula:before { content: 'Simula'; }
  141. pre.src-tcl:before { content: 'tcl'; }
  142. pre.src-tex:before { content: 'TeX'; }
  143. pre.src-plain-tex:before { content: 'Plain TeX'; }
  144. pre.src-verilog:before { content: 'Verilog'; }
  145. pre.src-vhdl:before { content: 'VHDL'; }
  146. pre.src-xml:before { content: 'XML'; }
  147. pre.src-nxml:before { content: 'XML'; }
  148. /* add a generic configuration mode; LaTeX export needs an additional
  149. (add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
  150. pre.src-conf:before { content: 'Configuration File'; }
  151. table { border-collapse:collapse; }
  152. caption.t-above { caption-side: top; }
  153. caption.t-bottom { caption-side: bottom; }
  154. td, th { vertical-align:top; }
  155. th.org-right { text-align: center; }
  156. th.org-left { text-align: center; }
  157. th.org-center { text-align: center; }
  158. td.org-right { text-align: right; }
  159. td.org-left { text-align: left; }
  160. td.org-center { text-align: center; }
  161. dt { font-weight: bold; }
  162. .footpara { display: inline; }
  163. .footdef { margin-bottom: 1em; }
  164. .figure { padding: 1em; }
  165. .figure p { text-align: center; }
  166. .inlinetask {
  167. padding: 10px;
  168. border: 2px solid gray;
  169. margin: 10px;
  170. background: #ffffcc;
  171. }
  172. #org-div-home-and-up
  173. { text-align: right; font-size: 70%; white-space: nowrap; }
  174. textarea { overflow-x: auto; }
  175. .linenr { font-size: smaller }
  176. .code-highlighted { background-color: #ffff00; }
  177. .org-info-js_info-navigation { border-style: none; }
  178. #org-info-js_console-label
  179. { font-size: 10px; font-weight: bold; white-space: nowrap; }
  180. .org-info-js_search-highlight
  181. { background-color: #ffff00; color: #000000; font-weight: bold; }
  182. .org-svg { width: 90%; }
  183. /*]]>*/-->
  184. </style>
  185. <link rel="stylesheet" type="text/css" href="freedombone.css" />
  186. <script type="text/javascript">
  187. /*
  188. @licstart The following is the entire license notice for the
  189. JavaScript code in this tag.
  190. Copyright (C) 2012-2017 Free Software Foundation, Inc.
  191. The JavaScript code in this tag is free software: you can
  192. redistribute it and/or modify it under the terms of the GNU
  193. General Public License (GNU GPL) as published by the Free Software
  194. Foundation, either version 3 of the License, or (at your option)
  195. any later version. The code is distributed WITHOUT ANY WARRANTY;
  196. without even the implied warranty of MERCHANTABILITY or FITNESS
  197. FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
  198. As additional permission under GNU GPL version 3 section 7, you
  199. may distribute non-source (e.g., minimized or compacted) forms of
  200. that code without the copy of the GNU GPL normally required by
  201. section 4, provided you include this license notice and a URL
  202. through which recipients can access the Corresponding Source.
  203. @licend The above is the entire license notice
  204. for the JavaScript code in this tag.
  205. */
  206. <!--/*--><![CDATA[/*><!--*/
  207. function CodeHighlightOn(elem, id)
  208. {
  209. var target = document.getElementById(id);
  210. if(null != target) {
  211. elem.cacheClassElem = elem.className;
  212. elem.cacheClassTarget = target.className;
  213. target.className = "code-highlighted";
  214. elem.className = "code-highlighted";
  215. }
  216. }
  217. function CodeHighlightOff(elem, id)
  218. {
  219. var target = document.getElementById(id);
  220. if(elem.cacheClassElem)
  221. elem.className = elem.cacheClassElem;
  222. if(elem.cacheClassTarget)
  223. target.className = elem.cacheClassTarget;
  224. }
  225. /*]]>*///-->
  226. </script>
  227. </head>
  228. <body>
  229. <div id="preamble" class="status">
  230. <a name="top" id="top"></a>
  231. </div>
  232. <div id="content">
  233. <div class="figure">
  234. <p><img src="images/logo.png" alt="logo.png" width="80%" height="10%" align="center" />
  235. </p>
  236. </div>
  237. <div id="outline-container-org70c09ae" class="outline-2">
  238. <h2 id="org70c09ae">BDS Mail</h2>
  239. <div class="outline-text-2" id="text-org70c09ae">
  240. <p>
  241. BDS Mail (aka "Brain Dead Simple Mail") is an optional addition to the existing email server which comes installed as default. It creates an extra folder within the Mutt client which allows you to send and receive email using <a href="https://en.wikipedia.org/wiki/I2P">i2p</a> as the transport layer. This solves the problem of being blocked by dubious systems and also the problem of user friendly email encryption. If you're behind a hostile firewall which you don't control and which blocks all ports, this system is still likely to work. You can use GPG as an additional encryption layer if you prefer, but it's not strictly necessary because you already have the i2p public key system to ensure end-to-end security.
  242. </p>
  243. <p>
  244. It's unlikely that many people will use this. If it's hard to persuade anyone to use GPG or Enigmail then it will be <i>next to impossible</i> to persuade them to switch to BDS Mail unless they're already obsessive about technical security. However, this provides yet another option for reasonably secure communications if other methods fail or are untrustable.
  245. </p>
  246. </div>
  247. </div>
  248. <div id="outline-container-org48069db" class="outline-2">
  249. <h2 id="org48069db">Installation</h2>
  250. <div class="outline-text-2" id="text-org48069db">
  251. <p>
  252. ssh into the system with:
  253. </p>
  254. <div class="org-src-container">
  255. <pre class="src src-bash">ssh myusername@mydomain.com -p 2222
  256. </pre>
  257. </div>
  258. <p>
  259. Select <b>Administrator controls</b> then <b>Add/Remove Apps</b> then <b>bdsmail</b>. It may take a while to install, due to the creation of keys.
  260. </p>
  261. <p>
  262. After installation exit from <b>Administrator controls</b> back to the user control panel then select the option to <b>show your email address</b>. You will now have a new bdsmail address which ends with <i>.b32.i2p</i>. If you then select <b>Use Email</b> to run the Mutt email client you'll notice that you now have a folder called <b>i2p</b>. If you select that folder (move up and down with <i>CTRL+n</i> or <i>CTRL+p</i> and open with <i>CTRL+o</i>) you can then send email from your new address, or receive mail to it. Just like ordinary email, but with a more random-looking address.
  263. </p>
  264. </div>
  265. </div>
  266. </div>
  267. <div id="postamble" class="status">
  268. <style type="text/css">
  269. .back-to-top {
  270. position: fixed;
  271. bottom: 2em;
  272. right: 0px;
  273. text-decoration: none;
  274. color: #000000;
  275. background-color: rgba(235, 235, 235, 0.80);
  276. font-size: 12px;
  277. padding: 1em;
  278. display: none;
  279. }
  280. .back-to-top:hover {
  281. background-color: rgba(135, 135, 135, 0.50);
  282. }
  283. </style>
  284. <div class="back-to-top">
  285. <a href="#top">Back to top</a> | <a href="mailto:bob@freedombone.net">E-mail me</a>
  286. </div>
  287. </div>
  288. </body>
  289. </html>