25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-11-28 16:34:13 +01:00

* doc/guide.tex: XEP-0065 proxy documentation (thanks to Evgeniy

Khramtsov).

SVN Revision: 668
This commit is contained in:
Mickaël Rémond 2006-10-29 15:07:35 +00:00
parent 43d687676c
commit a1761ac466
3 changed files with 214 additions and 69 deletions

View File

@ -1,3 +1,8 @@
2006-10-29 Mickael Remond <mickael.remond@process-one.net>
* doc/guide.tex: XEP-0065 proxy documentation (thanks to Evgeniy
Khramtsov).
2006-10-28 Mickael Remond <mickael.remond@process-one.net> 2006-10-28 Mickael Remond <mickael.remond@process-one.net>
* src/ejabberd.cfg.example: Changed the anonymous example a bit to work * src/ejabberd.cfg.example: Changed the anonymous example a bit to work

View File

@ -143,49 +143,50 @@ SPAN{width:20%; float:right; text-align:left; margin-left:auto;}
<LI CLASS="li-toc"><A HREF="#htoc57">5.10&nbsp;&nbsp;<TT>mod_offline</TT></A> <LI CLASS="li-toc"><A HREF="#htoc57">5.10&nbsp;&nbsp;<TT>mod_offline</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc58">5.11&nbsp;&nbsp;<TT>mod_privacy</TT></A> <LI CLASS="li-toc"><A HREF="#htoc58">5.11&nbsp;&nbsp;<TT>mod_privacy</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc59">5.12&nbsp;&nbsp;<TT>mod_private</TT></A> <LI CLASS="li-toc"><A HREF="#htoc59">5.12&nbsp;&nbsp;<TT>mod_private</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc60">5.13&nbsp;&nbsp;<TT>mod_pubsub</TT></A> <LI CLASS="li-toc"><A HREF="#htoc60">5.13&nbsp;&nbsp;<TT>mod_proxy65</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc61">5.14&nbsp;&nbsp;<TT>mod_register</TT></A> <LI CLASS="li-toc"><A HREF="#htoc61">5.14&nbsp;&nbsp;<TT>mod_pubsub</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc62">5.15&nbsp;&nbsp;<TT>mod_roster</TT></A> <LI CLASS="li-toc"><A HREF="#htoc62">5.15&nbsp;&nbsp;<TT>mod_register</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc63">5.16&nbsp;&nbsp;<TT>mod_service_log</TT></A> <LI CLASS="li-toc"><A HREF="#htoc63">5.16&nbsp;&nbsp;<TT>mod_roster</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc64">5.17&nbsp;&nbsp;<TT>mod_shared_roster</TT></A> <LI CLASS="li-toc"><A HREF="#htoc64">5.17&nbsp;&nbsp;<TT>mod_service_log</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc65">5.18&nbsp;&nbsp;<TT>mod_stats</TT></A> <LI CLASS="li-toc"><A HREF="#htoc65">5.18&nbsp;&nbsp;<TT>mod_shared_roster</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc66">5.19&nbsp;&nbsp;<TT>mod_time</TT></A> <LI CLASS="li-toc"><A HREF="#htoc66">5.19&nbsp;&nbsp;<TT>mod_stats</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc67">5.20&nbsp;&nbsp;<TT>mod_vcard</TT></A> <LI CLASS="li-toc"><A HREF="#htoc67">5.20&nbsp;&nbsp;<TT>mod_time</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc68">5.21&nbsp;&nbsp;<TT>mod_vcard_ldap</TT></A> <LI CLASS="li-toc"><A HREF="#htoc68">5.21&nbsp;&nbsp;<TT>mod_vcard</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc69">5.22&nbsp;&nbsp;<TT>mod_version</TT></A> <LI CLASS="li-toc"><A HREF="#htoc69">5.22&nbsp;&nbsp;<TT>mod_vcard_ldap</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc70">5.23&nbsp;&nbsp;<TT>mod_version</TT></A>
</UL> </UL>
<LI CLASS="li-toc"><A HREF="#htoc70">6&nbsp;&nbsp;Creating an Initial Administrator</A> <LI CLASS="li-toc"><A HREF="#htoc71">6&nbsp;&nbsp;Creating an Initial Administrator</A>
<LI CLASS="li-toc"><A HREF="#htoc71">7&nbsp;&nbsp;Online Configuration and Monitoring</A> <LI CLASS="li-toc"><A HREF="#htoc72">7&nbsp;&nbsp;Online Configuration and Monitoring</A>
<UL CLASS="toc"><LI CLASS="li-toc"> <UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc72">7.1&nbsp;&nbsp;Web Interface</A> <A HREF="#htoc73">7.1&nbsp;&nbsp;Web Interface</A>
<LI CLASS="li-toc"><A HREF="#htoc73">7.2&nbsp;&nbsp;<TT>ejabberdctl</TT></A> <LI CLASS="li-toc"><A HREF="#htoc74">7.2&nbsp;&nbsp;<TT>ejabberdctl</TT></A>
</UL> </UL>
<LI CLASS="li-toc"><A HREF="#htoc74">8&nbsp;&nbsp;Firewall Settings</A> <LI CLASS="li-toc"><A HREF="#htoc75">8&nbsp;&nbsp;Firewall Settings</A>
<LI CLASS="li-toc"><A HREF="#htoc75">9&nbsp;&nbsp;SRV Records</A> <LI CLASS="li-toc"><A HREF="#htoc76">9&nbsp;&nbsp;SRV Records</A>
<LI CLASS="li-toc"><A HREF="#htoc76">10&nbsp;&nbsp;Clustering</A> <LI CLASS="li-toc"><A HREF="#htoc77">10&nbsp;&nbsp;Clustering</A>
<UL CLASS="toc"><LI CLASS="li-toc"> <UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc77">10.1&nbsp;&nbsp;How it Works</A> <A HREF="#htoc78">10.1&nbsp;&nbsp;How it Works</A>
<UL CLASS="toc"><LI CLASS="li-toc"> <UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc78">10.1.1&nbsp;&nbsp;Router</A> <A HREF="#htoc79">10.1.1&nbsp;&nbsp;Router</A>
<LI CLASS="li-toc"><A HREF="#htoc79">10.1.2&nbsp;&nbsp;Local Router</A> <LI CLASS="li-toc"><A HREF="#htoc80">10.1.2&nbsp;&nbsp;Local Router</A>
<LI CLASS="li-toc"><A HREF="#htoc80">10.1.3&nbsp;&nbsp;Session Manager</A> <LI CLASS="li-toc"><A HREF="#htoc81">10.1.3&nbsp;&nbsp;Session Manager</A>
<LI CLASS="li-toc"><A HREF="#htoc81">10.1.4&nbsp;&nbsp;s2s Manager</A> <LI CLASS="li-toc"><A HREF="#htoc82">10.1.4&nbsp;&nbsp;s2s Manager</A>
</UL> </UL>
<LI CLASS="li-toc"><A HREF="#htoc82">10.2&nbsp;&nbsp;Clustering Setup</A> <LI CLASS="li-toc"><A HREF="#htoc83">10.2&nbsp;&nbsp;Clustering Setup</A>
</UL> </UL>
<LI CLASS="li-toc"><A HREF="#htoc83">A&nbsp;&nbsp;Internationalization and Localization</A> <LI CLASS="li-toc"><A HREF="#htoc84">A&nbsp;&nbsp;Internationalization and Localization</A>
<LI CLASS="li-toc"><A HREF="#htoc84">B&nbsp;&nbsp;Release Notes</A> <LI CLASS="li-toc"><A HREF="#htoc85">B&nbsp;&nbsp;Release Notes</A>
<UL CLASS="toc"><LI CLASS="li-toc"> <UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc85">B.1&nbsp;&nbsp;ejabberd 0.9</A> <A HREF="#htoc86">B.1&nbsp;&nbsp;ejabberd 0.9</A>
<LI CLASS="li-toc"><A HREF="#htoc86">B.2&nbsp;&nbsp;ejabberd 0.9.1</A> <LI CLASS="li-toc"><A HREF="#htoc87">B.2&nbsp;&nbsp;ejabberd 0.9.1</A>
<LI CLASS="li-toc"><A HREF="#htoc87">B.3&nbsp;&nbsp;ejabberd 0.9.8</A> <LI CLASS="li-toc"><A HREF="#htoc88">B.3&nbsp;&nbsp;ejabberd 0.9.8</A>
<LI CLASS="li-toc"><A HREF="#htoc88">B.4&nbsp;&nbsp;ejabberd 1.0.0</A> <LI CLASS="li-toc"><A HREF="#htoc89">B.4&nbsp;&nbsp;ejabberd 1.0.0</A>
<LI CLASS="li-toc"><A HREF="#htoc89">B.5&nbsp;&nbsp;ejabberd 1.1.0</A> <LI CLASS="li-toc"><A HREF="#htoc90">B.5&nbsp;&nbsp;ejabberd 1.1.0</A>
<LI CLASS="li-toc"><A HREF="#htoc90">B.6&nbsp;&nbsp;ejabberd 1.1.1</A> <LI CLASS="li-toc"><A HREF="#htoc91">B.6&nbsp;&nbsp;ejabberd 1.1.1</A>
<LI CLASS="li-toc"><A HREF="#htoc91">B.7&nbsp;&nbsp;ejabberd 1.1.2</A> <LI CLASS="li-toc"><A HREF="#htoc92">B.7&nbsp;&nbsp;ejabberd 1.1.2</A>
</UL> </UL>
<LI CLASS="li-toc"><A HREF="#htoc92">C&nbsp;&nbsp;Acknowledgements</A> <LI CLASS="li-toc"><A HREF="#htoc93">C&nbsp;&nbsp;Acknowledgements</A>
<LI CLASS="li-toc"><A HREF="#htoc93">D&nbsp;&nbsp;Copyright Information</A> <LI CLASS="li-toc"><A HREF="#htoc94">D&nbsp;&nbsp;Copyright Information</A>
</UL> </UL>
<!--TOC section Introduction--> <!--TOC section Introduction-->
@ -1674,6 +1675,11 @@ Last connection date and time: Use <TT>mod_last_odbc</TT> instead of
<TD ALIGN=left NOWRAP>&nbsp;</TD> <TD ALIGN=left NOWRAP>&nbsp;</TD>
<TD ALIGN=left NOWRAP>No</TD> <TD ALIGN=left NOWRAP>No</TD>
</TR> </TR>
<TR><TD ALIGN=left NOWRAP><TT>mod_proxy65</TT></TD>
<TD ALIGN=left NOWRAP>SOCKS5 Bytestreams (<A HREF="http://www.jabber.org/jeps/jep-0065.html">JEP-0065</A>)</TD>
<TD ALIGN=left NOWRAP>&nbsp;</TD>
<TD ALIGN=left NOWRAP>No</TD>
</TR>
<TR><TD ALIGN=left NOWRAP><TT>mod_pubsub</TT></TD> <TR><TD ALIGN=left NOWRAP><TT>mod_pubsub</TT></TD>
<TD ALIGN=left NOWRAP>Publish-Subscribe (<A HREF="http://www.jabber.org/jeps/jep-0060.html">JEP-0060</A>)</TD> <TD ALIGN=left NOWRAP>Publish-Subscribe (<A HREF="http://www.jabber.org/jeps/jep-0060.html">JEP-0060</A>)</TD>
<TD ALIGN=left NOWRAP>&nbsp;</TD> <TD ALIGN=left NOWRAP>&nbsp;</TD>
@ -2343,9 +2349,74 @@ Options:
the processing discipline for Private XML Storage (<TT>jabber:iq:private</TT>) IQ queries the processing discipline for Private XML Storage (<TT>jabber:iq:private</TT>) IQ queries
(see section&nbsp;<A HREF="#sec:modiqdiscoption">5.2.1</A>). (see section&nbsp;<A HREF="#sec:modiqdiscoption">5.2.1</A>).
</DL> </DL>
<!--TOC subsection <TT>mod_proxy65</TT>-->
<H3 CLASS="subsection"><A NAME="htoc60">5.13</A>&nbsp;&nbsp;<A NAME="modproxy"><TT>mod_proxy65</TT></A></H3><!--SEC END -->
<A NAME="sec:modproxy"></A>
This module implements SOCKS5 Bytestreams (<A HREF="http://www.jabber.org/jeps/jep-0065.html">JEP-0065</A>).
It allows <TT>ejabberd</TT> to act as a file transfer proxy between two
XMPP clients.<BR>
<BR>
Options:
<DL CLASS="description" COMPACT=compact><DT CLASS="dt-description">
<B><TT>host</TT></B><DD CLASS="dd-description">This option defines the hostname of the service.
If this option is not set, the prefix `<TT>proxy.</TT>' is added to <TT>ejabberd</TT>
hostname.
<DT CLASS="dt-description"><B><TT>name</TT></B><DD CLASS="dd-description">Defines Service Discovery name of the service.
Default is <TT>"SOCKS5 Bytestreams"</TT>.
<DT CLASS="dt-description"><B><TT>ip</TT></B><DD CLASS="dd-description">This option specifies which network interface
to listen for. Default is an IP address of the service's DNS name, or,
if fails, <CODE>{127,0,0,1}</CODE>.
<DT CLASS="dt-description"><B><TT>port</TT></B><DD CLASS="dd-description">This option defines port to listen for
incoming connections. Default is&nbsp;7777.
<DT CLASS="dt-description"><B><TT>auth_type</TT></B><DD CLASS="dd-description">SOCKS5 authentication type.
Possible values are <TT>anonymous</TT> and <TT>plain</TT>. Default is
<TT>anonymous</TT>.
<DT CLASS="dt-description"><B><TT>access</TT></B><DD CLASS="dd-description">Defines ACL for file transfer initiators.
Default is <TT>all</TT>.
<DT CLASS="dt-description"><B><TT>max_connections</TT></B><DD CLASS="dd-description">Maximum number of
active connections per file transfer initiator. No limit by default.
<DT CLASS="dt-description"><B><TT>shaper</TT></B><DD CLASS="dd-description">This option defines shaper for
the file transfer peers. Shaper with the maximum bandwidth will be selected.
Default is <TT>none</TT>.
</DL>
Examples:
<UL CLASS="itemize"><LI CLASS="li-itemize">
The simpliest configuration of the module:
<PRE CLASS="verbatim">
{modules,
[
...
{mod_proxy65, []},
...
]}.
</PRE><LI CLASS="li-itemize">More complicated configuration.
<PRE CLASS="verbatim">
{acl, proxy_users, {server, "example.org"}}.
{access, proxy65_access, [{allow, proxy_users}, {deny, all}]}.
...
{acl, admin, {user, "admin", "example.org"}}.
{shaper, normal, {maxrate, 10240}}. %% 10 Kbytes/sec
{access, proxy65_shaper, [{none, admin}, {normal, all}]}.
...
{modules,
[
...
{mod_proxy65, [{host, "proxy1.example.org"},
{name, "File Transfer Proxy"},
{ip, {200,150,100,1}},
{port, 7778},
{max_connections, 5},
{access, proxy65_access},
{shaper, proxy65_shaper}]},
...
]}.
</PRE></UL>
<!--TOC subsection <TT>mod_pubsub</TT>--> <!--TOC subsection <TT>mod_pubsub</TT>-->
<H3 CLASS="subsection"><A NAME="htoc60">5.13</A>&nbsp;&nbsp;<A NAME="modpubsub"><TT>mod_pubsub</TT></A></H3><!--SEC END --> <H3 CLASS="subsection"><A NAME="htoc61">5.14</A>&nbsp;&nbsp;<A NAME="modpubsub"><TT>mod_pubsub</TT></A></H3><!--SEC END -->
<A NAME="sec:modpubsub"></A> <A NAME="sec:modpubsub"></A>
@ -2397,7 +2468,7 @@ Example:
</PRE> </PRE>
<!--TOC subsection <TT>mod_register</TT>--> <!--TOC subsection <TT>mod_register</TT>-->
<H3 CLASS="subsection"><A NAME="htoc61">5.14</A>&nbsp;&nbsp;<A NAME="modregister"><TT>mod_register</TT></A></H3><!--SEC END --> <H3 CLASS="subsection"><A NAME="htoc62">5.15</A>&nbsp;&nbsp;<A NAME="modregister"><TT>mod_register</TT></A></H3><!--SEC END -->
<A NAME="sec:modregister"></A> <A NAME="sec:modregister"></A>
@ -2453,7 +2524,7 @@ Next example prohibits the registration of too short account names:
</PRE></UL> </PRE></UL>
<!--TOC subsection <TT>mod_roster</TT>--> <!--TOC subsection <TT>mod_roster</TT>-->
<H3 CLASS="subsection"><A NAME="htoc62">5.15</A>&nbsp;&nbsp;<A NAME="modroster"><TT>mod_roster</TT></A></H3><!--SEC END --> <H3 CLASS="subsection"><A NAME="htoc63">5.16</A>&nbsp;&nbsp;<A NAME="modroster"><TT>mod_roster</TT></A></H3><!--SEC END -->
<A NAME="sec:modroster"></A> <A NAME="sec:modroster"></A>
@ -2467,7 +2538,7 @@ the processing discipline for Roster Management (<TT>jabber:iq:roster</TT>) IQ q
</DL> </DL>
<!--TOC subsection <TT>mod_service_log</TT>--> <!--TOC subsection <TT>mod_service_log</TT>-->
<H3 CLASS="subsection"><A NAME="htoc63">5.16</A>&nbsp;&nbsp;<A NAME="modservicelog"><TT>mod_service_log</TT></A></H3><!--SEC END --> <H3 CLASS="subsection"><A NAME="htoc64">5.17</A>&nbsp;&nbsp;<A NAME="modservicelog"><TT>mod_service_log</TT></A></H3><!--SEC END -->
<A NAME="sec:modservicelog"></A> <A NAME="sec:modservicelog"></A>
@ -2507,7 +2578,7 @@ To log all end user packets to the Bandersnatch service running on
</PRE></UL> </PRE></UL>
<!--TOC subsection <TT>mod_shared_roster</TT>--> <!--TOC subsection <TT>mod_shared_roster</TT>-->
<H3 CLASS="subsection"><A NAME="htoc64">5.17</A>&nbsp;&nbsp;<A NAME="modsharedroster"><TT>mod_shared_roster</TT></A></H3><!--SEC END --> <H3 CLASS="subsection"><A NAME="htoc65">5.18</A>&nbsp;&nbsp;<A NAME="modsharedroster"><TT>mod_shared_roster</TT></A></H3><!--SEC END -->
<A NAME="sec:modsharedroster"></A> <A NAME="sec:modsharedroster"></A>
@ -2634,7 +2705,7 @@ Take the case of a computer club that wants all its members seeing each
</UL> </UL>
<!--TOC subsection <TT>mod_stats</TT>--> <!--TOC subsection <TT>mod_stats</TT>-->
<H3 CLASS="subsection"><A NAME="htoc65">5.18</A>&nbsp;&nbsp;<A NAME="modstats"><TT>mod_stats</TT></A></H3><!--SEC END --> <H3 CLASS="subsection"><A NAME="htoc66">5.19</A>&nbsp;&nbsp;<A NAME="modstats"><TT>mod_stats</TT></A></H3><!--SEC END -->
<A NAME="sec:modstats"></A> <A NAME="sec:modstats"></A>
@ -2676,7 +2747,7 @@ You can request the number of online users on the current virtual host
</PRE></UL> </PRE></UL>
<!--TOC subsection <TT>mod_time</TT>--> <!--TOC subsection <TT>mod_time</TT>-->
<H3 CLASS="subsection"><A NAME="htoc66">5.19</A>&nbsp;&nbsp;<A NAME="modtime"><TT>mod_time</TT></A></H3><!--SEC END --> <H3 CLASS="subsection"><A NAME="htoc67">5.20</A>&nbsp;&nbsp;<A NAME="modtime"><TT>mod_time</TT></A></H3><!--SEC END -->
<A NAME="sec:modtime"></A> <A NAME="sec:modtime"></A>
@ -2691,7 +2762,7 @@ the processing discipline for Entity Time (<TT>jabber:iq:time</TT>) IQ queries
</DL> </DL>
<!--TOC subsection <TT>mod_vcard</TT>--> <!--TOC subsection <TT>mod_vcard</TT>-->
<H3 CLASS="subsection"><A NAME="htoc67">5.20</A>&nbsp;&nbsp;<A NAME="modvcard"><TT>mod_vcard</TT></A></H3><!--SEC END --> <H3 CLASS="subsection"><A NAME="htoc68">5.21</A>&nbsp;&nbsp;<A NAME="modvcard"><TT>mod_vcard</TT></A></H3><!--SEC END -->
<A NAME="sec:modvcard"></A> <A NAME="sec:modvcard"></A>
@ -2756,7 +2827,7 @@ In this first situation, search results are limited to twenty items,
</PRE></UL> </PRE></UL>
<!--TOC subsection <TT>mod_vcard_ldap</TT>--> <!--TOC subsection <TT>mod_vcard_ldap</TT>-->
<H3 CLASS="subsection"><A NAME="htoc68">5.21</A>&nbsp;&nbsp;<A NAME="modvcardldap"><TT>mod_vcard_ldap</TT></A></H3><!--SEC END --> <H3 CLASS="subsection"><A NAME="htoc69">5.22</A>&nbsp;&nbsp;<A NAME="modvcardldap"><TT>mod_vcard_ldap</TT></A></H3><!--SEC END -->
<A NAME="sec:modvcardldap"></A> <A NAME="sec:modvcardldap"></A>
@ -2951,7 +3022,7 @@ searching his info in LDAP.<BR>
</PRE></UL> </PRE></UL>
<!--TOC subsection <TT>mod_version</TT>--> <!--TOC subsection <TT>mod_version</TT>-->
<H3 CLASS="subsection"><A NAME="htoc69">5.22</A>&nbsp;&nbsp;<A NAME="modversion"><TT>mod_version</TT></A></H3><!--SEC END --> <H3 CLASS="subsection"><A NAME="htoc70">5.23</A>&nbsp;&nbsp;<A NAME="modversion"><TT>mod_version</TT></A></H3><!--SEC END -->
<A NAME="sec:modversion"></A> <A NAME="sec:modversion"></A>
@ -2966,7 +3037,7 @@ the processing discipline for Software Version (<TT>jabber:iq:version</TT>) IQ q
</DL> </DL>
<!--TOC section Creating an Initial Administrator--> <!--TOC section Creating an Initial Administrator-->
<H2 CLASS="section"><A NAME="htoc70">6</A>&nbsp;&nbsp;<A NAME="initialadmin">Creating an Initial Administrator</A></H2><!--SEC END --> <H2 CLASS="section"><A NAME="htoc71">6</A>&nbsp;&nbsp;<A NAME="initialadmin">Creating an Initial Administrator</A></H2><!--SEC END -->
<A NAME="sec:initialadmin"></A> <A NAME="sec:initialadmin"></A>
Before the web interface can be entered to perform administration tasks, an Before the web interface can be entered to perform administration tasks, an
@ -2981,7 +3052,7 @@ Register an account on your <TT>ejabberd</TT> deployment. An account can be
section&nbsp;<A HREF="#sec:ejabberdctl">7.2</A>): section&nbsp;<A HREF="#sec:ejabberdctl">7.2</A>):
<PRE CLASS="verbatim"> <PRE CLASS="verbatim">
% ejabberdctl node@host register admin example.org password % ejabberdctl node@host register admin example.org password
</PRE><LI CLASS="li-enumerate">Using In-Band Registration (see section&nbsp;<A HREF="#sec:modregister">5.14</A>): you can </PRE><LI CLASS="li-enumerate">Using In-Band Registration (see section&nbsp;<A HREF="#sec:modregister">5.15</A>): you can
use a Jabber client to register an account. use a Jabber client to register an account.
</OL> </OL>
<LI CLASS="li-enumerate">Edit the configuration file to promote the account created in the previous <LI CLASS="li-enumerate">Edit the configuration file to promote the account created in the previous
@ -2998,12 +3069,12 @@ Register an account on your <TT>ejabberd</TT> deployment. An account can be
</OL> </OL>
<!--TOC section Online Configuration and Monitoring--> <!--TOC section Online Configuration and Monitoring-->
<H2 CLASS="section"><A NAME="htoc71">7</A>&nbsp;&nbsp;<A NAME="onlineconfig">Online Configuration and Monitoring</A></H2><!--SEC END --> <H2 CLASS="section"><A NAME="htoc72">7</A>&nbsp;&nbsp;<A NAME="onlineconfig">Online Configuration and Monitoring</A></H2><!--SEC END -->
<A NAME="sec:onlineconfig"></A> <A NAME="sec:onlineconfig"></A>
<!--TOC subsection Web Interface--> <!--TOC subsection Web Interface-->
<H3 CLASS="subsection"><A NAME="htoc72">7.1</A>&nbsp;&nbsp;<A NAME="webinterface">Web Interface</A></H3><!--SEC END --> <H3 CLASS="subsection"><A NAME="htoc73">7.1</A>&nbsp;&nbsp;<A NAME="webinterface">Web Interface</A></H3><!--SEC END -->
<A NAME="sec:webinterface"></A> <A NAME="sec:webinterface"></A>
@ -3077,7 +3148,7 @@ You can serve the web interface on the same port as the
</PRE></UL> </PRE></UL>
<!--TOC subsection <TT>ejabberdctl</TT>--> <!--TOC subsection <TT>ejabberdctl</TT>-->
<H3 CLASS="subsection"><A NAME="htoc73">7.2</A>&nbsp;&nbsp;<A NAME="ejabberdctl"><TT>ejabberdctl</TT></A></H3><!--SEC END --> <H3 CLASS="subsection"><A NAME="htoc74">7.2</A>&nbsp;&nbsp;<A NAME="ejabberdctl"><TT>ejabberdctl</TT></A></H3><!--SEC END -->
<A NAME="sec:ejabberdctl"></A> <A NAME="sec:ejabberdctl"></A>
@ -3123,7 +3194,7 @@ Additional information:
</DL> </DL>
<!--TOC section Firewall Settings--> <!--TOC section Firewall Settings-->
<H2 CLASS="section"><A NAME="htoc74">8</A>&nbsp;&nbsp;<A NAME="firewall">Firewall Settings</A></H2><!--SEC END --> <H2 CLASS="section"><A NAME="htoc75">8</A>&nbsp;&nbsp;<A NAME="firewall">Firewall Settings</A></H2><!--SEC END -->
<A NAME="sec:firewall"></A> <A NAME="sec:firewall"></A>
@ -3152,7 +3223,7 @@ You need to take the following TCP ports in mind when configuring your firewall:
<DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV></DIV></BLOCKQUOTE> <DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV></DIV></BLOCKQUOTE>
<!--TOC section SRV Records--> <!--TOC section SRV Records-->
<H2 CLASS="section"><A NAME="htoc75">9</A>&nbsp;&nbsp;<A NAME="srv">SRV Records</A></H2><!--SEC END --> <H2 CLASS="section"><A NAME="htoc76">9</A>&nbsp;&nbsp;<A NAME="srv">SRV Records</A></H2><!--SEC END -->
<A NAME="sec:srv"></A> <A NAME="sec:srv"></A>
@ -3164,13 +3235,13 @@ General information:
</UL> </UL>
<!--TOC section Clustering--> <!--TOC section Clustering-->
<H2 CLASS="section"><A NAME="htoc76">10</A>&nbsp;&nbsp;<A NAME="clustering">Clustering</A></H2><!--SEC END --> <H2 CLASS="section"><A NAME="htoc77">10</A>&nbsp;&nbsp;<A NAME="clustering">Clustering</A></H2><!--SEC END -->
<A NAME="sec:clustering"></A> <A NAME="sec:clustering"></A>
<!--TOC subsection How it Works--> <!--TOC subsection How it Works-->
<H3 CLASS="subsection"><A NAME="htoc77">10.1</A>&nbsp;&nbsp;<A NAME="howitworks">How it Works</A></H3><!--SEC END --> <H3 CLASS="subsection"><A NAME="htoc78">10.1</A>&nbsp;&nbsp;<A NAME="howitworks">How it Works</A></H3><!--SEC END -->
<A NAME="sec:howitworks"></A> <A NAME="sec:howitworks"></A>
@ -3191,7 +3262,7 @@ router,
</UL> </UL>
<!--TOC subsubsection Router--> <!--TOC subsubsection Router-->
<H4 CLASS="subsubsection"><A NAME="htoc78">10.1.1</A>&nbsp;&nbsp;<A NAME="router">Router</A></H4><!--SEC END --> <H4 CLASS="subsubsection"><A NAME="htoc79">10.1.1</A>&nbsp;&nbsp;<A NAME="router">Router</A></H4><!--SEC END -->
<A NAME="sec:router"></A> <A NAME="sec:router"></A>
@ -3203,7 +3274,7 @@ appropriate process. If not, it is sent to the s2s manager.<BR>
<BR> <BR>
<!--TOC subsubsection Local Router--> <!--TOC subsubsection Local Router-->
<H4 CLASS="subsubsection"><A NAME="htoc79">10.1.2</A>&nbsp;&nbsp;<A NAME="localrouter">Local Router</A></H4><!--SEC END --> <H4 CLASS="subsubsection"><A NAME="htoc80">10.1.2</A>&nbsp;&nbsp;<A NAME="localrouter">Local Router</A></H4><!--SEC END -->
<A NAME="sec:localrouter"></A> <A NAME="sec:localrouter"></A>
@ -3214,7 +3285,7 @@ on its content.<BR>
<BR> <BR>
<!--TOC subsubsection Session Manager--> <!--TOC subsubsection Session Manager-->
<H4 CLASS="subsubsection"><A NAME="htoc80">10.1.3</A>&nbsp;&nbsp;<A NAME="sessionmanager">Session Manager</A></H4><!--SEC END --> <H4 CLASS="subsubsection"><A NAME="htoc81">10.1.3</A>&nbsp;&nbsp;<A NAME="sessionmanager">Session Manager</A></H4><!--SEC END -->
<A NAME="sec:sessionmanager"></A> <A NAME="sec:sessionmanager"></A>
@ -3225,7 +3296,7 @@ storage, or bounced back.<BR>
<BR> <BR>
<!--TOC subsubsection s2s Manager--> <!--TOC subsubsection s2s Manager-->
<H4 CLASS="subsubsection"><A NAME="htoc81">10.1.4</A>&nbsp;&nbsp;<A NAME="s2smanager">s2s Manager</A></H4><!--SEC END --> <H4 CLASS="subsubsection"><A NAME="htoc82">10.1.4</A>&nbsp;&nbsp;<A NAME="s2smanager">s2s Manager</A></H4><!--SEC END -->
<A NAME="sec:s2smanager"></A> <A NAME="sec:s2smanager"></A>
@ -3237,7 +3308,7 @@ serving this connection, otherwise a new connection is opened.<BR>
<BR> <BR>
<!--TOC subsection Clustering Setup--> <!--TOC subsection Clustering Setup-->
<H3 CLASS="subsection"><A NAME="htoc82">10.2</A>&nbsp;&nbsp;<A NAME="cluster">Clustering Setup</A></H3><!--SEC END --> <H3 CLASS="subsection"><A NAME="htoc83">10.2</A>&nbsp;&nbsp;<A NAME="cluster">Clustering Setup</A></H3><!--SEC END -->
<A NAME="sec:cluster"></A> <A NAME="sec:cluster"></A>
@ -3310,7 +3381,7 @@ domain.<BR>
<!--TOC section Internationalization and Localization--> <!--TOC section Internationalization and Localization-->
<H2 CLASS="section"><A NAME="htoc83">A</A>&nbsp;&nbsp;<A NAME="i18nl10n">Internationalization and Localization</A></H2><!--SEC END --> <H2 CLASS="section"><A NAME="htoc84">A</A>&nbsp;&nbsp;<A NAME="i18nl10n">Internationalization and Localization</A></H2><!--SEC END -->
<A NAME="sec:i18nl10n"></A> <A NAME="sec:i18nl10n"></A>
@ -3353,13 +3424,13 @@ figure&nbsp;<A HREF="#fig:webadmmainru">3</A> with figure&nbsp;<A HREF="#fig:web
<DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV></DIV></BLOCKQUOTE> <DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV></DIV></BLOCKQUOTE>
<!--TOC section Release Notes--> <!--TOC section Release Notes-->
<H2 CLASS="section"><A NAME="htoc84">B</A>&nbsp;&nbsp;<A NAME="releasenotes">Release Notes</A></H2><!--SEC END --> <H2 CLASS="section"><A NAME="htoc85">B</A>&nbsp;&nbsp;<A NAME="releasenotes">Release Notes</A></H2><!--SEC END -->
<A NAME="sec:releasenotes"></A> <A NAME="sec:releasenotes"></A>
<!--TOC subsection ejabberd 0.9--> <!--TOC subsection ejabberd 0.9-->
<H3 CLASS="subsection"><A NAME="htoc85">B.1</A>&nbsp;&nbsp;ejabberd 0.9</H3><!--SEC END --> <H3 CLASS="subsection"><A NAME="htoc86">B.1</A>&nbsp;&nbsp;ejabberd 0.9</H3><!--SEC END -->
<PRE CLASS="verbatim"> <PRE CLASS="verbatim">
Release notes Release notes
@ -3453,7 +3524,7 @@ Bugfixes
</PRE> </PRE>
<!--TOC subsection ejabberd 0.9.1--> <!--TOC subsection ejabberd 0.9.1-->
<H3 CLASS="subsection"><A NAME="htoc86">B.2</A>&nbsp;&nbsp;ejabberd 0.9.1</H3><!--SEC END --> <H3 CLASS="subsection"><A NAME="htoc87">B.2</A>&nbsp;&nbsp;ejabberd 0.9.1</H3><!--SEC END -->
<PRE CLASS="verbatim"> <PRE CLASS="verbatim">
Release notes Release notes
@ -3521,7 +3592,7 @@ Bugfixes
</PRE> </PRE>
<!--TOC subsection ejabberd 0.9.8--> <!--TOC subsection ejabberd 0.9.8-->
<H3 CLASS="subsection"><A NAME="htoc87">B.3</A>&nbsp;&nbsp;ejabberd 0.9.8</H3><!--SEC END --> <H3 CLASS="subsection"><A NAME="htoc88">B.3</A>&nbsp;&nbsp;ejabberd 0.9.8</H3><!--SEC END -->
<PRE CLASS="verbatim"> <PRE CLASS="verbatim">
Release notes Release notes
@ -3626,7 +3697,7 @@ END
</PRE> </PRE>
<!--TOC subsection ejabberd 1.0.0--> <!--TOC subsection ejabberd 1.0.0-->
<H3 CLASS="subsection"><A NAME="htoc88">B.4</A>&nbsp;&nbsp;ejabberd 1.0.0</H3><!--SEC END --> <H3 CLASS="subsection"><A NAME="htoc89">B.4</A>&nbsp;&nbsp;ejabberd 1.0.0</H3><!--SEC END -->
<PRE CLASS="verbatim"> <PRE CLASS="verbatim">
Release Notes Release Notes
@ -3752,7 +3823,7 @@ END
</PRE> </PRE>
<!--TOC subsection ejabberd 1.1.0--> <!--TOC subsection ejabberd 1.1.0-->
<H3 CLASS="subsection"><A NAME="htoc89">B.5</A>&nbsp;&nbsp;ejabberd 1.1.0</H3><!--SEC END --> <H3 CLASS="subsection"><A NAME="htoc90">B.5</A>&nbsp;&nbsp;ejabberd 1.1.0</H3><!--SEC END -->
<PRE CLASS="verbatim"> <PRE CLASS="verbatim">
Release Notes Release Notes
@ -3873,7 +3944,7 @@ END
</PRE> </PRE>
<!--TOC subsection ejabberd 1.1.1--> <!--TOC subsection ejabberd 1.1.1-->
<H3 CLASS="subsection"><A NAME="htoc90">B.6</A>&nbsp;&nbsp;ejabberd 1.1.1</H3><!--SEC END --> <H3 CLASS="subsection"><A NAME="htoc91">B.6</A>&nbsp;&nbsp;ejabberd 1.1.1</H3><!--SEC END -->
<PRE CLASS="verbatim"> <PRE CLASS="verbatim">
Release Notes Release Notes
@ -3998,7 +4069,7 @@ END
</PRE> </PRE>
<!--TOC subsection ejabberd 1.1.2--> <!--TOC subsection ejabberd 1.1.2-->
<H3 CLASS="subsection"><A NAME="htoc91">B.7</A>&nbsp;&nbsp;ejabberd 1.1.2</H3><!--SEC END --> <H3 CLASS="subsection"><A NAME="htoc92">B.7</A>&nbsp;&nbsp;ejabberd 1.1.2</H3><!--SEC END -->
<PRE CLASS="verbatim"> <PRE CLASS="verbatim">
Release Notes Release Notes
@ -4123,7 +4194,7 @@ END
</PRE> </PRE>
<!--TOC section Acknowledgements--> <!--TOC section Acknowledgements-->
<H2 CLASS="section"><A NAME="htoc92">C</A>&nbsp;&nbsp;<A NAME="acknowledgements">Acknowledgements</A></H2><!--SEC END --> <H2 CLASS="section"><A NAME="htoc93">C</A>&nbsp;&nbsp;<A NAME="acknowledgements">Acknowledgements</A></H2><!--SEC END -->
<A NAME="sec:acknowledgements"></A> <A NAME="sec:acknowledgements"></A>
Thanks to all people who contributed to this guide: Thanks to all people who contributed to this guide:
@ -4140,7 +4211,7 @@ Alexey Shchepin (<A HREF="xmpp:aleksey@jabber.ru"><TT>xmpp:aleksey@jabber.ru</TT
</UL> </UL>
<!--TOC section Copyright Information--> <!--TOC section Copyright Information-->
<H2 CLASS="section"><A NAME="htoc93">D</A>&nbsp;&nbsp;<A NAME="copyright">Copyright Information</A></H2><!--SEC END --> <H2 CLASS="section"><A NAME="htoc94">D</A>&nbsp;&nbsp;<A NAME="copyright">Copyright Information</A></H2><!--SEC END -->
<A NAME="sec:copyright"></A> <A NAME="sec:copyright"></A>
Ejabberd Installation and Operation Guide.<BR> Ejabberd Installation and Operation Guide.<BR>

View File

@ -58,6 +58,7 @@
\newcommand{\modofflineodbc}{\module{mod\_offline\_odbc}} \newcommand{\modofflineodbc}{\module{mod\_offline\_odbc}}
\newcommand{\modprivacy}{\module{mod\_privacy}} \newcommand{\modprivacy}{\module{mod\_privacy}}
\newcommand{\modprivate}{\module{mod\_private}} \newcommand{\modprivate}{\module{mod\_private}}
\newcommand{\modproxy}{\module{mod\_proxy65}}
\newcommand{\modpubsub}{\module{mod\_pubsub}} \newcommand{\modpubsub}{\module{mod\_pubsub}}
\newcommand{\modregister}{\module{mod\_register}} \newcommand{\modregister}{\module{mod\_register}}
\newcommand{\modroster}{\module{mod\_roster}} \newcommand{\modroster}{\module{mod\_roster}}
@ -1476,6 +1477,7 @@ database for the following data:
\hline \modofflineodbc{} & Offline message storage & supported database (*) & No \\ \hline \modofflineodbc{} & Offline message storage & supported database (*) & No \\
\hline \modprivacy{} & Blocking Communication & & Yes \\ \hline \modprivacy{} & Blocking Communication & & Yes \\
\hline \modprivate{} & Private XML Storage (\jepref{0049}) & & No \\ \hline \modprivate{} & Private XML Storage (\jepref{0049}) & & No \\
\hline \modproxy{} & SOCKS5 Bytestreams (\jepref{0065}) & & No\\
\hline \modpubsub{} & Publish-Subscribe (\jepref{0060}) & & No \\ \hline \modpubsub{} & Publish-Subscribe (\jepref{0060}) & & No \\
\hline \modregister{} & In-Band Registration (\jepref{0077}) & & No \\ \hline \modregister{} & In-Band Registration (\jepref{0077}) & & No \\
\hline \modroster{} & Roster management & & Yes (**) \\ \hline \modroster{} & Roster management & & Yes (**) \\
@ -2092,6 +2094,73 @@ Options:
\iqdiscitem{Private XML Storage (\ns{jabber:iq:private})} \iqdiscitem{Private XML Storage (\ns{jabber:iq:private})}
\end{description} \end{description}
\subsection{\aname{modproxy}{\modproxy{}}}
\label{sec:modproxy}
\ind{modules!\modversion{}}\ind{protocols!JEP-0065: SOCKS5 Bytestreams}
This module implements SOCKS5 Bytestreams (\jepref{0065}).
It allows \ejabberd{} to act as a file transfer proxy between two
XMPP clients.
Options:
\begin{description}
\titem{host}\ind{options!host}This option defines the hostname of the service.
If this option is not set, the prefix `\jid{proxy.}' is added to \ejabberd{}
hostname.
\titem{name}\ind{options!name}Defines Service Discovery name of the service.
Default is \term{"SOCKS5 Bytestreams"}.
\titem{ip}\ind{options!ip}This option specifies which network interface
to listen for. Default is an IP address of the service's DNS name, or,
if fails, \verb|{127,0,0,1}|.
\titem{port}\ind{options!port}This option defines port to listen for
incoming connections. Default is~7777.
\titem{auth\_type}\ind{options!auth\_type}SOCKS5 authentication type.
Possible values are \term{anonymous} and \term{plain}. Default is
\term{anonymous}.
\titem{access}\ind{options!access}Defines ACL for file transfer initiators.
Default is \term{all}.
\titem{max\_connections}\ind{options!max\_connections}Maximum number of
active connections per file transfer initiator. No limit by default.
\titem{shaper}\ind{options!shaper}This option defines shaper for
the file transfer peers. Shaper with the maximum bandwidth will be selected.
Default is \term{none}.
\end{description}
Examples:
\begin{itemize}
\item The simpliest configuration of the module:
\begin{verbatim}
{modules,
[
...
{mod_proxy65, []},
...
]}.
\end{verbatim}
\item More complicated configuration.
\begin{verbatim}
{acl, proxy_users, {server, "example.org"}}.
{access, proxy65_access, [{allow, proxy_users}, {deny, all}]}.
...
{acl, admin, {user, "admin", "example.org"}}.
{shaper, normal, {maxrate, 10240}}. %% 10 Kbytes/sec
{access, proxy65_shaper, [{none, admin}, {normal, all}]}.
...
{modules,
[
...
{mod_proxy65, [{host, "proxy1.example.org"},
{name, "File Transfer Proxy"},
{ip, {200,150,100,1}},
{port, 7778},
{max_connections, 5},
{access, proxy65_access},
{shaper, proxy65_shaper}]},
...
]}.
\end{verbatim}
\end{itemize}
\subsection{\aname{modpubsub}{\modpubsub{}}} \subsection{\aname{modpubsub}{\modpubsub{}}}
\label{sec:modpubsub} \label{sec:modpubsub}
\ind{modules!\modpubsub{}}\ind{protocols!JEP-0060: Publish-Subscribe} \ind{modules!\modpubsub{}}\ind{protocols!JEP-0060: Publish-Subscribe}