Skip to main content

Mozilla Send's archnemesis is Cool File Transfer

On Tuesday, August 1, 2017, CubicleSoft announced the release of jQuery Fancy File Uploader. Then on Thursday, August 3, 2017, the announcement of Mozilla Send reached Slashdot.

Over this past weekend, CubicleSoft responded to the challenge and built a better solution called Cool File Transfer:

Check out the Cool File Transfer GitHub repository

Cool File Transfer is better since it skips the intermediate file storage on a third-party system and therefore can perform unlimited data transfers. If /tmp is a RAM drive, then nothing ever hits the disk! (Utilizing temporary file system storage is how PHP handles all file uploads.) There's no file size limit, it is easily hosted on internal, higher-performance and trusted infrastructure (e.g. an Intranet on gigabit Ethernet), recipients don't have to be running modern browsers, and it just plain works. Woo! Done and done.

Mozilla, now that just one software developer has completely crushed your latest project, please stop wasting time and implement DNSSEC DANE TLSA already. It's the only announcement I want to see since going out of your way for six years(!) to not implement DANE TLSA is quantifiable as a serious security vulnerability.

Anyway, I digress. While Mozilla Send was the catalyst for creating this project, the project has also been a couple of line items on my internal task list for about 10 years now. Ten years ago, I was originally thinking about writing dedicated apps, which would have taken a long time to write and so it was put on the ol' mental back-burner. However, with the recent release of jQuery Fancy File Uploader, I really got to thinking that I could build the file transfer application I originally wanted but now just use an average web browser. Cool!

When I went to start development, I initially thought about using WebSockets. However, WebSockets take a lot of time to get right and there was no time for building a complete and secure WebSocket client/server solution along with all of the other plumbing bits that had to be created. I was about to put the whole project back on the back-burner again when I thought of running a TCP/IP server inside of PHP inside of Apache/Nginx. At that moment, I knew I had just come up with the craziest and stupidest idea that just might work and could probably be put together in a weekend. Turns out, it did work! The /send and /recv code is certainly guaranteed to be some of the wildest and most hair-brained PHP code that you'll ever read.

In addition, I got rather ill during the effort. I suspect that going out into the hot summer sun and probable dehydration later on had something to do with it. I was physically down and out and felt rather miserable for over five hours, which translated to even less time to write the software. So the fact that Cool File Transfer was built in just one weekend is certainly impressive but, more importantly, it showcases what can be built with just the powerful and flexible open source CubicleSoft software suite in such a short period of time.