theme switch button


CrushFTP is filled full of features. Features you might not use right away, but eventually as your business grows you'll wonder if it can handle a new task. Usually, the feature is already there, just waiting for you to explore and use it! First time users will be up and running in no time, and power users won't be disappointed with a lack of options, controls, or functionality.

Download Now!


Everything is done from a web browser. You can login from anywhere you can reach your server with a web browser, and administrate it. Creating users, changing preferences, running reports, configuring plugins, etc. A high end WebInterface controls everything and it can be branded and skinned to fit into your comapny's web styles. Realtime graphs are being displayed as metrics on the server are changing. When you connect, you can see the history of the prior 5 minutes of activity.




The server administrator can delegate and grant administration access to end users in a limited way. You can allow a user to see the user manager or edit users, see the server prefs or edit them, see jobs, or edit them, and so on. You can also make a limited admin who has access to a subset of users and that is all they see and can work with. They are walled off into their own limited administration area.


Users have events, and the server has alerts. Alerts are global actions that the server is monitoring for and then alerting you to their occurrence. This may be a user reaching their quota, or a user getting banned, a drive running low on free space, etc. Alerts are a global way for you to find out about issues that may affect the server's operations.




While CrushFTP is not a traditional AS2 styled server that focuses on B2B operations, it can be used to accept AS2 files and send out MDN responses. You can configure CrushTask to send AS2 outgoing requests as well, or proxy data through CrushFTP as an outgoing AS2 send. CrushFTP is primarily a file transfer server, and treats AS2 transfers as just another way to send a file's contents.


CrushFTP is always monitoring patterns of connections, and actions users are taking. If it detects a user being abusive based on these parameters, it can ban their IP permanently or for a period of time. It easily weeds out the robots scanning public servers by detecting common user name hammering on users like 'root', 'admin', 'mysql', etc. It promptly bans the IP for even one attempt as such an action. Additonal protection will protect you from DDoS attacks as well.


bandwidth-acceleration bandwidth-acceleration


CrushTunnel allows for a robust system of running other connections an a multiplexed HTTP(s) connection. For example you can run an insecure FTP connection inside a HTTPS tunnel to its destination keeping everything secure. If there are any network interruptions, thats fine too as the tunnel ensures the "internal" connections are not interrupted. The tunnel can gracefully recover from lost packets, and disconnections. The tunnel also provides bandwidth acceleration for enterprise licenses so that the single connections gets divided up into many connections delivering the data in parallel to the other side where its reassembled in order and delivered to the real destination it was intended for.

We have native support for a similar feature right in the web browser using WebSockets. Both uploads and downloads can be accelerated, which can significantly reduce transfer times. No special plugins or any software needs to be used, its native to any modern web browser.


(Enterprise licenses only.)

CrushFTP can act as a SOCKS5 proxy, including validating user/pass authentication and destination rules.


Why should a change in OS keep you from running the same server? CrushFTP supports nearly every current OS. If you can run Java 8 or better, then you can run CrushFTP. (macOS, Windows, Linux, Unix, BSD, Solaris, etc.)


TFTP Server

CrushFTP can act as a mini TFTP proxy engine. It can accept TFTP transfers and proxy them into your CrushFTP VFS system. This can be useful for backing up some hardware configs where the devices still use the ancient TFTP protocol.


(Enterprise licenses only.)

This allows you to have a server running in your DMZ that is controlled by an internal master server. No ports need to be opened incoming to your network as the internal server is always making outgoing connections to the DMZ. A single internal server can have many DMZ servers it controls.


Event actions that are user customizable. They can generate emails with a list of uploads a user just made, or many various other tasks. You can customize events down to extreme detail. Events can be used to run various plugins which then perform other tasks as well (such as the CrushTask plugin.)




(Enterprise licenses only.)

