!!CrushClient Documentation\\

A leading "L" character instructs the client to apply the command to the local client versus to the remote client. lls would sit your current local folder, lcd changes the local folder.  Only the file transfer commands do not have an "L" version.  (put, get, diffput, diffget)  If a path being references has a space in it, the path must be quoted.  Example:  put "some file.txt" "/some folder/my file.txt".  Backslash quote escaping is permitted as well.

{{{
java -jar CrushTunnel.jar
java -jar CrushTunnel.jar https://demo:demo@crushftp.com/demo/
java -jar CrushTunnel.jar https://demo:demo@crushftp.com/demo/ file://c:/temp/
java -jar CrushTunnel.jar script my_commands.txt
}}}
Different ways to start CrushClient.  If started with a script, no input will be taken, all input will be read line by line from the script as if you were physically typing it.

{{{
connect url
lconnect url
}}}
Example: http://user:pass@domain.com:port/path/  or  https://crushftp.com/  or https://crushftp.com/demo/  The url must end with a slash.  User and pass is optional in the URL, you will be prompted for them if omitted.

{{{
disconnect
ldisconnect
}}}
Disconnects from the currently connected client, for use when you want to change what client your connected with.

{{{
put /local/file/path [remote file path]
}}}
Transfers file/directory from local client to remote client.  Example: put test.txt  or  put test.txt test_remote.txt   or  put /folder/test.txt file.txt    or  put /folder/test.txt /remote/test.txt

{{{
diffput
}}}
Similar to the put command, but first calculates the differences between the files and then transfers just those differences.  Remote side must be a CrushFTP server.

{{{
get /remote/file/path [local file path]
}}}
Transfers file/directory from remote client to local client.  Example: get test.txt  or  get test.txt test_local.txt   or  get /folder/test.txt file.txt    or  get /folder/test.txt /local/test.txt

{{{
diffget
}}}
Similar to the get command, but first calculates the differences between the files and then transfers just those differences.  Remote side must be a CrushFTP server.

{{{
list
dir
ls
llist
ldir
lls
}}}
Prints out a unix styled directory listing of the remote or local side.

{{{
del /remote/path
ldel  /local/path
}}}
Deletes a remote file.  Example:  del /remote/test.txt

{{{
stat /remote/path
lstat /local/path
}}}
Gets info about the selected item and prints to the screen.

{{{
wait
lwait
}}}
waits for active transfers to complete with the local or remote client and prints occasional statistics about in progress transfers.

{{{
delay {milli seconds}
}}}
Pauses CrushClient for the specific milliseconds to impose delays in command processing.

{{{
info
linfo
}}}
prints stats about current in progress transfers one time.

{{{
abor
}}}
Aborts all in progress transfers.

{{{
quit
}}}
exits the CrushClient, aborting any in progress transfers.

{{{
diff local/path remote/path
}}}
Lists the segments that are different between the two files.