ossftp is a FTP server tool based on Alibaba Cloud OSS. ossftp receives FTP requests and maps file and folder operations to OSS objects and buckets, allowing you to manage objects stored on OSS over FTP.

Features and functions

  • Features
    • Cross-platform: You can run this tool from a graphical interface or using command lines on 32-bit or 64-bit Windows, Linux, and macOS operating systems.
    • Free of installation: You can run this tool directly after decompression.
    • Free of configuration: You can run this tool without further configurations.
    • Open source: The FTP tool is written in Python. You can view the complete source code. We will make the code available on GitHub.
  • Functions
    • Upload, download, and delete objects and folders.
    • Supports multipart upload of large files.
    • Supports most FTP commands to meet everyday needs.
      • ossftp is designed for individual users. We recommended that you use the OSS SDK for production environments.
      • The ossftp V1.0 does not support Transport Layer Security (TLS) encryption for the ease of installation and deployment. FTP transmits data in plaintext. To prevent password leaks, we recommend that you run the FTP server and client on the same server and access using
      • Renaming and moving OSS objects through ossftp are not supported.
      • The path to which the installation package is decompressed cannot contain Chinese characters.
      • The management control page of the FTP server may fail to open in Internet Explorer of earlier versions.
      • Python 2.6 and Python 2.7 are supported by FTP servers.

Download link

  • Windows: ossftp-1.0.3-win.zip

    Python 2.7 is not installed on Windows by default. The installation package contains Python 2.7, and you can run ossftp directly after decompression.

  • Linux/macOS: ossftp-1.0.3-linux-mac.zip

    Python 2.7 or Python 2.6 is installed on Linux or macOS by default. Therefore, the installation package only contains the required dependency libraries.


  1. Download the installation package based on your operating system.
  2. Decompress the installation package and run it.
    • Windows

      Decompress the installation package and double-click start.vbs. If no response is returned, upgrade your Internet Explorer or set a different browser as the default browser.

    • Linux
      1. Decompress the installation package:
        $ unzip ossftp-1.0.3-linux-mac.zip
      2. Open the decompressed folder and run start.sh:
        $ cd ossftp-1.0.3-linux-mac
        $ bash start.sh
      3. Use a computer with a graphical interface to access the FTP server operation interface through a browser. Domain name: http://ServerIP:8192.
    • macOS

      Decompress the installation package and double-click start.command. Alternatively, run $ bash start.command on the terminal

  3. The preceding process starts an FTP server, which listens to port 2048 on IP address by default. A web server is also started to listen to port 8192 on IP address for the convenience of monitoring the FTP server status.
    • ossftp address: Set the IP address of the client that needs to use the FTP service. If the client is running on this server, you can keep the default setting.
    • ossftp port: Set the listening port of ossftp. Keep the default setting.
    • ossftp log level: Set the log level of ossftp. Set this parameter as needed.
    • Bucket endpoints: Enter the domain name of the bucket in bucket_name.endpoint format. Separate multiple domain names with commas (.).
    • Language: Set the display language for ossftp.
    • After the configuration is complete, save the configuration and click Restart to apply the configuration.
    • A server can only have a single connection at a time. When a new connection is created, the previous connection to the server is ended.
  4. Download and install FileZilla Client.
  5. After configuring the OSS access information, you can click Quickconnect.
    • Host: Set the server IP address. If the server and client are on the same device, use the default address
    • Username: Enter a bucket name and the AccessKey ID of the account that has the permission to access the bucket. The format is AccessKeyID/bucket_name. Example: tSxyi******wPMEp/test-hz-jh-002.
    • Password: Enter the AccessKey secret of the account that has the permission to access the bucket.
    • Port: Enter the listening port configured on the server. The default value is 2048.
      Note For more information about how to obtain the AccessKey ID and AccessKey secret, see the "Programmatic Access" section in Create a RAM user.