This provides real time file synchronizations through CrushFTP. The client runs on the local machine monitoring the specified folders. When a change is detected, the change is propagated to the CrushFTP server, and any other clients subscribed to that folder now get those same changes. Only the changed parts of large files are sent, compression is used to save on bandwidth, and bandwidth acceleration can be used as well. Client configurations can be pre-configured for deployment. The client is launched as an automatically updating application over a web connection. You as the server administrator control when you want to update the application for end users.



The folder monitor can scan sub-directories looking for files that have reached a certain age, and then process them in various ways. This can include deleting, archiving, or running a CrushTask to do even more complex things with no limit to what could be done. Its primarily used for cleanup purposes.

IN-PLACE UPDATES (no downtime!)

CrushFTP can do an update to itself with no downtime. Customers who are connected and transferring files remain connected as the server updates, and begins using the new code. No one is disconnected, everything just transparently updates and continues on.


Users can inherit settings from the group they belong to (default), or they can be set to inherit an individual setting from any other user or group. Inheritance can be layered so that each higher layer overrides values from the lower layer allowing you to combine inheritance in complex scenarios.




Files that are being uploaded have the ability to be getting unzipped as they are being received, decrypted via PGP, and even encrypted via PGP all before they ever get written to disk. Further, since you can use a many different protocols for the VFS as the back end, you may never even be writing them to a local disk. They might be getting streamed directly to an S3 bucket or Azure location...never even touching the disk on your server.


(Enterprise licenses only.)

Jobs can be configured to run at specified times. Jobs consist of CrushTask configurations that do various actions. These might be file polling operations, file archiving, encryption, zip, email attachment polling, etc. Any CrushTask action can be done and chained together. The task designer shows in realtime as the tasks are run. You can see the items each task item is working on, and view direct realtime logs of the task oeprations as well.




The built in log viewer handles realtime log viewing of server logs. It handles any sized log file, allows multiple item filtering, and multiple color highliting. This can prove invaluable when searching or debugging a situation. It can also handle other log files on the server unrelated to CrushFTP allowing for additional server monitoring by full administrators.


Browsers that support HTML5 movies can stream compatible formats and move to any point in the file without the need to download the entire movie. The preview is built into the CrushFTP interface and can be utilized in slideshow mode as well.


plugins plugins plugins


There are many plugins to choose from, and third parties can even develop their own. Plugins can have multiple configurations, so that you can expand their functionality even further. Some plugins apply only for authentication, while other apply for post processing of files, or automated tasks.
  • AutoUnzip - post processes files and unzips their contents
  • ContentBlocker - prevents uploads of files that don't have appropriate file extensions
  • CrushLDAPGroup - allows authentication against an LDAP server (MS Active Directory, OpenLDAP, etc) including role verification event
  • CrushNoIP - keeps a dynamic DNS name updated with your current IP
  • CrushTask - extremely powerful plugin covering many areas
    • AS2 - find and send files outgoing validating MDNs
    • Copy - take a list of files and copy to a local or remote location
    • Tunnel - Specifically start and stop a tunnel port for other tasks to use
    • Delete - take a list of files and delete from a local or remote location
    • Email - send a SMTP email message with info about the list of files
    • Execute - run an external OS process to handle the list of files
    • Exclude - remove some files from the list that is being processed
    • FileParser - Read in a fixed width file as records for usage in other tasks
    • Find - search a location building a list of files found
    • FindCache - Cache prior file listings to compare to in the future event
    • Jump - conditionally jump to other task items
    • HTTP - issue HTTP POST/GET comamnds with information about the files
    • MakeDirectory - make a new folder
    • Move - take a list of files and move to a local or remote location
    • PGP - encrypt, or decrypt the list of files using PGP
    • PopImap - scan an email server looking for attachments and download them
    • Preview - force thumbnail creation on a list of files
    • Rename - change the name of the list of files
    • UsersList - iterate through a list of users calling other task actions with each user event
    • Unzip - decompress a zip file
    • Wait - delay processing for some time, or wait for multithreaded tasks to finish
    • WriteFile - build a file, or insert data into a file (such as XML) with the file info
    • Zip - compress the files into a zip file
  • DuplicateBlocker - checks to see if this same named item has been previously uploaded
  • HomeDirectory - automatically make home folders and assign access
  • MagicDirectory - simple user creation that is based on folder names where the folder is also their home
  • PreferencesController - automatically assign alternate configurations to the server at different times
  • Radius - allows authentication against a radius server
  • ReverseSocket - force conenctions when in proxy mode to be initiated from the internal server
  • WebApplication - dynamically create virtual users based on responses from another web service call


