annotate mcabber/doc/guide/guide.tex @ 2362:64de2d6858b0

Documentation: Fix missing .png extension in \includegraphics Patch from the Debian package.
author Mikael Berthe <mikael@lilotux.net>
date Sun, 24 Oct 2021 18:22:01 +0200
parents 921429804e20
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1559
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
1 \documentclass[12pt,oneside,a4]{book}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
2 \usepackage{hyperref}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
3 \usepackage{float}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
4 \usepackage{listings}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
5 \usepackage{graphicx}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
6 \usepackage{multirow}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
7 \title{Mcabber User Guide}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
8 \author{franky}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
9 \begin{document}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
10 \maketitle
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
11 \tableofcontents
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
12 \chapter*{Introduction}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
13 This guide was written for users who are new to mcabber\cite{mcabber} which is a small
1759
921429804e20 Update documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1559
diff changeset
14 command line client for the Jabber (XMPP) protocol\cite{jabber} as an introduction. This introduction may
1559
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
15 become a comprehensive guide to every aspect of mcabber later, but the first versions should only be
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
16 regarded as an overview of all features. Feel free to bug me with corrections of spelling errors or
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
17 with contributions to the content.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
18 \paragraph{Conventions used in this guide:\\}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
19 \begin{tabular}{ c p{10cm} }
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
20 \verb+/command+ & This is a command for mcabber which can only be executed during runtime.\\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
21 \verb+command+ & A command for mcabber which can be given in the configuration file, too.\\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
22 \verb+$command+ & The \$-sign precedes shell commands.\\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
23 \textit{variable} & This is a variable which can be set in the configuration file or during runtime. \\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
24 \end{tabular}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
25 \chapter{Basic Usage}
1759
921429804e20 Update documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1559
diff changeset
26 After installing mcabber, you should create a configuration file first.\\
921429804e20 Update documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1559
diff changeset
27 The easiest way of doing this is to copy the sample configuration file\cite{samplerc} to
921429804e20 Update documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1559
diff changeset
28 \~{}/.mcabber/mcabberrc. Then, you only have to change the variable
921429804e20 Update documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1559
diff changeset
29 \textit{jid} before you can, finally, start mcabber. When the Login is
921429804e20 Update documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1559
diff changeset
30 successful, mcabber might look similar to the following screenshot:\\
1559
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
31 \begin{figure}[h!]
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
32 \centering
2362
64de2d6858b0 Documentation: Fix missing .png extension in \includegraphics
Mikael Berthe <mikael@lilotux.net>
parents: 1759
diff changeset
33 \includegraphics[scale=0.8]{guide.png}
1559
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
34 \caption{screenshot of mcabber}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
35 \label{fig:screenshot}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
36 \end{figure}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
37 The screen is divided into 4 regions: The roster(sometimes called buddy list) in the upper left,
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
38 the chat window/buffer in the upper right, the input line at the bottom and the log window above the
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
39 input line. Those two blue lines which are below and above the log window are status lines. The lower one
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
40 displays the general mcabber status and the upper line the status of the selected contact.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
41 The screenshot shows mcabber in "chat mode" which can be entered by pressing enter or sending a message
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
42 when a contact is selected. Leaving chatmode is done by pressing Esc. To move between your contacts, you
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
43 can use the buttons Pg Up/Pg Down. If you look at the roster of the screenshot, you will notice that the
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
44 contact "loic" is marked red. That's the default for the "unread" color, so "loic" sent a message to
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
45 you, but you have not read it, yet. Moving by pressing Pg Down would need 6 key presses, so it might be faster to use
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
46 \verb+/roster unread_next+ to quickly jump to the next unread buffer. Which brings us to the interface of mcabber.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
47 Since mcabber has only one input line, there has to be some way of distinguishing mcabber commands from normal text
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
48 messages. As you might have guessed already, all mcabber commands start with a slash, while any other line which you
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
49 have entered will be sent as a message to the selected buddy. You won't find a complete list of all commands here,
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
50 since mcabber has already got a great help system. It's at your fingertips when you enter \verb+/help+.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
51 Furthermore, you can choose the language of the help system by setting \textit{lang} to de, en, fr, it, nl, pl, ru or uk.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
52 \section{Multi-user Chat}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
53 Jabber offers more than other one-on-one chats. There is an extension\cite{xep45} which adds many-to-many chat,
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
54 very similar to systems like IRC. Mcabber can participate through the command \verb+/room+. If you happen to
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
55 find big rooms, you should play a bit with \verb+/color muc+ to make the conversation more readable.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
56 Last but not least, you might be interested in the channel mcabber@conf.lilotux.net as a new mcabber user.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
57 Feel free to drop by and tell us about your experiences with mcabber or this guide!
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
58 \section{Transports}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
59 Transports, also known as Gateways, are Jabber server components which are used for translating your Jabber messages
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
60 for proprietary networks like ICQ, AIM or MSN. At the time of writing, mcabber can't register transports, but,
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
61 if you've registered a transport with another client, you'll be able to use them within mcabber.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
62 Transports are, basically, just another contact on your roster. Thus, using transports is done by sending your status,
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
63 maybe explicitly with \verb+/status_to+.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
64 \section{Symbols}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
65 Most users may be puzzled when they see all those different characters in the roster, the status bar and
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
66 in the chat window for the first time. Some of those symbols might be obvious, but others aren't descriptive at all.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
67 So, here is a list of all characters and their meanings, structured per window where they were taken from. \\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
68 \begin{tabular}{c c}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
69 \begin{tabular}{|c | l|}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
70 \hline
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
71 \multicolumn{2}{|c|}{Roster}\\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
72 \hline
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
73 Symbols & Rosteritem \\ \hline
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
74 \verb+---+ & unfolded Group \\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
75 \verb-+++- & folded Group \\ \hline
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
76 \verb+[ ]+ & buddy or chat room(MUC) \\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
77 \verb+{ }+ & buddy who can't see your status \\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
78 \verb- + - & buddy is typing \\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
79 \verb+ . + & buddy stopped typing \\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
80 \verb+ _ + & buddy status: offline \\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
81 \verb+ o + & buddy status: online \\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
82 \verb+ a + & buddy status: away \\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
83 \verb+ d + & buddy status: do not disturb \\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
84 \verb+ n + & buddy status: not available\\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
85 \verb+ f + & buddy status: free for chat \\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
86 \verb+ ? + & buddy status unknown \\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
87 \verb+ x + & muc status: not connected \\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
88 \verb+ C + & muc status: connected \\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
89 \hline
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
90 \end{tabular}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
91 &
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
92 \begin{tabular}{|c | l|}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
93 \hline
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
94 \multicolumn{2}{|c|}{Chat Window} \\ \hline
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
95 Symbols & Meaning \\ \hline
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
96 \verb+-->+ & sent message \\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
97 \verb+<==+ & received message \\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
98 \verb+~+ & message was encrypted with GPG\\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
99 \verb+O+ & message was encrypted with OTR\\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
100 \verb+***+ & info message \\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
101 \verb+#<#+ & error message \\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
102 \hline
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
103 %\end{tabular}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
104 %\begin{tabular}{|c | l|}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
105 % \hline
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
106 \multicolumn{2}{|c|}{Upper Status Line} \\ \hline
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
107 Symbols & Meaning \\ \hline
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
108 \verb+~+ & chat mode enabled \\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
109 \verb+*+ & buffer is scroll-locked \\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
110 \verb+[C]+ & chatstate: composing \\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
111 \verb+[A]+ & chatstate: active \\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
112 \verb+[I]+ & chatstate: inactive \\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
113 \verb+[P]+ & chatstate: paused \\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
114 \verb+[G]+ & chatstate: gone \\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
115 \hline
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
116 \end{tabular}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
117 \end{tabular}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
118 \chapter{Logging}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
119 Some people write their diaries to remember special moments. Others merely save their chat logs,
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
120 which are often full of personal details, too. Of course, mcabber can keep your chat history
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
121 and fortunately, the format of these logs is easy enough to read with your
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
122 favourite text editor. Moreover, searching is possible with standard unix tools like \verb+$grep+.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
123 \section{Enable Logging}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
124 To enable logging, you'll have to add some lines to your configuration file:
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
125 \begin{lstlisting}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
126 set logging = 1
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
127 set load_logs = 1
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
128 \end{lstlisting}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
129 Those variables tell mcabber to log the chat history and to load old logs when you restart it.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
130 Please note that there are a lot of other variables affecting logging. You can e.g. choose whether
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
131 you want to log Multi-user Chats(\textit{log\_muc\_conf}) or whether you want to log status changes(\textit{logging\_ignore\_status}).
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
132 You'll find them all in the sample configuration file\cite{samplerc} if you search for "History Logging".
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
133 \section{Grouping logs}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
134 If you know other instant messengers, you might be used to a concept called "metacontacts".
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
135 They can be used to group users, which have multiple representations in your
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
136 roster (e.g. because they have work and home accounts). Unfortunately, mcabber doesn't support
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
137 metacontacts yet, but at least you can group the history of different contacts together.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
138 This basically works by merging those histories and then creating a symlink frome one to the other.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
139 Here's an example with the histories of foo\_work@jabber.org ond foo\_home@jabber.org:
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
140 \begin{lstlisting}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
141 $ cd ~/.mcabber/histo/
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
142 $ merge_history.py foo_work@jabber.org foo_home@jabber.org > foo
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
143 $ mv foo foo_home@jabber.org
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
144 $ rm foo_work@jabber.org
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
145 $ ln -sf foo_home@jabber.org foo_work@jabber.org
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
146 \end{lstlisting}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
147 The script merge\_history.py is included in the mcabber tarball.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
148 \section{Converting centerim logs}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
149 You've got old centericq\cite{centericq} or centerim\cite{centerim} logs and want to keep
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
150 them in mcabber? There's a script called cicq2mcabber.pl in the contrib directory of the mcabber
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
151 tarball which can be used to do that. Now you only have to figure out where exactly
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
152 centerim saves the history of a particular contact(somewhere under \~{}/.centerim/),
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
153 convert this file to the mcabber history format and save it to \~{}/.mcabber/histo/ with the
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
154 Jabber ID as the filename.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
155 \chapter{Scripting}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
156 This chapter will introduce you to the scripting facilities of mcabber.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
157 \section{Aliases}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
158 Aliases are used to map complex commands to a word. \verb+/roster search+ is one of the commands worth remapping
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
159 because it will be used every day. If you want to remap it to \verb+/rs+,
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
160 issue the command \verb+alias rs = roster search+.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
161 \section{Internal Hooks}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
162 Internal Hooks can be used to let mcabber execute commands when a special event occurs.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
163 At the time of this writing, only 2 hooks were defined:
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
164 \begin{itemize}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
165 \item \textit{hook-post-connect}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
166 \item \textit{hook-pre-disconnect}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
167 \end{itemize}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
168 The time of the execution is self-explaining, just set those variables to the command you want
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
169 to execute.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
170 \section{External scripts}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
171 Mcabber will execute the external script specified in the variable \textit{events\_command} whenever a new
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
172 message is received. It will be called at least with 3 parameters:
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
173 \begin{enumerate}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
174 \item MSG or STATUS
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
175 \item IN, OUT or MUC if the first argument was MSG or one character of "\_OFDNAI" if the first argument was STATUS
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
176 \item The JID which triggered the event
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
177 \item (optional) filename of the file which contains the message body
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
178 \end{enumerate}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
179 If you need the message body for your event script, you'll have to set the option \textit{event\_log\_files} to 1.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
180 The script has to delete that file after it processed it. To execute mcabber commands,
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
181 you'll have to compile mcabber with FIFO support(\verb+$./configure --enable-fifo+). Then activate it by setting the
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
182 variable \textit{fifo\_name} to the filename of the fifo in your config file. There will be some verbose debug
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
183 output in the logging window if you don't set the variable \textit{fifo\_hide\_output} to 1.\\
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
184 There is another variable which might be interesting for the developer of external scripts.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
185 If \textit{statefile} is set to a filename, mcabber saves the JIDs of all unread buffers to that file, one per line.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
186 \chapter{Encryption}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
187 Encryption is one of the greatest advantages of Jabber compared to similar
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
188 "legacy" networks like ICQ, MSN, AIM, etc. With encryption, you'll be able
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
189 to communicate in hostile network environments with a clear conscience,
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
190 because almost nobody will be able to spy on you. Practically, every connection
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
191 which is established when using the Jabber protocol could be encrypted.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
192 First of all, you can connect to your Jabber server via ssl, which will
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
193 prevent anyone between you and the server from sniffing your plaintext
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
194 messages or your password. In mcabber you could enable this feature by adding
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
195 \begin{lstlisting}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
196 set ssl = 1
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
197 set ssl_verify = -1
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
198 \end{lstlisting}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
199 to your configuration file.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
200 The next step is server to server encryption, which you can't control,
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
201 unless you're the admin of your server. So, theoretically it would be possible
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
202 to spy between Jabber servers, or maybe your buddy doesn't use an ssl
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
203 connection. Of course, if you are truly paranoid, you won't trust the
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
204 server admins but only your buddy. So, to encrypt messages between you and your
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
205 buddy, end-to-end encryption can be used. There are two protocols for
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
206 accomplishing this: The first one is OpenPGP/GnuPG, which is a semi standard\cite{xep27}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
207 in the Jabber world. The other protocol is Off-the-Record(OTR) Messaging, which was
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
208 designed by cryptographers Ian Goldberg and Nikita Borisov\cite{otr}. Although OTR
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
209 isn't a standard, a lot of developers have implemented it for their instant
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
210 messaging clients. The main reason might be the availability of libotr\cite{libotr},
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
211 an open-source library from the authors of OTR which does all the hard work.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
212 GnuPG is considered to be more mature, but it also has a major drawback:
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
213 You can't encrypt messages between Jabber and legacy networks. Because
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
214 naturally, the clients of other networks won't support Jabber extensions.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
215 OTR can fill that gap, because it only uses the message body as an envelope
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
216 for the whole protocol.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
217
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
218 I will now describe in detail how to use both protocols with mcabber.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
219 \section{OpenPGP}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
220 First of all, I'm assuming that you've already generated a gnupg key
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
221 which you want to use to encrypt Jabber messages. If you haven't done
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
222 this before, go to \url{http://gnupg.org/documentation/} first.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
223
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
224 Using PGP encryption with mcabber should be straight-forward, but you have to
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
225 restart mcabber for configuring it. To enable PGP for mcabber, you must
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
226 add two lines to your configuration file:
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
227 \begin{lstlisting}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
228 set pgp = 1
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
229 set pgp_private_key = 23DEADBEEFDEAD42
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
230 \end{lstlisting}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
231 The first one enables OpenPGP and the second line tells mcabber which PGP key it
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
232 should use. If you didn't notice: This hexadecimal number is the last
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
233 characters of your PGP key fingerprint, get it with
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
234 \verb+gpg --fingerprint+\verb+ --list-secret-keys+.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
235 If you have no problems writing your passphrase to your hard disk, you could
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
236 also set the variable \textit{pgp\_passphrase} in your config file. Otherwise mcabber will
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
237 ask you for your passphrase at every start-up.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
238 From now on, mcabber will magically use PGP encryption whenever it can.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
239 Basically this works because presence messages of users using PGP are signed
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
240 with their key. If you happen to have a contact whose Jabber client doesn't
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
241 conform to that part of the standard, you can manually give mcabber their key
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
242 fingerprint:
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
243 \begin{lstlisting}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
244 pgp setkey foo@bar.net D9940C9BB1B92310
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
245 \end{lstlisting}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
246 \section{OTR}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
247 Enabling OTR in mcabber works in almost the same manner as PGP. But instead of
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
248 generating your encryption key by hand, mcabber will create one for you when
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
249 it starts. This might take some time and you can speed it up by generating
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
250 randomness by typing, moving the mouse, writing to hard disk etc.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
251 But first of all, you must add the following lines to your configuration file
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
252 and restart mcabber:
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
253 \begin{lstlisting}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
254 set otr = 1
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
255 otrpolicy default manual
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
256 \end{lstlisting}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
257 The first line is analogous to PGP. The second one gives the OTR subsystem
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
258 the hint that you want to be able to start encrypted OTR channels
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
259 manually(by issuing \verb+/otr start+). If you want that they are also "magically" started, you should
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
260 change \verb+manual+ to \verb+opportunistic+. The opportunistic mode adds some whitespace
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
261 characters to the first message sent to a buddy. So, his client can find those
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
262 characters and establish an OTR channel. Please note that "establishing" the
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
263 channel could take some time, depending on the delay of exchanging messages
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
264 between both ends. (For the technically inclined: Four messages have to be sent
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
265 before the channel is fully established. The whole protocol is described in
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
266 detail at \url{http://www.cypherpunks.ca/otr/Protocol-v2-3.1.0.html})
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
267
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
268 Keep in mind that an established channel with a buddy isn't per se secure. It
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
269 could be possible that you become a victim of a Man-in-the-middle attack. To
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
270 make it secure, you'll have to exchange the fingerprints of the keys through
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
271 a trusted medium (telephone, in person, etc). You can see your own fingerprint
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
272 by using the command \verb+/otr key+ and the fingerprint of your chat buddy by
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
273 \verb+/otr fingerprint+. Check \verb+/help otr+ to find out how to trust the fingerprint now.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
274 There is even another way for exchanging fingerprints: The Socialist Millionaires'
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
275 Protocol\cite{smp}. It's basically a cryptographic secure way for two parties with the
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
276 secret information x and y to check whether x==y without revealing any
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
277 information about the secrets. Unfortunately there aren't many clients
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
278 supporting that feature yet. In mcabber it is mapped to the commands
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
279 \verb+/otr smpq bob@foo.net your_secret+ for the initiating party and
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
280 \verb+/otr smpr alice@foo.net your_secret+ for the answering party. If both parties supply
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
281 the same secret, the fingerprints can be marked trusted.
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
282 \bibliographystyle{plain}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
283 \bibliography{guide}
0674abda9a8f Add Franky's mcabber user guide
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
284 \end{document}