Intelligent Pack: Configuring

From CFTP

Jump to: navigation, search

This explains configuration for the latest Version 1.13


The plug-in is configured in the file conf/beans.xml located in your server's home directory.


Contents

Control Connection

Class name IntelControlConnection

<bean id="controlConnection" 
  class="com.coldcore.coloradoftp.plugin.intellipack.connection.IntelControlConnection"...
  <constructor-arg index="0" value="8192"/>
</bean>

Properties you may apply:


timeout

User inactivity timeout in seconds after log in. User will be disconnected if inactive for too long. By default it is set to 0 – no timeout.


loginTimeout

User inactivity timeout in seconds prior to log in. User will be disconnected if inactive for too long. By default it is set to 0 – no timeout.


As this class extends GenericControlConnection it also inherits its properties: sleep, bufferSize.


Data Connection

Class name IntelDataConnection

<bean id="dataConnection" 
  class="com.coldcore.coloradoftp.plugin.intellipack.connection.IntelDataConnection"...
  <constructor-arg index="0" value="8192"/>
</bean>

Properties you may apply:


timeout

User inactivity timeout in seconds. Data connection will be aborted if no data transferred for too long. By default it is set to 0 – no timeout.


localIpRegexp

Regular expression to determine if a connection is Local or Remote based on its IP address. Any connection with the IP address matching this regular expression will be considered as Local Connection (inside your local network), and as Remote Connection otherwise (outside of your local network). By default it is set to 192.168.* – all addresses starting with 192.168.


totalSpeedLocal

Data transfer speed limit to apply to all Local Connections together (bytes/sec). FTP server will restrict its traffic on your network card serving local clients so that the traffic will not go beyond this value. By default it is set to 0 – no limit.


totalSpeedRemote

Data transfer speed limit to apply to all Remote Connections together (bytes/sec). FTP server will restrict its traffic on your network card serving remote clients so that the traffic will not go beyond this value. By default it is set to 0 – no limit.


In case if you are using a singe network card for Local and Remote Connections then the total traffic FTP server may produce on your network card will be the sum of Local and Remote limits.


As this class extends GenericDataConnection it also inherits its properties: sleep, bufferSize.


Control Connector

Class name IntelControlConnector

<bean id="controlConnector" 
  class="com.coldcore.coloradoftp.plugin.intellipack.connection.IntelControlConnector">
</bean>

Properties you may apply:


maxConnections

Limit on simultaneously open control connections. This is the amount of users FTP server may handle, no new control connections will be allowed once this limit is reached (your FTP server will print a message and disconnect an incoming connection). By default it is set to 0 – no limit.


connectionsPerHost

Limit on simultaneously open control connection that have the same IP address. This is the amount of users FTP server may handle that come from the same host (machine), no new control connections will be allowed from the host the once this limit is reached (your FTP server will print a message and disconnect an incoming connection). Although this is required to prevent one user from transferring many files in parallel leaving no traffic for others, it is not recommended to set the limit, as two users may use the same network gateway and will have the same IP address, this plug-in will think that this is the same user. By default it is set to 0 – no limit.


ipMap

This map allows or forbids connections based on IP addresses. Key is a regular expression of an IP address and a value is a Boolean (true to allow, false to forbid). Every new connection IP address will be compared with every key in the map until the first match is found. If the value for that key is TRUE then the connection will be accepted by the FTP server, otherwise a message will be printed and the connection will be terminated.


As this class extends GenericControlConnector it also inherits its properties: sleep, port.


File Command Wrapper

Class name IntelFileCommandWrapper

<bean id="storCommand"
  class="com.coldcore.coloradoftp.plugin.intellipack.command.IntelFileCommandWrapper"...
  <constructor-arg index="0">
    <bean class="com.coldcore.coloradoftp.command.impl.ftp.StorCommand"...
  </constructor-arg>
  <property name="maxDataConnections" value="400"/>
</bean>

Properties you may apply:


constructor

Pass an existing FTP command you wish to wrap.


maxDataConnections

Limit simultaneous open data connection. This is required to prevent your system running out of file descriptors and to have reasonable traffic per user. It is recommended to wrap any FTP command that might create a new data connection. By default it is set to 0 – no limit.


PASV Command

Class name IntelPasvCommand

<bean id="pasvCommand"
  class="com.coldcore.coloradoftp.plugin.intellipack.command.IntelFileCommandWrapper"...
  <constructor-arg index="0">
    <bean class="com.coldcore.coloradoftp.plugin.intellipack.command.IntelPasvCommand"...
      <property name="localIp" value="192.168.0.1"/>
      <property name="remoteIp" value="87.192.164.15"/>
    </bean>
  </constructor-arg>
  <property name="maxDataConnections" value="400"/>
</bean>

Properties you may apply:


localIpRegexp

This property is not displayed in the example. It defines a regular expression to determine if connection is Local or Remote based on its IP address. Any connection with the IP address matching this regular expression will be considered as Local Connection (inside your local network), and as Remote Connection otherwise (outside of your local network). This property must be the same as in localIpRegexp for Data Connection (IntelDataConnection) described earlier. By default it is set to 192.168.* – all addresses starting with 192.168.


localIp

Server IP address for incoming Local Data Connections (inside your local network). FTP client will attempt to connect to this address for the next file transfer operation.


remoteIp

Server IP address for incoming Remote Data Connections (outside of your local network). FTP client will attempt to connect to this address for the next file transfer operation.


You may set the same server IP address for both Local and Remote Connections.



Return to Plug-in: Intelligent Pack

Personal tools