There are many different names to describe the functionality, but basically its connections coming to CrushFTP, and then CrushFTP making secondary connections to other servers based on the original request. What is important to note here is that the real user can't dictate how the internal request is made, they can only request the download of a file, and then CrushFTP starts that download using whatever protocol you bave configured between it and the internal server. As data is received, its streamed to the real user. Data is never stored locally, its always being streamed.

This process also allows for you to present a SFTP, HTTPS, and FTPES server to users while only having a back end legacy FTP server. You get instant securing, and numerous features your internal server could never provide, and you had to do almost nothing at all to get those features.



Pressing the keys 'alt-f' or 'option-f' will open a quick find panel in the user manager. This can be used to quickly find and open a user, or to find a particular setting. Think of it as a global way to search for anything in the user manager.


There are many different reports CrushFTP comes with to monitor what your servers is doing as well as the activities of your users. It really allows you to know what is going on without trying to read through log files and pieces everything together. You can see summary views of many different areas about the server, as well as details such as what IP's a user has been connecting from (are they sharing their account?). Additionally the scheduling interface allows you to have CrushFTP run the reports on a pre-defined schedule however you configure them. This means you can have an HTML report always ready and waiting for you every morning for example. The schedule is very customizable and very easy to setup.




CrushFTP's web port can be configured as a reverse proxy for a backend server, forwarding the entire domain to that server. This allows CrushFTP to handle the encryption, and block abusive DOS attacks while protecting your internal server.


SFTP - This uses a SSH connection to perform file transfers. Public / private key authentication can be allowed or password-less logins. SFTP is not well suited for high latency connections though. Almost any SFTP client is supported.

SCP - Secure copy also uses SSH, but is meant for pushing a single file transfer as fast as possible. Its not well suited for directories, or for downloading if you don't know the exact file name already. Almost any SCP client is supported.

HTTPS - Complete secure file transfer access entirely from a web browser.

No third party tools needed. See below for more information on the WebInterface.

WebDAV SSL - It uses a HTTPS connection, but communicates using the XML WebDAV interface. OS X and Windows have native support for WebDAV built in

FTPS - Both FTP over SSL Explicit mode (FTPES), and FTP over SSL Implicit mode are supported. Support for Clear Command Channel (CCC), and client auth certificates. MODE Z and other enhanced FTP commands such as support for IPv6 is also supported.

SSH Tunnel - The SSH server in CrushFTP allows for SSH tunneling with limitations on what locations and ports a user can reach.




You can allow users in the WebInterface to share items. This creates unique temporary links that can be automatically emailed out. The user who shared the item can manage the shares and monitor the usage of the items they have shared. Enterprise licenses allow for additional sharing where the user can creates shares between other CrushFTP users. So if a user has access to a folder, they can share that item with another user.


User settings and virtual file system access can all be stored in SQL tables. This allows for multiple CrushFTP servers to share the common user database, and for you to manage these user accounts externally from CrushFTP.




You can build your private key certificate, the certificate request (CSR) you send to your certificate authority, and import the reply back into the server, all from the WebInterface. Its meant to be extremely easy for users to handle the SSL process which can be very confusing.


The WebInterface is a rich interface allowing for stunning visual displays of its files. Images, PDFs, Documents can all have previews of their contents generated into thumbnails that the user will see at a glance in the WebInterface. You can allow the user to view these thumbnails in large forms for slideshows, or quick previews. Movies can be handled also. Still frames are generated automatically from the movie so you can get a quick overview of the movie as your mouse hovers over the icon. You can also allow users to play movies directly from the WebInterface.




