329 lines
12 KiB
HTML
329 lines
12 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>ProFTPD Modules</title>
|
|
</head>
|
|
|
|
<body bgcolor=white>
|
|
|
|
<hr>
|
|
<center><h2><b>ProFTPD Modules</b></h2></center>
|
|
<hr>
|
|
|
|
<p>
|
|
<b>Modules</b>
|
|
ProFTPD uses APIs and a build system capable of including plugins, or
|
|
<em>modules</em>, to enable new functionality or to enhance existing behavior.
|
|
|
|
<p>
|
|
<b>Default Modules</b>
|
|
The following modules are <i>always</i> included in a ProFTPD build. The
|
|
source code for these modules resides in the <code>modules/</code> directory.
|
|
|
|
<p>
|
|
<table border= summary="Default Modules">
|
|
<tr>
|
|
<td><b> Module </b></td>
|
|
<td><b> Description </b></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_auth</code> </td>
|
|
<td> Implements FTP authentication commands: <code>USER</code>, <code>PASS</code>, <code>ACCT</code>, <code>REIN</code> </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_auth_file</code> </td>
|
|
<td> Implements file-based authentication </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_auth_unix</code> </td>
|
|
<td> Implements traditional Unix-based authentication </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_core</code> </td>
|
|
<td> Implements most of the main FTP commands </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_delay</code> </td>
|
|
<td> Implements algorithms to protect against information leaks via timing attacks </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_facts</code> </td>
|
|
<td> Implements modern FTP commands for directory listing </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_log</code> </td>
|
|
<td> Implements main ProFTPD logging </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_ls</code> </td>
|
|
<td> Implements legacy FTP commands for directory listing </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_site</code> </td>
|
|
<td> Implements FTP <code>SITE</code> commands </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_xfer</code> </td>
|
|
<td> Implements FTP file transfer commands: <code>STOR</code>, <code>RETR</code>, <code>APPE</code>, <code>REST</code>, <code>ABOR</code>, <code>TYPE</code>, <code>STRU</code>, <code>MODE</code>, <code>ALLO</code>, <code>SMNT</code>, <code>STOU</code> </td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p>
|
|
<b>Conditional Modules</b>
|
|
These modules will be automatically included by the build system, <i>if</i>
|
|
it detects OS/platform support for them:
|
|
|
|
<p>
|
|
<table border= summary="Conditional Modules">
|
|
<tr>
|
|
<td><b> Module </b></td>
|
|
<td><b> Description </b></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_auth_pam</code> </td>
|
|
<td> Interfaces with the PAM library; see the <a href="./Authentication.html">authentication howto</a> for details </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_cap</code> </td>
|
|
<td> Interfaces with Linux capabilities; see the <a href="../modules/mod_cap.html">module docs</a> for more information </td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p>
|
|
<b>Special Modules</b>
|
|
Some modules require <em>special</em> build system support, and thus will
|
|
be included in the build only when requested using special command-line
|
|
options to the <code>configure</code> command:
|
|
|
|
<p>
|
|
<table border= summary="Special Modules">
|
|
<tr>
|
|
<td><b> Module </b></td>
|
|
<td><b> Configure Option </b></td>
|
|
<td><b> Description </b></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_ctrls</code> </td>
|
|
<td> <code>--enable-ctrls </td>
|
|
<td> Enables <a href="./Controls.html">Controls</a> functionality </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_dso</code> </td>
|
|
<td> <code>--enable-dso </td>
|
|
<td> Enables <a href="./DSO.html">dynamically loadable module</a> functionality </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_facl</code> </td>
|
|
<td> <code>--enable-facl </td>
|
|
<td> Enables support for POSIX filesystem ACLs; see the <a href="../modules/mod_facl.html">module docs</a> for more information </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_lang</code> </td>
|
|
<td> <code>--enable-nls </td>
|
|
<td> Enables Natural Language System (NLS) support; see the <a href="../modules/mod_lang.html">module docs</a> for details </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_memcache</code> </td>
|
|
<td> <code>--enable-memcache </td>
|
|
<td> Enables Memcache support; see the <a href="../modules/mod_memcache.html">module docs</a> for details </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_redis</code> </td>
|
|
<td> <code>--enable-redis </td>
|
|
<td> Enables Redis support; see the <a href="../modules/mod_redis.html">module docs</a> for details </td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p>
|
|
<b>Contributed Modules</b>
|
|
And finally, there are the <em>contributed</em> modules. These are modules
|
|
that were contributed to the ProFTPD Project over the years, developed by the
|
|
ProFTPD community at large for their various use cases. Many of these became
|
|
so popular with the community that the ProFTPD Project decided to include (or
|
|
"bundle") these contributed modules as part of the source distribution, to
|
|
help ensure that these popular modules would continue to be maintained
|
|
alongside the core engine code.
|
|
|
|
The source code for these modules resides in the <code>contrib/</code>
|
|
directory.
|
|
|
|
<p>
|
|
<table border= summary="Contrib Modules">
|
|
<tr>
|
|
<td><b> Module </b></td>
|
|
<td><b> Description </b></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_ban</code> </td>
|
|
<td> Supports dynamic blocklisting of clients; see <a href="../contrib/mod_ban.html">module doc</a> for details </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_ctrls_admin</code> </td>
|
|
<td> Common <code>ftpdctl</code> actions; see <a href="../contrib/mod_ctrls_admin.html">module doc</a> for more info </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_dynmasq</code> </td>
|
|
<td> Automatically update configuration for DynDNS-using servers; see <a href="../contrib/mod_dynmasq.html">module doc</a> to learn more </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_exec</code> </td>
|
|
<td> Execute scripts based on session events; see <a href="../contrib/mod_exec.html">module doc</a> to learn more </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_geoip</code> </td>
|
|
<td> Supports blocking clients by geo information; see <a href="../contrib/mod_geoip.html">module doc</a> for info </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_ifsession</code> </td>
|
|
<td> Conditional configurations applied per-user/group/class; see <a href="../contrib/mod_ifsession.html">module doc</a> for details </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_ldap</code> </td>
|
|
<td> Support authentication using LDAP; see <a href="../contrib/mod_ldap.html">module doc</a> for details </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_log_forensic</code> </td>
|
|
<td> Log details only under specific criteria; see <a href="../contrib/mod_log_forensic.html">module doc</a> to learn more </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_geoip</code> </td>
|
|
<td> Reject clients if the system load is too high; see <a href="../contrib/mod_load.html">module doc</a> for info </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_qos</code> </td>
|
|
<td> Set TCP Quality Of Service (TCP) bits; see <a href="../contrib/mod_qos.html">module doc</a> for details </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_quotatab</code> </td>
|
|
<td> User/group/class-specific quotas; see <a href="../contrib/mod_quotatab.html">module doc</a> for more information </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_radius</code> </td>
|
|
<td> Support authentication using RADIUS; see <a href="../contrib/mod_radius.html">module doc</a> for details </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_ratio</code> </td>
|
|
<td> Per-user upload/download ratios; see <a href="../contrib/mod_ratio.html">module doc</a> </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_readme</code> </td>
|
|
<td> Display "readme" files to clients; see <a href="../contrib/mod_readme.html">module doc</a> for more </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_rewrite</code> </td>
|
|
<td> Dynamically rewrite commands on-the-flly; see <a href="../howto/Rewrite.html">howto doc</a> for details </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_sftp</code> </td>
|
|
<td> Implements SFTP; see <a href="../contrib/mod_sftp.html">module doc</a> for details </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_sftp_pam</code> </td>
|
|
<td> Implements SSH and PAM authentication; see <a href="../contrib/mod_sftp_pam.html">module doc</a> for details </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_sftp_sql</code> </td>
|
|
<td> Retreive SSH public keys from SQL databases; see <a href="../contrib/mod_sftp_pam.html">module doc</a> for info </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_shaper</code> </td>
|
|
<td> Throttling of data transfers across the entire server; see <a href="../contrib/mod_shaper.html">module doc</a> for details </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_site_misc</code> </td>
|
|
<td> Miscellaneous <code>SITE</code> commands; see <a href="../contrib/mod_ctrls_admin.html">module doc</a> to learn more </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_sql</code> </td>
|
|
<td> Support authentication using SQL databases; see <a href="../howto/SQL.html">howto doc</a> for instructions </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_tls</code> </td>
|
|
<td> Implements FTP over TLS (FTPS); see <a href="../contrib/mod_tls.html">module doc</a> for more </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_tls_fscache</code> </td>
|
|
<td> Enable TLS caching via filesystem; see <a href="../contrib/mod_tls_fscache.html">module doc</a> for more </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_tls_memcache</code> </td>
|
|
<td> Enable TLS caching via Memcache; see <a href="../contrib/mod_tls_memcache.html">module doc</a> for more </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_tls_redis</code> </td>
|
|
<td> Enable TLS caching via Redis; see <a href="../contrib/mod_tls_redis.html">module doc</a> for more </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_tls_shmcache</code> </td>
|
|
<td> Enable TLS caching via Shared Memory; see <a href="../contrib/mod_tls_shmcache.html">module doc</a> for details </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_unique_id</code> </td>
|
|
<td> Generate a guaranteed unique ID for each session; see <a href="../contrib/mod_unique_id.html">module doc</a> for more </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_wrap</code> </td>
|
|
<td> Use popular <code>tcp_wrappers</code> for client ACLs; see <a href="../contrib/mod_wrap.html">module doc</a> for details </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> <code>mod_wrap2</code> </td>
|
|
<td> Enhanced support for client ACLs; see <a href="../contrib/mod_wrap2.html">module doc</a> for details </td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p>
|
|
<b>Third-Party Modules</b>
|
|
As mentioned above, ProFTPD's APIs and build system support modules, even
|
|
those that are not included as part of the project source distribution. You
|
|
will find ProFTPD modules, in source form, in various other sites and projects
|
|
around the Internet. This is precisely why ProFTPD allows for such plugins;
|
|
the ProFTPD Project wants to support and encourage the community at large
|
|
to develop for their needs, and to enable development and creativity!
|