2017-05-16 22:05:37 +02:00
<?xml version="1.0" encoding="utf-8"?>
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" lang = "en" xml:lang = "en" >
< head >
< title > < / title >
2018-04-12 14:01:49 +02:00
<!-- 2018 - 04 - 12 Thu 12:35 -->
< 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 = "How to use the Profanity XMPP client"
2017-05-16 22:05:37 +02:00
/>
2018-04-12 14:01:49 +02:00
< meta name = "keywords" content = "freedombone, profanity" / >
2017-05-16 22:05:37 +02:00
< style type = "text/css" >
<!-- /* --> <![CDATA[/*> <!-- */
2018-04-12 14:01:49 +02:00
.title { text-align: center; }
2017-05-16 22:05:37 +02:00
.todo { font-family: monospace; color: red; }
2018-04-12 14:01:49 +02:00
.done { color: green; }
2017-05-16 22:05:37 +02:00
.tag { background-color: #eee; font-family: monospace;
padding: 2px; font-size: 80%; font-weight: normal; }
.timestamp { color: #bebebe; }
.timestamp-kwd { color: #5f9ea0; }
2018-04-12 14:01:49 +02:00
.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; }
2017-05-16 22:05:37 +02:00
.underline { text-decoration: underline; }
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
p.verse { margin-left: 3%; }
pre {
border: 1px solid #ccc;
box-shadow: 3px 3px 3px #eee;
padding: 8pt;
font-family: monospace;
overflow: auto;
margin: 1.2em;
}
pre.src {
position: relative;
overflow: visible;
padding-top: 1.2em;
}
pre.src:before {
display: none;
position: absolute;
background-color: white;
top: -10px;
right: 10px;
padding: 3px;
border: 1px solid black;
}
pre.src:hover:before { display: inline;}
2018-04-12 14:01:49 +02:00
pre.src-sh:before { content: 'sh'; }
pre.src-bash:before { content: 'sh'; }
2017-05-16 22:05:37 +02:00
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
2018-04-12 14:01:49 +02:00
pre.src-R:before { content: 'R'; }
pre.src-perl:before { content: 'Perl'; }
pre.src-java:before { content: 'Java'; }
pre.src-sql:before { content: 'SQL'; }
2017-05-16 22:05:37 +02:00
table { border-collapse:collapse; }
caption.t-above { caption-side: top; }
caption.t-bottom { caption-side: bottom; }
td, th { vertical-align:top; }
2018-04-12 14:01:49 +02:00
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; }
2017-05-16 22:05:37 +02:00
dt { font-weight: bold; }
2018-04-12 14:01:49 +02:00
.footpara:nth-child(2) { display: inline; }
.footpara { display: block; }
2017-05-16 22:05:37 +02:00
.footdef { margin-bottom: 1em; }
.figure { padding: 1em; }
.figure p { text-align: center; }
.inlinetask {
padding: 10px;
border: 2px solid gray;
margin: 10px;
background: #ffffcc;
}
#org-div-home-and-up
{ text-align: right; font-size: 70%; white-space: nowrap; }
textarea { overflow-x: auto; }
.linenr { font-size: smaller }
.code-highlighted { background-color: #ffff00; }
.org-info-js_info-navigation { border-style: none; }
#org-info-js_console-label
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
.org-info-js_search-highlight
{ background-color: #ffff00; color: #000000; font-weight: bold; }
/*]]>*/-->
< / style >
< link rel = "stylesheet" type = "text/css" href = "freedombone.css" / >
< script type = "text/javascript" >
/*
@licstart The following is the entire license notice for the
JavaScript code in this tag.
2018-04-12 14:01:49 +02:00
Copyright (C) 2012-2013 Free Software Foundation, Inc.
2017-05-16 22:05:37 +02:00
The JavaScript code in this tag is free software: you can
redistribute it and/or modify it under the terms of the GNU
General Public License (GNU GPL) as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version. The code is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
As additional permission under GNU GPL version 3 section 7, you
may distribute non-source (e.g., minimized or compacted) forms of
that code without the copy of the GNU GPL normally required by
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.
@licend The above is the entire license notice
for the JavaScript code in this tag.
*/
<!-- /* --> <![CDATA[/*> <!-- */
function CodeHighlightOn(elem, id)
{
var target = document.getElementById(id);
if(null != target) {
elem.cacheClassElem = elem.className;
elem.cacheClassTarget = target.className;
target.className = "code-highlighted";
elem.className = "code-highlighted";
}
}
function CodeHighlightOff(elem, id)
{
var target = document.getElementById(id);
if(elem.cacheClassElem)
elem.className = elem.cacheClassElem;
if(elem.cacheClassTarget)
target.className = elem.cacheClassTarget;
}
/*]]>*///-->
< / script >
< / head >
< body >
< div id = "preamble" class = "status" >
< a name = "top" id = "top" > < / a >
< / div >
< div id = "content" >
2018-04-12 14:01:49 +02:00
< h1 class = "title" > < / h1 >
2017-05-16 22:05:37 +02:00
< div class = "figure" >
2018-04-12 14:01:49 +02:00
< p > < img src = "images/logo.png" alt = "logo.png" width = "80%" height = "10%" align = "center" / >
2017-05-16 22:05:37 +02:00
< / p >
< / div >
2018-04-12 14:01:49 +02:00
< div id = "outline-container-sec-1" class = "outline-2" >
< h2 id = "sec-1" > Profanity< / h2 >
< div class = "outline-text-2" id = "text-1" >
2017-05-16 22:05:37 +02:00
< p >
To install this app you will first need to install the < a href = "./app_xmpp.html" > XMPP server< / a > .
< / p >
< p >
The < a href = "https://profanity.im" > Profanity< / a > shell based user interface and is perhaps the simplest way to use XMPP from a laptop. It's also a good way to ensure that your OTR keys are the same even when logging in from different laptops or devices, and it also means that if those devices later become compomised then there are no locally stored OTR keys to be found.
< / p >
< div class = "org-src-container" >
2018-04-12 14:01:49 +02:00
< pre class = "src src-bash" > ssh username@domain -p 2222
< / pre >
2017-05-16 22:05:37 +02:00
< / div >
< p >
Then select < b > Run App< / b > and then < b > profanity< / b > .
< / p >
< p >
Generate an < a href = "https://en.wikipedia.org/wiki/Off-the-Record_Messaging" > OTR< / a > key with:
< / p >
< div class = "org-src-container" >
2018-04-12 14:01:49 +02:00
< pre class = "src src-bash" > /otr gen
< / pre >
2017-05-16 22:05:37 +02:00
< / div >
< p >
Then to start a conversation using OTR:
< / p >
< div class = "org-src-container" >
2018-04-12 14:01:49 +02:00
< pre class = "src src-bash" > /otr start otherusername@otheruserdomain
< / pre >
2017-05-16 22:05:37 +02:00
< / div >
< p >
or if you're already in an insecure chat with someone just use:
< / p >
< div class = "org-src-container" >
2018-04-12 14:01:49 +02:00
< pre class = "src src-bash" > /otr start
< / pre >
2017-05-16 22:05:37 +02:00
< / div >
< p >
Set a security question and answer:
< / p >
< div class = "org-src-container" >
2018-04-12 14:01:49 +02:00
< pre class = "src src-bash" > /otr question "What is the name of your best friends rabbit?" fiffi
< / pre >
2017-05-16 22:05:37 +02:00
< / div >
< p >
On the other side the user can enter:
< / p >
< div class = "org-src-container" >
2018-04-12 14:01:49 +02:00
< pre class = "src src-bash" > /otr answer fiffi
< / pre >
2017-05-16 22:05:37 +02:00
< / div >
< p >
For the most paranoid you can also obtain your fingerprint:
< / p >
< div class = "org-src-container" >
2018-04-12 14:01:49 +02:00
< pre class = "src src-bash" > /otr myfp
< / pre >
2017-05-16 22:05:37 +02:00
< / div >
< p >
and quote that. If they quote theirs back you can check it with:
< / p >
< div class = "org-src-container" >
2018-04-12 14:01:49 +02:00
< pre class = "src src-bash" > /otr theirfp
< / pre >
2017-05-16 22:05:37 +02:00
< / div >
< p >
If the fingerprints match then you can be pretty confident that unless you have been socially engineered via the question and answer you probably are talking to who you think you are, and that it will be difficult for mass surveillance systems to know the content of the conversation. For more details see < a href = "https://www.profanity.im/otr.html" > this guide< / a >
< / p >
< p >
When accessed via the user control panel the client is automatically routed through Tor and so if you are also using OTR then this provides protection for both message content and metadata.
< / p >
< / div >
2018-04-12 14:01:49 +02:00
< / div >
< / div >
2017-05-16 22:05:37 +02:00
< div id = "postamble" class = "status" >
< style type = "text/css" >
.back-to-top {
position: fixed;
bottom: 2em;
right: 0px;
text-decoration: none;
color: #000000;
background-color: rgba(235, 235, 235, 0.80);
font-size: 12px;
padding: 1em;
display: none;
}
.back-to-top:hover {
background-color: rgba(135, 135, 135, 0.50);
}
< / style >
< div class = "back-to-top" >
< a href = "#top" > Back to top< / a > | < a href = "mailto:bob@freedombone.net" > E-mail me< / a >
< / div >
< / div >
< / body >
< / html >