The program is a single window where everything happens. The screen is divided in a few parts: file handling, your own network settings, your partner settings, control buttons, progress meters and a log window.
Depending if you are sender or receiver, you either choose the file you want to send, or the target where to receive it. You should always start with setting these values.
Your network settings
Your own network settings are used as the server side of the connection. MammothCopy support UPnP, so when you are on a home broadband connection with a slightly modern router, you should be fine. All you have to do is click ‘Start’. Then, MammothCopy will try to setup the connection, through the router. When that succeeds, it will fill in the outside IP in the ‘IP address’ box and start the server side of the connection. The port to use is arbritrary; using the default should be fine.
The other side of the connection should ‘connect’ to the server side. Note that server or client side should be thought of separate from sender/receiver. The server can send and receive, just as the client (work should be done to make the UI more intuitive). The partner ‘IP adress’ and ‘port’ should be filled in, with the IP the other side provided. After the client side clicked ‘connect’, the connection should be made. After that, the transfer can start.
Send button/progress meters
Well, that’s easy. just click the ‘SEND!’ button on the sender side (as said, this could be both server or client). Then the two programs will start sending the file in chunks that are each checked for integrity. When the whole thing blows up, that’s okay, just setup the entire thing again, click ‘SEND!’ and the program will continue where it stopped. Unfinished files are marked .mammoth on the file system of the receiver.
The progress meter shows you how far we are now, in chunks and a percentage.
In the bottom of the window, there is a log window. It shows all kinds of info (currently, a lot) telling you what’s going on. Whenever you want to bugreport something, send a copy of that log.
Command line arguments
As of version 0.4, MammothCopy supports command line arguments. This can help you in quicker setup of the program, without having to browse through directories and files to select the one you want. The following arguments are supported:
- -v: shows version
- -h: shows help (always refer to this for the latest list of supported options)
- -s source: use ‘source’ as source directory/file to send
- -t target: use ‘target’ as target directory
- -l: immediately start listening
- -p ip-address: use ‘ip-address’ to connect to
- -c: immediately try to connect (to be used together with -p, should always come after the -p option)
- Person A that wants to receive something starts the program, sets up the target and clicks ‘Start’.
- Person A sends an email (or IM/phonecall/whatever) with IP and port to sender person B.
- Person B starts the program, chooses the file(s) to send, fills in IP and port.
- Person B clicks ‘SEND!’.
- Program sends the file(s).