The WebInterface allows you to specify custom forms for welcoming a user on their first visit to your site (such as acceptance of a legal disclaimer), or for asking for additional information about uploads. This data can be further processed in email notifications, or written to XML files using a CrushTask as an event in the user's setting in the user manager.


This includes SSL WebDAV serving as well. This means you can mount your CrushFTP server directly in the Finder as another drive and work off of it. The finder supports download only for FTP, but supports everything for WebDAV!




You have full control to customize the web interface. You can customize the colors, fonts, logos, etc. Additionally using jQuery, you can further manipulate and customize the WebInterface in infinite possibilities.

Users can upload files and folders using the built in uploader. There is a download basket where users can collect files to download, then download them all at once with one click. It has sorting, searching, and filtering built into it too. You can right click on an item, and share it with someone over email all from the WebInterface. The temp link created will automatically expire too. A slideshow can easily showcase images right from the browser.

The integrated "Advanced Mode" allows for automatic resumes of uploads, and can utilize compressions to further accelerate uploads.


A user can request a folder as a .zip instead of downloading each file individually. Saves bandwidth and time! The folder isn't first created to a .zip file, but its streamed to the user as CrushFTP generates the .ZIP content. No third party applications needed! With the WebInterface the user can select individual, or groups of files to have donwloaded as a single .zip file. They can also right click and go inside of a zip file to download individual items, or multiple items right from inside of a zip. You can also allow them to right click and unzip a file, or zip some items, all handled server side without them needing to download and re-upload the files.



  • Multihoming support. Virtual servers for multiple IP's, or multiple ports on an IP, or both.
  • Resume supported on download and uploads.
  • Directory permissions per directory. All directories can have different read/write/view/delete/resume/rename/make dir permissions/etc.
  • File permissions per file. All files can have different read/write/view/delete/resume/rename/etc.
  • Directory quotas. Every directory can have a quota applied to it, or inherit from the parent directory.
  • Virtual Directory support on any platform. Design your own directory structure for a user when they log in.
  • Bandwidth limits on uploads per [user/group/server].
  • Bandwidth limits on downloads per [user/group/server].
  • Idle timeout for auto-disconnect per [user/group].
  • Maximum login time allowed per [user/group].
  • Maximum simultaneous logins allowed per [user/group].
  • Maximum logins per IP for a [user/group]. (e.g. 100 anonymous logins, but only 2 from the same IP)
  • Allow/Deny IP restrictions for logins per [user/group/server]. Supports IP ranges for deny and allow.
  • Max download amount per [user/group] for each login session. (e.g. after 10mb's the user cannot download till they logout and then login again)
  • Day of week restrictions per [user/group/server] (e.g. Sun, Mon, Tues, etc.)
  • Time of day restrictions per [user/group/server] (e.g. login between 10 a.m. and 11 a.m. and between 4 p.m. to 10 p.m.)
  • Group inheriting for users, along with ability to override any part of a group setting for a particular user.
  • Monitoring connected users. See their log, current dir, bytes sent/received, transfers speeds, login time, login IP, and estimated time left for a transfer.
  • Download ratio per [user/group]. Both can be temporary per session login or permanent.
  • Incredible server statistics, such as last login date, time, IP, current total server bandwidth usage (bytes in/out), files downloaded/uploaded, graphs for bandwidth utilization, etc.
  • Customizable logging options allow you to control what gets logged to disk.
  • Filtering of filenames for uploads, downloads, lists, and renames.
  • Hammering protection that will ban a user.
  • Users behind a router/firewall can have CrushFTP auto discover their real IP.
  • Log rolling allows logs to automatically be archived, or deleted.

There's no risk, you can download CrushFTP today and make your purchase decision later. Download now!
Download Now!


CrushFTP is an extremely powerful, easy to use solution that runs on almost everything: macOS 10.9+/11/12+, Win2012+, Linux, Solaris, BSD, Unix, etc! Any OS that can run Java 8 at a minimum can run CrushFTP.

CrushFTP, LLC © 1998 - 2024