At line 1 changed one line |
!!CrushClient Documentation\\ |
!! End User UI Download\\ |
Windows: [https://www.crushftp.com/early10/CrushClient/CrushClient_windows.exe]\\ |
macOS: [https://www.crushftp.com/early10/CrushClient/CrushClient_macOS.zip]\\ |
Linux: [https://www.crushftp.com/early10/CrushClient/CrushClient_linux.zip]\\ |
[attachments|crushclient.png] |
At line 3 changed one line |
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 referenced 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. The "local" client doesn't need to be local at all though, both clients can be remote and files can be streamed through the CrushClient. Commands can be sent into he background with a "&" at the end of them. Example: |
!!CrushClient Documentation\\ |
''The single command CrushClient info can be found here: [CrushClientSingleCommand]''\\ |
\\ |
A leading "L" character instructs the client to apply the command to the local client versus to the remote client. "lls" would list 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 referenced 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. The "local" client doesn't need to be local at all though (this of it more as the "Left" side client instead of local client), both clients can be remote and files can be streamed through the CrushClient. Commands can be sent into the background with a "&" at the end of them. Example: |
At line 23 added 3 lines |
CrushClient.exe inline_script "connect https://demo:demo@crushftp.com/demo/;put file.txt;wait;quit;" |
CrushClient.sh inline_script "connect https://demo:demo@crushftp.com/demo/;put file.txt;wait;quit;" |
CrushClient.app/Contents/MacOS/CrushClient inline_script "connect https://demo:demo@crushftp.com/demo/;put file.txt;wait;quit;" |
At line 27 added 2 lines |
''launching can be done directly with java or with the app wrappers.''\\ |
Example BAT file for Windows: [https://www.crushftp.com/early10/CrushClient/CrushClient.bat] |
At line 34 changed one line |
reget will resume the download based on the target file's size. |
reget will resume the download based on the target file's size.\\ |
There is no 'mget" command as the normal 'get' command supports one or many items, including pattern matching. |
At line 51 added 2 lines |
get /remote/file/path/*.TXT [local file path] |
get /remote/file/path/ABC???_*.TXT [local file path] |
At line 42 changed one line |
appe will start appending the current file to the target file. |
appe will start appending the current file to the target file.\\ |
move will copy, then delete the source.\\ |
There is no 'mput" command as the normal 'put' command supports one or many items, including pattern matching. |
At line 64 added 3 lines |
move /local/file/path [remote file path] |
put /local/file/path/*.XML [remote file path] |
put /local/file/path/*ABC*.TXT [remote file path] |
At line 69 added 5 lines |
Similar to the putdel command, but first calculates the differences between the directories and files and lists what actions it would do if you instead used putdel. It will list out the deletes and copy actions it would do to make the remote side match the local side. This command is available as of CrushClient 1.5.2 and above. |
{{{ |
diffdir |
}}} |
---- |
At line 143 changed one line |
Example: set download_threads 10 |
Example: set max_threads 10 |
At line 200 added 16 lines |
Forces a one way copy/replace sync operation. Anything on the destination not found on the source is deleted. Use extreme care when using this command as a single typo would mean it erases the target you specified! |
{{{ |
putdel /local/file/path [remote file path] |
}}} |
---- |
List the supported ciphers for HTTPS/FTPS/FTPES connections by making a test connection outbound to https://www.crushftp.com/\\ |
Set the cipher to use for SSL/TLS connections.\\ |
List the last used cipher for the prior connection.\\ |
Trust all certificates, regardless if they are expired, revokes, matching, etc. Use only for debug/dev purposes, but not for real world usage!\\ |
{{{ |
cipher list |
cipher set {cipher} |
cipher get |
cipher trust |
}}} |
---- |
At line 227 added 23 lines |
Causes inline script to show progress on transfers |
{{{ |
local_echo |
}}} |
---- |
Kill app after pre-determined time amount with an error code exit. |
{{{ |
kill 30 secs |
kill 30 s |
kill 1 min |
kill 1 m |
kill 100 hours |
kill 100 h |
kill 2 days |
kill 2 d |
kill 0 s (aborts kill) |
}}} |
---- |
Timeout on individual file transfer items FTP, HTTP(s), SFTP in seconds. |
{{{ |
timeout 30 |
}}} |
---- |
At line 260 added 41 lines |
---- |
Take a thread stack trace for what all CrushClient is currently working on (debug purposes only) |
{{{ |
dumpstack |
}}} |
---- |
Take a memory dump of the CrushClient (debug purposes only) |
{{{ |
dumpmemory |
}}} |
---- |
*'PUTSYNC' IS EXPERIMENTAL AND FLAWED! WARNING!\\ |
Performs a two way sync operation. Uses the modified date on items to decide which side has the latest copy and copies in both directions. It also uses its last known run time for the sync to decide which side has the correct items and deletes items it believes were deleted from one side from the other side too! If the logic fails here, it deletes items on both sides you didn't intend for. Extreme caution should be used when considering using this command. We don't have access to any time and dates except modified times, so the logic is flawed. If you copied an item with an older date modified than the last sync time to one side, it would then get deleted as it appears as if its old...and its missing from the other side, so its not supposed to be there. Do not use this command unless you fully understand everything mentioned or you will loose data... |
{{{ |
putsync /local/file/path [remote file path] |
}}} |
---- |
Example script to do PGP encryption client side before uploading to a remote server (we have to turn off MD5 checking as the MD5 will no longer match if uploading to a CrushFTP server): |
{{{ |
set md5_check false |
config pgpEncryptUpload true |
config pgpPublicKeyUploadPath /mypgpkeys/customer1_key.pub |
connect https://user:pass@someserver.domain.com/ |
lcd /var/documents/ |
cd / |
put test_file.txt |
wait |
quit |
}}} |
Some additional PGP logic that could be done as well: [CrushClientPGP]. |
---- |
Jobs can be executed either on the remote CrushFTP server or locally if you have the "jobs" folder and specify a job name.\\ |
Example: |
{{{ |
job sftp_test_copy |
job remote sftp_test_copy |
job status sftp_test_copy |
}}} |
{{{ |
java -jar WebInterface/CrushTunnel.jar inline_script "job sftp_test_copy;quit;" |
}}} |