Firewalls and Network Address Translation (NATs) may attempt to block direct data transmission between users. To send files through these firewalls and NATs, FilesOverMiles uses advanced techniques such as UDP hole punching. However, FilesOverMiles will not work if either sender or a recipient of a file is behind a firewall/NAT that blocks UDP network packets. FilesOverMiles may also be unable to send files over a so-called "symmetric firewall". Generally, only large organizations use firewalls/NATs able to block FilesOverMiles and all other P2P systems, such as BitTorrent.
Unfortunately, there is a limit on the maximum size of a file that can be sent between a sender and a recipient. This limit is only because FilesOverMiles is based on Adobe Flash Player that requires that the uploaded or downloaded file is stored entirely in the computer memory (RAM). As a consequence, a sender may upload only those files that are smaller than the memory available on his/her computer. In turn, a recipient may download only those files that are smaller than half of the memory available on his/her computer. Hopefully, upcoming versions of Adobe Flash Player will remove this limitation and then FilesOverMiles will have no file size limits.
FilesOverMiles uses 128-bit Advanced Encryption Standard (AES).
Version 10 of Adobe Flash Player introduced the possibility of peer-to-peer communication that is used by FilesOverMiles.
We're working now on incorporating BitTorrent-like peer-to-peer algorithms into FilesOverMiles. When these algorithms are in place, all users downloading a file help in distributing this file in order to minimize the load of the file sender. Users download different pieces of the same file and exchange downloaded pieces with each other so that the sender does not need to upload the entire file to each user. So, thousands of users may download a file from a single sender without overloading this sender. Sharing a file with such a large number of users is not possible using IM clients.
Unfortunately, port forwarding won't work because FilesOverMiles assigns local ports dynamically such that each time a different UDP port in the range of 1024-65535 may be used.
However, instead of port forwarding, a TURN proxy may be used to traverse the types of NATs that FilesOverMiles cannot traverse automatically.
If the network administrator configures a TURN proxy that allows outgoing UDP packets, Flash Player may be configured by adding the following two lines to its mms.cfg configuration file:
RTMFPTURNProxy=IP address or hostname of the TURN proxy