84
92
==== Abhängigkeiten
86
folgende Tabelle beschreibt, welche Pakete zwingend notwendig sind um WeeChat zu kompilieren und
87
welche Pakete optional genutzt werden können.
94
folgende Tabelle beschreibt, welche Pakete zwingend notwendig sind um WeeChat
95
zu kompilieren und welche Pakete optional genutzt werden können.
89
97
[width="100%",cols="5,^3,^3,.^13",options="header"]
91
| Paket ^(1)^ | Version | benötigt | Funktion
92
| cmake | | *ja* | Zum kompilieren (autotools ist möglich. cmake wird aber empfohlen)
93
| pkg-config | | *ja* | entdeckt installierte Bibliotheken
94
| libncursesw5-dev ^(2)^ | | *ja* | Ncurses Oberfläche
95
| libcurl4-gnutls-dev | | *ja* | URL Transfer
96
| zlib1g-dev | | *ja* | Kompression für Pakete, die mittels Relay- (WeeChat Protokoll), Script-Erweiterung übertragen werden
97
| libgcrypt20-dev | | *ja* | Geschützte Daten, IRC SASL Authentifikation (DH-BLOWFISH/DH-AES), Skript-Erweiterung
98
| libgnutls28-dev | ≥ 2.2.0 | | SSL Verbindung zu einem IRC Server, Unterstützung von SSL in der Relay-Erweiterung
99
| gettext | | | Internationalisierung (Übersetzung der Mitteilungen; Hauptsprache ist englisch)
100
| ca-certificates | | | Zertifikate für SSL Verbindungen
101
| libaspell-dev oder libenchant-dev | | | Aspell Erweiterung
102
| python-dev | ≥ 2.5 ^(3)^ | | Python Erweiterung
103
| libperl-dev | | | Perl Erweiterung
104
| ruby2.1-dev | ≥ 1.8 | | Ruby Erweiterung
105
| liblua5.2-dev | | | Lua Erweiterung
106
| tcl-dev | ≥ 8.5 | | Tcl Erweiterung
107
| guile-2.0-dev | ≥ 2.0 | | Guile (scheme) Erweiterung
108
| asciidoc | ≥ 8.5.0 | | Zum Erstellen der man page und der Dokumentation
109
| source-highlight | | | Syntax Highlight für Quelltext in Dokumentation
111
docbook-xml, docbook-xsl | | | Erstellt man page
112
| libcpputest-dev | ≥ 3.4 | .2+| Testlauf
99
| Paket ^(1)^ | Version | benötigt | Funktion
102
Zum kompilieren (autotools ist möglich. cmake wird aber empfohlen)
104
| pkg-config | | *ja* |
105
entdeckt installierte Bibliotheken
107
| libncursesw5-dev ^(2)^ | | *ja* |
110
| libcurl4-gnutls-dev | | *ja* |
113
| zlib1g-dev | | *ja* |
114
Kompression für Pakete, die mittels Relay- (WeeChat Protokoll),
115
Script-Erweiterung übertragen werden
117
| libgcrypt20-dev | | *ja* |
118
Geschützte Daten, IRC SASL Authentifikation (DH-BLOWFISH/DH-AES),
121
| libgnutls28-dev | ≥ 2.2.0 ^(3)^ | |
122
SSL Verbindung zu einem IRC Server, Unterstützung von SSL in der
123
Relay-Erweiterung, IRC SASL Authentifikation (ECDSA-NIST256P-CHALLENGE)
126
Internationalisierung (Übersetzung der Mitteilungen; Hauptsprache ist
129
| ca-certificates | | |
130
Zertifikate für SSL Verbindungen
132
| libaspell-dev oder libenchant-dev | | |
135
| python-dev | ≥ 2.5 ^(4)^ | |
141
| ruby2.1-dev | ≥ 1.8 | |
144
| liblua5.2-dev | | |
147
| tcl-dev | ≥ 8.5 | |
150
| guile-2.0-dev | ≥ 2.0 | |
151
Guile (scheme) Erweiterung
153
| libv8-dev | ≤ 3.24.3 | |
154
Javascript Erweiterung
156
| asciidoc | ≥ 8.5.0 | |
157
Zum Erstellen der man page und der Dokumentation
159
| source-highlight | | |
160
Syntax Highlight für Quelltext in Dokumentation
162
| xsltproc, docbook-xml, docbook-xsl | | |
165
| libcpputest-dev | ≥ 3.4 | |
169
Testlauf, javascript Erweiterung
117
^(1)^ Paketnamen wurden von der Debian GNU/Linux Distribution übernommen. Versionen und Paketnamen
118
können für andere Distributionen abweichend sein. +
119
^(2)^ WeeChat kann auch mit libncurses5-dev kompiliert werden. Dies wird aber *NICHT* empfohlen (es
120
treten dabei Darstellungsfehler mit breiten Zeichen auf). +
121
^(3)^ Die empfohlene Version ist 2.7 (alle Skripten laufen mit der Version 2.7,
173
^(1)^ Paketnamen wurden von der Debian GNU/Linux Distribution übernommen.
174
Versionen und Paketnamen können für andere Distributionen abweichend sein. +
175
^(2)^ WeeChat kann auch mit libncurses5-dev kompiliert werden. Dies wird aber
176
*NICHT* empfohlen (es treten dabei Darstellungsfehler mit breiten Zeichen
178
^(3)^ Gnutls ≥ 3.0.21 wird benötigt um eine IRC SASL Authentifizierung mittels
179
ECDSA-NIST256P-CHALLENGE durchzuführen. +
180
^(4)^ Die empfohlene Version ist 2.7 (alle Skripten laufen mit der Version 2.7,
122
181
aber nicht mit Version ≤ 2.6 oder ≥ 3.0).
124
183
[[compile_with_cmake]]
237
299
kompiliert <<scripts_plugins,Script Erweiterung>>.
239
301
| ENABLE_SCRIPTS | `ON`, `OFF` | ON |
240
kompiliert <<scripts_plugins,Skripten-Erweiterungen>> (Python, Perl, Ruby, Lua, Tcl,
302
kompiliert <<scripts_plugins,Skripten-Erweiterungen>> (Python, Perl, Ruby,
303
Lua, Tcl, Guile, Javascript).
243
305
| ENABLE_TCL | `ON`, `OFF` | ON |
244
306
kompiliert <<scripts_plugins,Tcl Erweiterung>>.
801
859
Einige Beispiele, wie die Bar 'nicklist' dargestellt werden kann:
804
┌──────────────────────────────────────────────────┐
805
│Welcome to #test, this is a test channel │
806
│12:54:15 peter | hey! │@carl │
807
│12:55:01 +Max | hello │@jessika│
819
│[12:55] [6] [irc/freenode] 3:#test(+n){24} │
821
└──────────────────────────────────────────────────┘
822
filling_left_right = vertical ▲
862
┌───────────────────────────────────────────────────────────────────────┐
863
│Welcome to #test, this is a test channel │
864
│12:54:15 peter | hey! │@carl │
865
│12:55:01 +Max | hello │@jessika│
877
│[12:55] [6] [irc/freenode] 3:#test(+n){24} │
879
└───────────────────────────────────────────────────────────────────────┘
880
filling_left_right = vertical ▲
824
┌──────────────────────────────────────────────────┐
825
│Welcome to #test, this is a test channel │
826
│12:54:15 peter | hey! │@carl lee │
827
│12:55:01 +Max | hello │@jessika louise │
839
│[12:55] [6] [irc/freenode] 3:#test(+n){24} │
841
└──────────────────────────────────────────────────┘
842
filling_left_right = columns_vertical ▲
882
┌───────────────────────────────────────────────────────────────────────┐
883
│Welcome to #test, this is a test channel │
884
│12:54:15 peter | hey! │@carl lee │
885
│12:55:01 +Max | hello │@jessika louise │
897
│[12:55] [6] [irc/freenode] 3:#test(+n){24} │
899
└───────────────────────────────────────────────────────────────────────┘
900
filling_left_right = columns_vertical ▲
844
902
┌───────────────────────────────────────────────────────────────────────┐
845
903
│@carl %Diego celia Harold^ jodie mario Rachel Vince │
912
970
Status, Input, ...)
913
971
* die Mausunterstützung ist deaktiviert (sofern sie aktiviert war): die Maus kann
914
972
wie in einem Terminal genutzt werden um URLs anzuklicken oder Text zu markieren
915
* ncurses wird nicht genutzt, deshalb werden URLs nicht am Ende der Zeile angeschnitten.
973
* ncurses wird nicht genutzt, deshalb werden URLs am Ende der Zeile nicht abgeschnitten.
917
975
Der Standardtastenbefehl um den vereinfachten Textmodus zu aktivieren ist key[alt-l],
918
mit dem selben Tastenbefehl wird dieser Modus wieder beendet (es kann auch mit jeder
919
beliegen Tasteneingabe der Modus beendet werden, siehe Option
976
mit dem selben Tastenbefehl wird dieser Modus wieder beendet (dieser Modus kann auch
977
mit jeder beliegen Tasteneingabe beendet werden, siehe Option
920
978
<<option_weechat.look.bare_display_exit_on_input,weechat.look.bare_display_exit_on_input>>).
922
980
Das Format für die Zeitanzeige kann mit folgender Option angepasst werden
2225
2284
* 'sasl_mechanism': Mechanismus welcher genutzt werden soll (siehe oben)
2226
2285
* 'sasl_timeout': Zeitüberschreitung für Authentifizierung (in Sekunden)
2286
* 'sasl_fail': auszuführende Aktion falls die SASL Authentifizierung fehlschlägt
2227
2287
* 'sasl_username': Username (Nickname)
2228
2288
* 'sasl_password': Passwort
2289
* 'sasl_key': Datei mit privatem ECC Schlüssel (für den
2290
'ecdsa-nist256p-challenge' Mechanismus)
2292
[[irc_sasl_ecdsa_nist256p_challenge]]
2293
===== SASL ECDSA-NIST256P-CHALLENGE
2295
Es muss ein privater Schlüssel erstellt werden um sich mittels des
2296
ECDSA-NIST256P-CHALLENGE Mechanismus authentifizieren zu können (es wird
2297
dadurch kein Passwort während des Verbindungsaufbaus benötigt).
2299
Ein Schlüssel kann mit folgendem Befehl erzeugt werden:
2302
$ openssl ecparam -genkey -name prime256v1 >~/.weechat/ecdsa.pem
2305
Um den öffentlichen Schlüssel zu erhalten (base64 enkodiert) muss
2306
folgender Befehl ausgeführt werden:
2309
$ openssl ec -noout -text -conv_form compressed -in ~/.weechat/ecdsa.pem | grep '^pub:' -A 3 | tail -n 3 | tr -d ' \n:' | xxd -r -p | base64
2312
Nun Verbindung zum Server herstellen, identifizieren (z.B. mittels "nickserv identify")
2313
und den öffentlichen Schlüssel für den eigenen Zugang festlegen (der base64 Schlüssel
2314
im Beispiel muss durch den eigenen öffentlichen Schlüssel ersetzt werden:
2318
/msg nickserv identify your_password
2319
/msg nickserv set pubkey Av8k1FOGetUDq7sPMBfufSIZ5c2I/QYWgiwHtNXkVe/q
2322
Konfiguration der SASL Optionen des Servers:
2325
/set irc.server.freenode.sasl_mechanism ecdsa-nist256p-challenge
2326
/set irc.server.freenode.sasl_username "your_nickname"
2327
/set irc.server.freenode.sasl_key "%h/ecdsa.pem"
2330
Erneut mit dem Server verbinden:
2230
2336
[[irc_tor_freenode]]
2231
2337
==== Verbindung zu Freenode mittels TOR/SASL herstellen
3211
3322
| command | string | IRC Befehl (Beispiel: "PRIVMSG", "NOTICE", ...)
3212
3323
| channel | string | IRC Channel
3213
3324
| arguments | string | Argumente des Befehls (Beinhaltet Wert von 'channel')
3325
| text | string | Text (zum Beipiel eine Nachricht eines Users)
3326
| pos_command | string | Index von 'command' innerhalb einer Nachricht ("-1" falls 'command' nicht gefunden wird)
3327
| pos_arguments | string | Index von'arguments' innerhalb einer Nachricht ("-1" falls 'arguments' nicht gefunden wird)
3328
| pos_channel | string | Index von 'channel' innerhalb einer Nachricht ("-1" falls 'channel' nicht gefunden wird)
3329
| pos_text | string | Index von 'text' innerhalb einer Nachricht ("-1" falls 'text' nicht gefunden wird)
3332
Sofern es sich bei den Daten um einen Pointer handelt, kann die Variable `tg_signal_data`
3333
wie im folgenden Beispiel genutzt werden um den Inhalt von hdata zu lesen (im Beispiel
3334
wird der Pointer eines Buffer verwendet):
3337
${buffer[${tg_signal_data}].full_name}
3216
3340
[[trigger_data_hsignal]]