Pyftpdlib
Encyclopedia
Python FTP Server library (pyftpdlib) is a free
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 FTP
File Transfer Protocol
File Transfer Protocol is a standard network protocol used to transfer files from one host to another host over a TCP-based network, such as the Internet. FTP is built on a client-server architecture and utilizes separate control and data connections between the client and server...

 server library providing a portable interface to easily write asynchronous FTP servers with Python. It is currently the most complete RFC-959 FTP server implementation available for Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

 programming language.

Features

  • Support for recent FTP commands like MLSD and MLST (RFC-3659).
  • Support for FTPS
    FTPS
    FTPS is an extension to the commonly used File Transfer Protocol that adds support for the Transport Layer Security and the Secure Sockets Layer cryptographic protocols....

     (FTP over TLS
    Transport Layer Security
    Transport Layer Security and its predecessor, Secure Sockets Layer , are cryptographic protocols that provide communication security over the Internet...

    /SSL, still experimental and provided as a demo script).
  • Support for FXP
    File eXchange Protocol
    File eXchange Protocol and is a method of data transfer which uses FTP to transfer data from one remote server to another without routing this data through the client's connection. Conventional FTP involves a single server and a single client; all data transmission is done between these two...

    , site-to-site transfers.
  • Support for IPv6
    IPv6
    Internet Protocol version 6 is a version of the Internet Protocol . It is designed to succeed the Internet Protocol version 4...

     (RFC-2428).
  • NAT
    Nat
    Nat or NAT may refer to:* Nat., an abbreviation for Natural* Nat , a Burmese spirit worshipped in Myanmar in conjunction with Buddhism...

    /Firewall
    Firewall (computing)
    A firewall is a device or set of devices designed to permit or deny network transmissions based upon a set of rules and is frequently used to protect networks from unauthorized access while permitting legitimate communications to pass....

     support with PASV/EPSV passive mode connections.
  • Bandwidth throttling
    Bandwidth throttling
    Bandwidth throttling is a reactive measure employed in communication networks to regulate network traffic and minimize bandwidth congestion. Bandwidth throttling can occur at different locations on the network. On a local area network , a sysadmin may employ bandwidth throttling to help limit...

    .
  • Support for resumed transfers.
  • Per-user permissions configurability.
  • Maximum connections limit.
  • Per-source-IP limits.
  • Configurable idle timeouts for both control and data channels.
  • Compact: the entire library is distributed in a single file (ftpserver.py).
  • Entirely written in pure Python
    Python (programming language)
    Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

    , no third party modules are used. It works on any system where select or poll is available.
  • Extremely flexible system of "authorizers" able to manage both "virtual" and "real" users on different platforms (Windows, UNIX
    Unix
    Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

    , Mac OS X
    Mac OS X
    Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

    ).

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK