From c17d3e155ca4b339de9b863087422b943bf1410b Mon Sep 17 00:00:00 2001 From: Sebastien Helleu Date: Sat, 23 Feb 2013 08:33:38 +0100 Subject: [PATCH] relay: add support of multiple servers on same port for irc protocol (the client must send the server in the "PASS" command) --- ChangeLog | 4 +- doc/asciidoc.css | 2 +- doc/de/autogen/user/relay_commands.txt | 48 ++++--- doc/de/weechat_user.de.txt | 99 +++++++------ doc/en/autogen/user/relay_commands.txt | 4 +- doc/en/weechat_user.en.txt | 96 +++++++------ doc/fr/autogen/user/relay_commands.txt | 4 +- doc/fr/weechat_user.fr.txt | 107 ++++++++------ doc/it/autogen/user/relay_commands.txt | 4 +- doc/it/weechat_user.it.txt | 98 +++++++------ doc/ja/autogen/user/relay_commands.txt | 48 ++++--- doc/ja/weechat_user.ja.txt | 90 +++++++----- po/cs.po | 58 ++------ po/de.po | 192 ++----------------------- po/es.po | 63 ++------ po/fr.po | 30 ++-- po/hu.po | 62 ++------ po/it.po | 57 ++------ po/ja.po | 56 ++------ po/pl.po | 59 ++------ po/pt_BR.po | 56 ++------ po/ru.po | 64 ++------- po/weechat.pot | 22 +-- src/plugins/relay/irc/relay-irc.c | 41 +++++- src/plugins/relay/relay-client.h | 1 + src/plugins/relay/relay-command.c | 7 +- src/plugins/relay/relay-config.c | 8 -- 27 files changed, 529 insertions(+), 851 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5204099c4..1e5792f43 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,7 @@ WeeChat ChangeLog ================= Sébastien Helleu -v0.4.1-dev, 2013-02-20 +v0.4.1-dev, 2013-02-23 This document lists all changes for each version. @@ -40,6 +40,8 @@ Version 0.4.1 (under dev!) * irc: add color in output of /names when result is on server buffer (channel not joined) (bug #38070) * perl: simplify code to load scripts +* relay: add support of multiple servers on same port for irc protocol (the + client must send the server in the "PASS" command) * relay: add websocket server support (RFC 6455) for irc and weechat protocols, new option relay.network.websocket_allowed_origins * relay: add options "buffers" and "upgrade" for commands sync/desync in weechat diff --git a/doc/asciidoc.css b/doc/asciidoc.css index ca7b331ba..2ad84d099 100644 --- a/doc/asciidoc.css +++ b/doc/asciidoc.css @@ -5,7 +5,7 @@ div.sectionbody { font-family: serif,Helvetica,arial; } h1, h2, h3, h4, h5, h6 { - margin: 0.6em 0 0.6em 0; + margin: 1em 0 0.6em 0; } h5 { diff --git a/doc/de/autogen/user/relay_commands.txt b/doc/de/autogen/user/relay_commands.txt index 62fd51502..82433e6d1 100644 --- a/doc/de/autogen/user/relay_commands.txt +++ b/doc/de/autogen/user/relay_commands.txt @@ -7,37 +7,39 @@ raw sslcertkey - list: Auflistung der Relay-Clients (nur aktive Relays) - listfull: detaillierte Auflistung der Relay-Clients (alle Relays) - listrelay: Auflistung der Relays (Name und Port) - add: fügt ein Relay, für ein Protokoll + Name, hinzu - del: entfernt Relay für ein Protokoll + Name - ipv4: erzwingt die Nutzung von IPv4 - ipv6: erzwingt die Nutzung von IPv6 - ssl: aktiviert SSL -protocol.name: Protokoll und Name des Relay: - - Protokoll "irc": und der Name des Servers welcher geteilt werden soll - - Protokoll "weechat" (Name wird nicht unterstützt) - port: Port den das Relay nutzen soll - raw: öffnet Buffer mit RAW-Relay Daten - sslcertkey: setzt SSL Zertifikat/Schlüssel mittels Eintrag in Option relay.network.ssl_cert_key + list: list relay clients (only active relays) + listfull: list relay clients (verbose, all relays) + listrelay: list relays (name and port) + add: add relay for a protocol + name + del: remove relay for a protocol + name + ipv4: force use of IPv4 + ipv6: force use of IPv6 + ssl: enable SSL +protocol.name: protocol and name to relay: + - protocol "irc": name is the server to share (optional, if not given, the server name must be sent by client in command "PASS", with format: "PASS server:password") + - protocol "weechat" (name is not used) + port: port used for relay + raw: open buffer with raw Relay data + sslcertkey: set SSL certificate/key using path in option relay.network.ssl_cert_key -Ohne Angabe von Argumenten werden alle Relay-Clients in einem neuen Buffer dargestellt. +Without argument, this command opens buffer with list of relay clients. -Beispiele: - IRC Proxy für Server "freenode": +Examples: + irc proxy, for server "freenode": /relay add irc.freenode 8000 - IRC Proxy, für Server "freenode", mit SSL: + irc proxy, for server "freenode", with SSL: /relay add ssl.irc.freenode 8001 - WeeChat Protokoll: + irc proxy, for all servers (client will choose), with SSL: + /relay add ssl.irc 8002 + weechat protocol: /relay add weechat 9000 - WeeChat Protokoll, mit SSL: + weechat protocol with SSL: /relay add ssl.weechat 9001 - WeeChat Protokoll, mit SSL, nur IPv4 nutzen: + weechat protocol with SSL, using only IPv4: /relay add ipv4.ssl.weechat 9001 - WeeChat Protokoll, mit SSL, nur IPv6 nutzen: + weechat protocol with SSL, using only IPv6: /relay add ipv6.ssl.weechat 9001 - WeeChat Protokoll, mit SSL, mit IPv4 + IPv6: + weechat protocol with SSL, using IPv4 + IPv6: /relay add ipv4.ipv6.ssl.weechat 9001 ........................................ diff --git a/doc/de/weechat_user.de.txt b/doc/de/weechat_user.de.txt index 521a66468..30ea82e47 100644 --- a/doc/de/weechat_user.de.txt +++ b/doc/de/weechat_user.de.txt @@ -2329,49 +2329,22 @@ Befehle include::autogen/user/relay_commands.txt[] -[[relay_irc_proxy]] -IRC proxy -^^^^^^^^^ +// TRANSLATION MISSING +[[relay_password]] +Password +^^^^^^^^ -Die Relay-Erweiterung verhält sich wie ein IRC Proxy: Es kann ein Port als IRC Server -definiert und ein Passwort für Clients genutzt werden. - -Beispiel: - ----------------------------------------- -/set relay.network.password "mein Passwort" -/relay add irc.freenode 8000 ----------------------------------------- - -Nun kann mittels eines IRC Clients (WeeChat, XChat, irssi, ...) am Port 8000 und dem -Server-Passwort "mein Passwort" eine Verbindung hergestellt werden. - -Die Anzahl an erlaubten Clients kann limitiert werden: - ----------------------------------------- -/set relay.network.max_clients 1 ----------------------------------------- - -[[relay_weechat_protocol]] -WeeChat Protokoll -^^^^^^^^^^^^^^^^^ - -Die Relay-Erweiterung kann Daten, mittels dem WeeChat Protokoll, an eine -externe Oberfläche senden. - -Zum Beispiel: +It is highly recommended to set a password for relay, with command: ---------------------------------------- /set relay.network.password "meinPasswort" -/relay add weechat 9000 ---------------------------------------- -Nun kann man über den Port 9000 mittels einer Oberfläche (wie QWeeChat) -und dem Passwort "meinPasswort" eine Verbindung zu WeeChat herstellen. +This password is used for 'irc' and 'weechat' protocols. [[relay_ssl]] -Relay-Verbindung mittels SSL -^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +SSL +^^^ Man kann SSL mittels eines selbst erstellten Zertifikates und eines privaten Schlüssels nutzen. Um SSL für die Verbindung zu aktivieren stellt man dem @@ -2396,16 +2369,58 @@ Schlüssel mittels folgendem Befehl nachträglich geladen werden: /relay sslcertkey ---------------------------------------- -um dann die Relay-Verbindung, mit SSL Verschlüsselung, anzulegen: +// TRANSLATION MISSING +[[relay_irc_proxy]] +IRC proxy +^^^^^^^^^ + +The Relay plugin can act as an IRC proxy: it will simulate an IRC server, and +you can connect to WeeChat with any other IRC client (including WeeChat itself). + +You can define one port by IRC server, or one generic port for all servers. + +When using one port for all servers, the client must send the internal name of +server in the IRC "PASS" command, with this format: ---------------------------------------- -/relay add ssl.irc.freenode 8001 -/relay add ssl.weechat 9001 +PASS server:meinPasswort ---------------------------------------- +Example: IRC proxy with SSL for any server (client will choose): + +---------------------------------------- +/relay add ssl.irc 8000 +---------------------------------------- + +Example: IRC proxy without SSL only for server "freenode": + +---------------------------------------- +/relay add irc.freenode 8000 +---------------------------------------- + +Now you can connect on port 8000 with any IRC client using server password +"meinPasswort" (or "freenode:meinPasswort" if no server was specified in the +relay). + +[[relay_weechat_protocol]] +WeeChat Protokoll +^^^^^^^^^^^^^^^^^ + +Die Relay-Erweiterung kann Daten, mittels dem WeeChat Protokoll, an eine +externe Oberfläche senden. + +Zum Beispiel: + +---------------------------------------- +/relay add weechat 9000 +---------------------------------------- + +Nun kann man über den Port 9000 mittels einer Oberfläche und dem Passwort +"meinPasswort" eine Verbindung zu WeeChat herstellen. + // TRANSLATION MISSING [[relay_websocket]] -Websocket +WebSocket ^^^^^^^^^ WebSocket protocol (http://tools.ietf.org/html/rfc6455[RFC 6455]) is supported @@ -2420,11 +2435,11 @@ A WebSocket can be opened in a HTML5 with a single line of JavaScript: [source,js] ---------------------------------------- -websocket = new WebSocket("ws://server.com:5000/weechat"); +websocket = new WebSocket("ws://server.com:9000/weechat"); ---------------------------------------- -The port (5000 in example) is the port defined in Relay plugin. -The URI must always ends with "/weechat" (for both IRC and WeeChat protocols). +The port (9000 in example) is the port defined in Relay plugin. +The URI must always end with "/weechat" (for 'irc' and 'weechat' protocols). [[rmodifier_plugin]] Rmodifier Erweiterung diff --git a/doc/en/autogen/user/relay_commands.txt b/doc/en/autogen/user/relay_commands.txt index 4adae3435..b1a38a366 100644 --- a/doc/en/autogen/user/relay_commands.txt +++ b/doc/en/autogen/user/relay_commands.txt @@ -16,7 +16,7 @@ ipv6: force use of IPv6 ssl: enable SSL protocol.name: protocol and name to relay: - - protocol "irc": name is the server to share + - protocol "irc": name is the server to share (optional, if not given, the server name must be sent by client in command "PASS", with format: "PASS server:password") - protocol "weechat" (name is not used) port: port used for relay raw: open buffer with raw Relay data @@ -29,6 +29,8 @@ Examples: /relay add irc.freenode 8000 irc proxy, for server "freenode", with SSL: /relay add ssl.irc.freenode 8001 + irc proxy, for all servers (client will choose), with SSL: + /relay add ssl.irc 8002 weechat protocol: /relay add weechat 9000 weechat protocol with SSL: diff --git a/doc/en/weechat_user.en.txt b/doc/en/weechat_user.en.txt index 590994ca6..c455c0149 100644 --- a/doc/en/weechat_user.en.txt +++ b/doc/en/weechat_user.en.txt @@ -2269,7 +2269,7 @@ The Relay plugin is used to relay data via network, using different protocols: * 'irc': IRC proxy: used to share connections to IRC servers with one or many other IRC clients * 'weechat': protocol used by remote interfaces to display and interact with - WeeChat (for example QWeeChat) + WeeChat (for example QWeeChat or weechat-android) [[relay_options]] Options (relay.conf) @@ -2283,48 +2283,21 @@ Commands include::autogen/user/relay_commands.txt[] -[[relay_irc_proxy]] -IRC proxy -^^^^^^^^^ +[[relay_password]] +Password +^^^^^^^^ -The Relay plugin can act as an IRC proxy: you can define one port by IRC server -and use a password for clients. - -For example: +It is highly recommended to set a password for relay, with command: ---------------------------------------- /set relay.network.password "mypass" -/relay add irc.freenode 8000 ---------------------------------------- -Now you can connect on port 8000 with any IRC client (WeeChat, xchat, -irssi, ..), using server password "mypass". - -You can limit number of allowed clients: - ----------------------------------------- -/set relay.network.max_clients 1 ----------------------------------------- - -[[relay_weechat_protocol]] -WeeChat protocol -^^^^^^^^^^^^^^^^ - -The Relay plugin can send data to remote interface using WeeChat protocol. - -For example: - ----------------------------------------- -/set relay.network.password "mypass" -/relay add weechat 9000 ----------------------------------------- - -Now you can connect on port 9000 with a remote interface (like QWeeChat), -using password "mypass". +This password is used for 'irc' and 'weechat' protocols. [[relay_ssl]] -Relay with SSL -^^^^^^^^^^^^^^ +SSL +^^^ You can use SSL by creating a certificate and private key, and by using prefix "ssl." in the name of protocol. @@ -2347,15 +2320,54 @@ with command: /relay sslcertkey ---------------------------------------- -And then add relay with SSL, for example: +[[relay_irc_proxy]] +IRC proxy +^^^^^^^^^ + +The Relay plugin can act as an IRC proxy: it will simulate an IRC server, and +you can connect to WeeChat with any other IRC client (including WeeChat itself). + +You can define one port by IRC server, or one generic port for all servers. + +When using one port for all servers, the client must send the internal name of +server in the IRC "PASS" command, with this format: ---------------------------------------- -/relay add ssl.irc.freenode 8001 -/relay add ssl.weechat 9001 +PASS server:password ---------------------------------------- +Example: IRC proxy with SSL for any server (client will choose): + +---------------------------------------- +/relay add ssl.irc 8000 +---------------------------------------- + +Example: IRC proxy without SSL only for server "freenode": + +---------------------------------------- +/relay add irc.freenode 8000 +---------------------------------------- + +Now you can connect on port 8000 with any IRC client using server password +"mypass" (or "freenode:mypass" if no server was specified in the relay). + +[[relay_weechat_protocol]] +WeeChat protocol +^^^^^^^^^^^^^^^^ + +The Relay plugin can send data to remote interface using WeeChat protocol. + +For example: + +---------------------------------------- +/relay add weechat 9000 +---------------------------------------- + +Now you can connect on port 9000 with a remote interface using password +"mypass". + [[relay_websocket]] -Websocket +WebSocket ^^^^^^^^^ WebSocket protocol (http://tools.ietf.org/html/rfc6455[RFC 6455]) is supported @@ -2370,11 +2382,11 @@ A WebSocket can be opened in a HTML5 with a single line of JavaScript: [source,js] ---------------------------------------- -websocket = new WebSocket("ws://server.com:5000/weechat"); +websocket = new WebSocket("ws://server.com:9000/weechat"); ---------------------------------------- -The port (5000 in example) is the port defined in Relay plugin. -The URI must always ends with "/weechat" (for both IRC and WeeChat protocols). +The port (9000 in example) is the port defined in Relay plugin. +The URI must always end with "/weechat" (for 'irc' and 'weechat' protocols). [[rmodifier_plugin]] Rmodifier plugin diff --git a/doc/fr/autogen/user/relay_commands.txt b/doc/fr/autogen/user/relay_commands.txt index b67030b78..3f3f20813 100644 --- a/doc/fr/autogen/user/relay_commands.txt +++ b/doc/fr/autogen/user/relay_commands.txt @@ -16,7 +16,7 @@ ipv6: forcer l'utilisation d'IPv6 ssl: activer SSL protocole.nom: protocole et nom à relayer: - - protocole "irc": le nom est le serveur à partager + - protocole "irc": le nom est le serveur à partager (optionnel, si non donné, le nom de serveur doit être envoyé par le client dans la commande "PASS", avec le format: "PASS serveur:motdepasse") - protocole "weechat" (le nom n'est pas utilisé) port: port utilisé pour le relai raw: ouvrir le tampon avec les données brutes Relay @@ -29,6 +29,8 @@ Exemples: /relay add irc.freenode 8000 proxy irc, pour le serveur "freenode", avec SSL: /relay add ssl.irc.freenode 8001 + proxy irc, pour tous les serveurs (le client choisira), avec SSL: + /relay add ssl.irc 8002 protocole weechat: /relay add weechat 9000 protocole weechat avec SSL: diff --git a/doc/fr/weechat_user.fr.txt b/doc/fr/weechat_user.fr.txt index 867c12d61..218bafe63 100644 --- a/doc/fr/weechat_user.fr.txt +++ b/doc/fr/weechat_user.fr.txt @@ -2341,7 +2341,7 @@ utilisant divers protocoles : * 'irc' : proxy IRC : utilisé pour partager la connexions aux serveurs IRC avec un ou plusieurs autres clients IRC * 'weechat' : protocole utilisé par les interfaces distantes (par exemple - QWeeChat). + QWeeChat ou weechat-android). [[relay_options]] Options (relay.conf) @@ -2355,50 +2355,22 @@ Commandes include::autogen/user/relay_commands.txt[] -[[relay_irc_proxy]] -IRC proxy -^^^^^^^^^ +[[relay_password]] +Mot de passe +^^^^^^^^^^^^ -L'extension Relay peut agir comme un proxy IRC : vous pouvez définir un port -par serveur IRC et utiliser un mot de passe pour les clients. - -Par exemple : +Il est fortement recommandé de définir un mot de passe pour le relai, avec la +commande : ---------------------------------------- -/set relay.network.password "mypass" -/relay add irc.freenode 8000 +/set relay.network.password "motdepasse" ---------------------------------------- -Maintenant vous pouvez vous connecter sur le port 8000 avec n'importe quel -client IRC (WeeChat, xchat, irssi, etc...), en utilisant le mot de passe -"mypass". - -Vous pouvez limiter le nombre de clients autorisés : - ----------------------------------------- -/set relay.network.max_clients 1 ----------------------------------------- - -[[relay_weechat_protocol]] -Protocole WeeChat -^^^^^^^^^^^^^^^^^ - -L'extension Relay peut envoyer les données à une interface distante en -utilisant le protocole WeeChat. - -Par exemple : - ----------------------------------------- -/set relay.network.password "mypass" -/relay add weechat 9000 ----------------------------------------- - -Maintenant vous pouvez vous connecter sur le port 9000 avec une interface -distante (comme QWeeChat), en utilisant le mot de passe "mypass". +Ce mot de passe sera utilisé pour les protocoles 'irc' et 'weechat'. [[relay_ssl]] -Relai avec SSL -^^^^^^^^^^^^^^ +SSL +^^^ Vous pouvez utiliser SSL en créant un certificat et clé privée et en utilisant le préfixe "ssl." dans le nom du protocole. @@ -2421,15 +2393,58 @@ commande : /relay sslcertkey ---------------------------------------- -Et ajoutez le relai avec SSL, par exemple : +[[relay_irc_proxy]] +IRC proxy +^^^^^^^^^ + +L'extension Relay peut agir comme un proxy IRC : elle simulera un serveur IRC, +et vous pourrez vous connecter sur WeeChat avec n'importe quel autre client IRC +(y compris WeeChat lui-même). + +Vous pouvez définir un port par serveur IRC, ou bien un port générique pour tous +les serveurs. + +Lors de l'utilisation d'un port pour tous les serveurs, le client doit envoyer +le nom interne du serveur dans la commande IRC "PASS", avec le format : ---------------------------------------- -/relay add ssl.irc.freenode 8001 -/relay add ssl.weechat 9001 +PASS serveur:motdepasse ---------------------------------------- +Exemple : proxy IRC avec SSL pour tout serveur (le client choisira) : + +---------------------------------------- +/relay add ssl.irc 8000 +---------------------------------------- + +Exemple : proxy IRC sans SSL seulement pour le serveur "freenode" : + +---------------------------------------- +/relay add irc.freenode 8000 +---------------------------------------- + +Maintenant vous pouvez vous connecter sur le port 8000 avec n'importe quel +client IRC en utilisant le mot de passe "motdepasse" (ou "freenode:motdepasse" +si aucun serveur n'a été spécifié dans le relai). + +[[relay_weechat_protocol]] +Protocole WeeChat +^^^^^^^^^^^^^^^^^ + +L'extension Relay peut envoyer les données à une interface distante en +utilisant le protocole WeeChat. + +Par exemple : + +---------------------------------------- +/relay add weechat 9000 +---------------------------------------- + +Maintenant vous pouvez vous connecter sur le port 9000 avec une interface +distante en utilisant le mot de passe "motdepasse". + [[relay_websocket]] -Websocket +WebSocket ^^^^^^^^^ Le protocole WebSocket (http://tools.ietf.org/html/rfc6455[RFC 6455]) est @@ -2445,12 +2460,12 @@ JavaScript : [source,js] ---------------------------------------- -websocket = new WebSocket("ws://server.com:5000/weechat"); +websocket = new WebSocket("ws://server.com:9000/weechat"); ---------------------------------------- -Le port (5000 dans l'exemple) est le port défini dans l'extension Relay. -L'URI doit toujours se terminer par "/weechat" (pour les protocoles IRC et -WeeChat). +Le port (9000 dans l'exemple) est le port défini dans l'extension Relay. +L'URI doit toujours se terminer par "/weechat" (pour les protocoles 'irc' et +'weechat'). [[rmodifier_plugin]] Extension Rmodifier diff --git a/doc/it/autogen/user/relay_commands.txt b/doc/it/autogen/user/relay_commands.txt index 53eb04cef..95c0925d9 100644 --- a/doc/it/autogen/user/relay_commands.txt +++ b/doc/it/autogen/user/relay_commands.txt @@ -16,7 +16,7 @@ ipv6: force use of IPv6 ssl: enable SSL protocol.name: protocol and name to relay: - - protocol "irc": name is the server to share + - protocol "irc": name is the server to share (optional, if not given, the server name must be sent by client in command "PASS", with format: "PASS server:password") - protocol "weechat" (name is not used) port: port used for relay raw: open buffer with raw Relay data @@ -29,6 +29,8 @@ Examples: /relay add irc.freenode 8000 irc proxy, for server "freenode", with SSL: /relay add ssl.irc.freenode 8001 + irc proxy, for all servers (client will choose), with SSL: + /relay add ssl.irc 8002 weechat protocol: /relay add weechat 9000 weechat protocol with SSL: diff --git a/doc/it/weechat_user.it.txt b/doc/it/weechat_user.it.txt index aaee615ac..cf51e96b9 100644 --- a/doc/it/weechat_user.it.txt +++ b/doc/it/weechat_user.it.txt @@ -2344,49 +2344,22 @@ Comandi include::autogen/user/relay_commands.txt[] -[[relay_irc_proxy]] -Proxy IRC -^^^^^^^^^ +// TRANSLATION MISSING +[[relay_password]] +Password +^^^^^^^^ -Il plugin Relay può funzionare come un proxy IRC: è possibile definire una porta -per il server IRC ed utilizzare una password per i client. - -Ad esempio: +It is highly recommended to set a password for relay, with command: ---------------------------------------- /set relay.network.password "miapass" -/relay add irc.freenode 8000 ---------------------------------------- -Ora è possibile connettersi sulla porta 8000 con qualsiasi client IRC -(WeeChat, xchat, irssi, ..) utilizzando la password del server "miapass". - -È possibile inoltre limitare il numero di client consentiti: - ----------------------------------------- -/set relay.network.max_clients 1 ----------------------------------------- - -[[relay_weechat_protocol]] -Protocollo WeeChat -^^^^^^^^^^^^^^^^^^ - -Il plugin Relay può inviare dati alle interfacce remote usando il protocollo -WeeChat. - -Ad esempio: - ----------------------------------------- -/set relay.network.password "miapass" -/relay add weechat 9000 ----------------------------------------- - -Ora è possibile connettersi sulla porta 9000 con un'interfaccia remota -(come QWeeChat) usando la password "miapass". +This password is used for 'irc' and 'weechat' protocols. [[relay_ssl]] -Relay con SSL -^^^^^^^^^^^^^ +SSL +^^^ È possibile usare SSL creando un certificato e una chiave privata, e usando il prefisso "ssl." nel nome del protocollo. @@ -2409,16 +2382,57 @@ chiave privata con il comando: /relay sslcertkey ---------------------------------------- -E poi aggiungere il relay con SSL, ad esempio: +// TRANSLATION MISSING +[[relay_irc_proxy]] +Proxy IRC +^^^^^^^^^ + +The Relay plugin can act as an IRC proxy: it will simulate an IRC server, and +you can connect to WeeChat with any other IRC client (including WeeChat itself). + +You can define one port by IRC server, or one generic port for all servers. + +When using one port for all servers, the client must send the internal name of +server in the IRC "PASS" command, with this format: ---------------------------------------- -/relay add ssl.irc.freenode 8001 -/relay add ssl.weechat 9001 +PASS server:miapass ---------------------------------------- +Example: IRC proxy with SSL for any server (client will choose): + +---------------------------------------- +/relay add ssl.irc 8000 +---------------------------------------- + +Example: IRC proxy without SSL only for server "freenode": + +---------------------------------------- +/relay add irc.freenode 8000 +---------------------------------------- + +Now you can connect on port 8000 with any IRC client using server password +"miapass" (or "freenode:miapass" if no server was specified in the relay). + +[[relay_weechat_protocol]] +Protocollo WeeChat +^^^^^^^^^^^^^^^^^^ + +Il plugin Relay può inviare dati alle interfacce remote usando il protocollo +WeeChat. + +Ad esempio: + +---------------------------------------- +/relay add weechat 9000 +---------------------------------------- + +Ora è possibile connettersi sulla porta 9000 con un'interfaccia remota usando la +password "miapass". + // TRANSLATION MISSING [[relay_websocket]] -Websocket +WebSocket ^^^^^^^^^ WebSocket protocol (http://tools.ietf.org/html/rfc6455[RFC 6455]) is supported @@ -2433,11 +2447,11 @@ A WebSocket can be opened in a HTML5 with a single line of JavaScript: [source,js] ---------------------------------------- -websocket = new WebSocket("ws://server.com:5000/weechat"); +websocket = new WebSocket("ws://server.com:9000/weechat"); ---------------------------------------- -The port (5000 in example) is the port defined in Relay plugin. -The URI must always ends with "/weechat" (for both IRC and WeeChat protocols). +The port (9000 in example) is the port defined in Relay plugin. +The URI must always end with "/weechat" (for 'irc' and 'weechat' protocols). [[rmodifier_plugin]] Plugin Rmodifier diff --git a/doc/ja/autogen/user/relay_commands.txt b/doc/ja/autogen/user/relay_commands.txt index 2b8c19cb6..136cfd3ba 100644 --- a/doc/ja/autogen/user/relay_commands.txt +++ b/doc/ja/autogen/user/relay_commands.txt @@ -7,37 +7,39 @@ raw sslcertkey - list: リレーするクライアントをリストアップ (アクティブなもののみ) - listfull: リレーするクライアントをリストアップ (詳細、全てのリレー) - listrelay: リレーをリストアップ (名前とポート番号) - add: プロトコル + 名前のリレーを追加 - del: プロトコル + 名前のリレーを削除 - ipv4: IPv4 を強制的に利用 - ipv6: IPv6 を強制的に利用 - ssl: SSL を有効化 -protocol.name: リレーするプロトコルと名前: - - プロトコル "irc": 名前は共有するサーバ - - プロトコル "weechat" (名前は使われていない) - port: リレーに使うポート番号 - raw: 生 Relay データバッファを開く - sslcertkey: オプション relay.network.ssl_cert_key のパスを使って SSL 証明書/鍵を設定 + list: list relay clients (only active relays) + listfull: list relay clients (verbose, all relays) + listrelay: list relays (name and port) + add: add relay for a protocol + name + del: remove relay for a protocol + name + ipv4: force use of IPv4 + ipv6: force use of IPv6 + ssl: enable SSL +protocol.name: protocol and name to relay: + - protocol "irc": name is the server to share (optional, if not given, the server name must be sent by client in command "PASS", with format: "PASS server:password") + - protocol "weechat" (name is not used) + port: port used for relay + raw: open buffer with raw Relay data + sslcertkey: set SSL certificate/key using path in option relay.network.ssl_cert_key -引数無しの場合、リレークライアントのリストを含むバッファを開く +Without argument, this command opens buffer with list of relay clients. -例: - サーバ "freenode" に対する irc プロキシを設定: +Examples: + irc proxy, for server "freenode": /relay add irc.freenode 8000 - サーバ "freenode" に対する SSL を有効化した irc プロキシを設定: + irc proxy, for server "freenode", with SSL: /relay add ssl.irc.freenode 8001 - weechat プロトコル: + irc proxy, for all servers (client will choose), with SSL: + /relay add ssl.irc 8002 + weechat protocol: /relay add weechat 9000 - SSL を有効化した weechat プロトコル: + weechat protocol with SSL: /relay add ssl.weechat 9001 - SSL を有効にした weechat プロトコル、IPv4 だけを利用: + weechat protocol with SSL, using only IPv4: /relay add ipv4.ssl.weechat 9001 - SSL を有効にした weechat プロトコル、IPv6 だけを利用: + weechat protocol with SSL, using only IPv6: /relay add ipv6.ssl.weechat 9001 - SSL を有効にした weechat プロトコル、IPv4 と IPv6 を利用: + weechat protocol with SSL, using IPv4 + IPv6: /relay add ipv4.ipv6.ssl.weechat 9001 ........................................ diff --git a/doc/ja/weechat_user.ja.txt b/doc/ja/weechat_user.ja.txt index 2ead9229f..d5ea656ef 100644 --- a/doc/ja/weechat_user.ja.txt +++ b/doc/ja/weechat_user.ja.txt @@ -2202,45 +2202,21 @@ include::autogen/user/relay_options.txt[] include::autogen/user/relay_commands.txt[] -[[relay_irc_proxy]] -==== IRC プロキシ ==== +// TRANSLATION MISSING +[[relay_password]] +Password +^^^^^^^^ -Relay プラグインは IRC プロキシにもなります。IRC サーバ用にポートを設定して、 -クライアントからの接続に必要なパスワードを設定することができます。 - -例: +It is highly recommended to set a password for relay, with command: ---------------------------------------- /set relay.network.password "mypass" -/relay add irc.freenode 8000 ---------------------------------------- -この後、適当な IRC クライアント (WeeChat、xchat、irssi、..) を使って 8000 -番ポートに対して、サーバパスワード "mypass" で接続することができます。 - -クライアントの数を制限することも可能です: - ----------------------------------------- -/set relay.network.max_clients 1 ----------------------------------------- - -[[relay_weechat_protocol]] -==== WeeChat プロトコル ==== - -Relay プラグインは WeeChat プロトコルを使ってリモートインターフェイスに対してデータを送信できます。 - -例: - ----------------------------------------- -/set relay.network.password "mypass" -/relay add weechat 9000 ----------------------------------------- - -この後、リモートインターフェイス (QWeeChat 等) を使って 9000 -番ポートに対して、パスワード "mypass" で接続することができます。 +This password is used for 'irc' and 'weechat' protocols. [[relay_ssl]] -==== SSL 経由のリレー ==== +==== SSL ==== 証明書と秘密鍵を作り、プロトコル名の最初に "ssl." を付けることで SSL 経由でリレーを利用することができます。 @@ -2263,16 +2239,54 @@ WeeChat が既に起動している場合、 /relay sslcertkey ---------------------------------------- -この後に SSL 経由のリレーを追加します、例えば: +// TRANSLATION MISSING +[[relay_irc_proxy]] +==== IRC プロキシ ==== + +The Relay plugin can act as an IRC proxy: it will simulate an IRC server, and +you can connect to WeeChat with any other IRC client (including WeeChat itself). + +You can define one port by IRC server, or one generic port for all servers. + +When using one port for all servers, the client must send the internal name of +server in the IRC "PASS" command, with this format: ---------------------------------------- -/relay add ssl.irc.freenode 8001 -/relay add ssl.weechat 9001 +PASS server:mypass ---------------------------------------- +Example: IRC proxy with SSL for any server (client will choose): + +---------------------------------------- +/relay add ssl.irc 8000 +---------------------------------------- + +Example: IRC proxy without SSL only for server "freenode": + +---------------------------------------- +/relay add irc.freenode 8000 +---------------------------------------- + +Now you can connect on port 8000 with any IRC client using server password +"mypass" (or "freenode:mypass" if no server was specified in the relay). + +[[relay_weechat_protocol]] +==== WeeChat プロトコル ==== + +Relay プラグインは WeeChat プロトコルを使ってリモートインターフェイスに対してデータを送信できます。 + +例: + +---------------------------------------- +/relay add weechat 9000 +---------------------------------------- + +この後、リモートインターフェイスを使って 9000 +番ポートに対して、パスワード "mypass" で接続することができます。 + // TRANSLATION MISSING [[relay_websocket]] -Websocket +WebSocket ^^^^^^^^^ WebSocket protocol (http://tools.ietf.org/html/rfc6455[RFC 6455]) is supported @@ -2287,11 +2301,11 @@ A WebSocket can be opened in a HTML5 with a single line of JavaScript: [source,js] ---------------------------------------- -websocket = new WebSocket("ws://server.com:5000/weechat"); +websocket = new WebSocket("ws://server.com:9000/weechat"); ---------------------------------------- -The port (5000 in example) is the port defined in Relay plugin. -The URI must always ends with "/weechat" (for both IRC and WeeChat protocols). +The port (9000 in example) is the port defined in Relay plugin. +The URI must always end with "/weechat" (for 'irc' and 'weechat' protocols). [[rmodifier_plugin]] === Rmodifier プラグイン === diff --git a/po/cs.po b/po/cs.po index 94a789f8d..dfbe038c1 100644 --- a/po/cs.po +++ b/po/cs.po @@ -20,8 +20,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.4.1-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2013-02-17 12:17+0100\n" -"PO-Revision-Date: 2013-01-20 12:07+0100\n" +"POT-Creation-Date: 2013-02-23 08:23+0100\n" +"PO-Revision-Date: 2013-02-21 17:54+0100\n" "Last-Translator: Jiri Golembiovsky \n" "Language-Team: weechat-dev \n" "Language: Czech\n" @@ -3464,12 +3464,6 @@ msgstr "Filtrování zpráv zakázáno" msgid " TERM='%s', size: %dx%d" msgstr " TERM='%s', velikost: %dx%d" -msgid "server" -msgid_plural "servers" -msgstr[0] "server" -msgstr[1] "servery" -msgstr[2] "serverů" - #, c-format msgid "" "%sUnable to change bar type: you must delete bar and create another to do " @@ -4136,6 +4130,12 @@ msgstr "jméno FIFO roury" msgid "away" msgstr "pryč" +msgid "server" +msgid_plural "servers" +msgstr[0] "server" +msgstr[1] "servery" +msgstr[2] "serverů" + msgid "Lag" msgstr "Lag" @@ -7813,7 +7813,9 @@ msgid "" " ipv6: force use of IPv6\n" " ssl: enable SSL\n" "protocol.name: protocol and name to relay:\n" -" - protocol \"irc\": name is the server to share\n" +" - protocol \"irc\": name is the server to share (optional, " +"if not given, the server name must be sent by client in command \"PASS\", " +"with format: \"PASS server:password\")\n" " - protocol \"weechat\" (name is not used)\n" " port: port used for relay\n" " raw: open buffer with raw Relay data\n" @@ -7827,6 +7829,8 @@ msgid "" " /relay add irc.freenode 8000\n" " irc proxy, for server \"freenode\", with SSL:\n" " /relay add ssl.irc.freenode 8001\n" +" irc proxy, for all servers (client will choose), with SSL:\n" +" /relay add ssl.irc 8002\n" " weechat protocol:\n" " /relay add weechat 9000\n" " weechat protocol with SSL:\n" @@ -7883,10 +7887,6 @@ msgstr "%s%s: chyba: neznámý protokol \"%s\"" msgid "%s%s: error: name is not allowed for protocol \"%s\"" msgstr "%s%s: chyba: neznámý protokol \"%s\"" -#, fuzzy, c-format -msgid "%s%s: error: name is not required for protocol \"%s\"" -msgstr "%s%s: chyba: neznámý protokol \"%s\"" - #, c-format msgid "%s%s: error: relay for \"%s\" already exists" msgstr "%s%s: chyba: přesměrování pro\"%s\" již existuje" @@ -9347,35 +9347,3 @@ msgstr "" msgid "Constants" msgstr "" - -#~ msgid "%s%s: not enough memory to create new speller" -#~ msgstr "%s%s: nedostatek paměti pro vytvoření kontroly pravopisu" - -#~ msgid "%s%s: cannot set socket option \"SO_REUSEADDR\"" -#~ msgstr "%s%s: nemohu nastavit nastavení sketu \"SO_REUSEADDR\"" - -#, fuzzy -#~ msgid "%s%s: cannot set socket option \"IPV6_V6ONLY\" to value %d" -#~ msgstr "%s%s: nemohu nastavit nastavení soketu \"SO_KEEPALIVE\"" - -#~ msgid "%s%s: cannot set socket option \"SO_KEEPALIVE\"" -#~ msgstr "%s%s: nemohu nastavit nastavení soketu \"SO_KEEPALIVE\"" - -#~ msgid "%s%s: cannot create socket for xfer" -#~ msgstr "%s%s: nemohu vytvořit soket pro xfer" - -#~ msgid "%s%s: not enough memory to parse file \"%s\"" -#~ msgstr "%s%s: nedostatek paměti pro parsování souboru \"%s\"" - -#~ msgid "%s%s: unable to run file \"%s\"" -#~ msgstr "%s%s: nemůžu spustit soubor \"%s\"" - -#~ msgid "%s%s: unknown error while loading file \"%s\"" -#~ msgstr "%s%s: neznámá chyba při načítání souboru \"%s\"" - -#~ msgid "%s: error loading script \"%s\" (bad name, spaces are forbidden)" -#~ msgstr "" -#~ "%s: chyba načítání skriptu \"%s\" (špatné jméno, mezery jsou zakázány)" - -#~ msgid "%s%s: cannot create socket" -#~ msgstr "%s%s nemohu vytvořit soket" diff --git a/po/de.po b/po/de.po index b0c93f089..f219939a1 100644 --- a/po/de.po +++ b/po/de.po @@ -22,8 +22,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.4.1-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2013-02-17 12:17+0100\n" -"PO-Revision-Date: 2013-01-20 12:07+0100\n" +"POT-Creation-Date: 2013-02-23 08:23+0100\n" +"PO-Revision-Date: 2013-02-21 17:55+0100\n" "Last-Translator: Nils Görs \n" "Language-Team: German \n" "Language: \n" @@ -3899,11 +3899,6 @@ msgstr "Maus ist deaktiviert" msgid " TERM='%s', size: %dx%d" msgstr " TERM='%s', Größe: %dx%d" -msgid "server" -msgid_plural "servers" -msgstr[0] "Server" -msgstr[1] "Server" - #, c-format msgid "" "%sUnable to change bar type: you must delete bar and create another to do " @@ -4625,6 +4620,11 @@ msgstr "Name der FIFO-Pipe" msgid "away" msgstr "abwesend" +msgid "server" +msgid_plural "servers" +msgstr[0] "Server" +msgstr[1] "Server" + msgid "Lag" msgstr "Lag" @@ -8490,6 +8490,7 @@ msgstr "" "list|listfull|listrelay || add [ipv4.][ipv6.][ssl.] || " "del [ipv4.][ipv6.][ssl.] || raw || sslcertkey" +#, fuzzy msgid "" " list: list relay clients (only active relays)\n" " listfull: list relay clients (verbose, all relays)\n" @@ -8500,7 +8501,9 @@ msgid "" " ipv6: force use of IPv6\n" " ssl: enable SSL\n" "protocol.name: protocol and name to relay:\n" -" - protocol \"irc\": name is the server to share\n" +" - protocol \"irc\": name is the server to share (optional, " +"if not given, the server name must be sent by client in command \"PASS\", " +"with format: \"PASS server:password\")\n" " - protocol \"weechat\" (name is not used)\n" " port: port used for relay\n" " raw: open buffer with raw Relay data\n" @@ -8514,6 +8517,8 @@ msgid "" " /relay add irc.freenode 8000\n" " irc proxy, for server \"freenode\", with SSL:\n" " /relay add ssl.irc.freenode 8001\n" +" irc proxy, for all servers (client will choose), with SSL:\n" +" /relay add ssl.irc 8002\n" " weechat protocol:\n" " /relay add weechat 9000\n" " weechat protocol with SSL:\n" @@ -8588,10 +8593,6 @@ msgstr "%s%s: Unbekanntes Protokoll \"%s\"" msgid "%s%s: error: name is not allowed for protocol \"%s\"" msgstr "%s%s: Fehler: dieser Name ist für das Protokoll \"%s\" nicht erlaubt" -#, c-format -msgid "%s%s: error: name is not required for protocol \"%s\"" -msgstr "%s%s: Fehler: ein Name ist für das Protokoll \"%s\" nicht notwendig" - #, c-format msgid "%s%s: error: relay for \"%s\" already exists" msgstr "%s%s: Fehler: Relay für \"%s\" existiert bereits" @@ -10205,170 +10206,3 @@ msgstr "Type" msgid "Constants" msgstr "Konstanten" - -#~ msgid "%s%s: not enough memory to create new speller" -#~ msgstr "%s%s: Nicht genug Speicher um neue Rechtschreibung zu erstellen" - -#~ msgid "%s%s: cannot set socket option \"SO_REUSEADDR\"" -#~ msgstr "%s%s Fehler beim Erstellen der Socket-Option \"SO_REUSEADDR\"" - -#~ msgid "%s%s: cannot set socket option \"IPV6_V6ONLY\" to value %d" -#~ msgstr "" -#~ "%s%s der Wert %d kann nicht für die Socket-Option, \"IPV6_V6ONLY\", " -#~ "gesetzt werden" - -#~ msgid "%s%s: cannot set socket option \"SO_KEEPALIVE\"" -#~ msgstr "%s%s Fehler beim Erstellen der Socket-Option \"SO_KEEPALIVE\"" - -#~ msgid "%s%s: cannot create socket for xfer" -#~ msgstr "%s%s: Für den Transfer konnte kein Socket angelegt werden" - -#~ msgid "%s%s: not enough memory to parse file \"%s\"" -#~ msgstr "%s%s: Nicht genug Speicher um Datei \"%s\" zu analysieren" - -#~ msgid "%s%s: unable to run file \"%s\"" -#~ msgstr "%s%s: Kann Datei \"%s\" nicht ausführen" - -#~ msgid "%s%s: unknown error while loading file \"%s\"" -#~ msgstr "%s%s: unbekannter Fehler beim Laden der Datei \"%s\"" - -#~ msgid "%s: error loading script \"%s\" (bad name, spaces are forbidden)" -#~ msgstr "" -#~ "%s: Fehler beim Laden des Skriptes \"%s\" (fehlerhafter Name: Leerzeichen " -#~ "sind nicht erlaubt)" - -#~ msgid "%s%s: cannot create socket" -#~ msgstr "%s%s: Socket konnte nicht angelegt werden" - -#~ msgid "background color for window separators (when split)" -#~ msgstr "" -#~ "Hintergrundfarbe der Fenster-Separatoren im Chatfenster (bei geteiltem " -#~ "Bildschirm)" - -#~ msgid "No configuration option found" -#~ msgstr "Konfigurationsoption nicht gefunden" - -#~ msgid "%s%d%s configuration option found" -#~ msgid_plural "%s%d%s configuration options found" -#~ msgstr[0] "%s%d%s Konfigurationsoption gefunden" -#~ msgstr[1] "%s%d%s Konfigurationsoptionen gefunden" - -#~ msgid "%sError: configuration option \"%s\" not found" -#~ msgstr "%sFehler: Konfigurationsoption \"%s\" nicht gefunden" - -#~ msgid "[