It works better if you have a webserver (Apache, NginX, IIS (6+), LightHTTP etc.) running, but the software is capable of activating a very minimalistic webserver itself for transferring files. And it does this through port 80 or 443. Ports that are open on almost all computers, firewalls etc. It doesn't encrypt or compress, you will have to do that yourself before transferring. But transferring is very simple.
Open the CarrotDAV GUI client and open connection to your (local) webserver or DropBox or Google Drive or OneDrive or FTPS server or Box server or IMAP server or Amazon Cloud server or SFTP server or SugarSync server or Swift server or file (LAN) server or iCloud server or Hubic server. Once connected, a window opens. Whatever you wish to transfer, you just drag-n-drop and done. (you can use it to transfer all your data from one service to another directly as well). There is even an command line client nowadays.
HTTP allows by default for 6 connections in a session, so if you are the only one using this during that session, transfers are really fast.
For work I need to transfer archives from one continent to another. Using FTPS that takes just over an hour. With CarotDAV (and my locally running, internet facing webserver) just under 10 minutes. My webserver is an old Intel Core DUO (E8200) on a rather poor quality cable internet connection. Google throws way more hardware against the problem with Google Drive using a way, way better internet connection. Through their service I need about 8 and a half minutes for the transfer. I cannot automate the transfer sequence using Google Drive. With CarrotDAV automation (completely) is no problem.
Every developer (local/remote) just activates a build script after they submitted their changes remotely and about 10 minutes later the archives have arrived on my local server, ready for a whole sleuth of regression tests. Which also start automatically once the new build has been detected. A report regarding any of the regression tests which might have failed or underperform is usually already generated for those (local/remote) that start work early in the morning. So they can start fixing any problem that the night/shift (local/remote) might have introduced. Took a while to setup, but saves so much time in the long run.