Add new attachment

Only authorized users are allowed to upload new attachments.

List of attachments

Kind Attachment Name Size Version Date Modified Author Change note
png
crushclient.png 214.2 kB 1 25-Feb-2021 07:39 Ben Spink

This page (revision-40) was last changed on 11-Aug-2022 11:21 by Ben Spink

This page was created on 29-Dec-2020 05:25 by Ben Spink

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

At line 1 added 6 lines
!! 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 8 added 6 lines
''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:
{{{
put file.txt remote.txt&
}}}
At line 3 changed 2 lines
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.
----
There are 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. Don't forget the quit command at the end or the client will wait indefinitely for more input... A script is typically ended with two lines. wait, then quit.
At line 22 added 4 lines
java -jar CrushTunnel.jar inline_script "connect https://demo:demo@crushftp.com/demo/;put file.txt;wait;quit;"
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 11 changed one line
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.
''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]
----
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.
----
!!Commands
At line 17 changed 2 lines
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.
----
Disconnects from the currently connected client, for use when you want to change what client your connected with.
At line 23 changed 2 lines
Disconnects from the currently connected client, for use when you want to change what client your connected with.
----
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\\
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 49 added 12 lines
get /remote/file/path [local file path]
reget /remote/file/path [local file path]
get /remote/file/path/*.TXT [local file path]
get /remote/file/path/ABC???_*.TXT [local 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\\
reput will resume the put based on the size of the remote item.\\
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 62 added 5 lines
reput /local/file/path [remote file path]
appe /local/file/path [remote file path]
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 28 changed 2 lines
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
----
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.
At line 31 changed one line
diffput
diffdir
At line 73 added one line
----
At line 34 removed one line
At line 36 changed one line
get /remote/file/path [local file path]
diffput
At line 38 changed 2 lines
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
----
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.
At line 43 changed 2 lines
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.
----
Prints out a unix styled directory listing.
At line 53 changed 2 lines
Prints out a unix styled directory listing of the remote or local side.
----
Deletes an item. Example: del /remote/test.txt
At line 59 changed 2 lines
Deletes a remote file. Example: del /remote/test.txt
----
Gets info about the selected item and prints to the screen.
At line 65 changed one line
Gets info about the selected item and prints to the screen.
----
Lists the segments that are different between the two files.
{{{
diff local/path remote/path
}}}
----
Changes the current working directory for the local or remote client.
{{{
cd
cwd
lcd
lcwd
}}}
----
Prints the current working directory for the local or remote client.
{{{
pwd
lpwd
}}}
----
Creates a new folder.
{{{
mkd /remote/path
lmkd /local/path
}}}
----
Renames an item, both must be specified in the command for source and destination.
{{{
rename /remote/path1 /remote/path2
mv /remote/path1 /remote/path2
lrename /local/path1 /local/path2
lmv /local/path1 /local/path2
}}}
----
Toggles the use of FTP passive mode.
{{{
pasv
lpasv
----
The anything section is passed to the remote FTP server directly.
{{{
quote anything
lquote anything
}}}
----
Sets the modified date to the specified time.
{{{
mdtm /remote/path yyyyMMddHHmmss
lmdtm /local/path yyyyMMddHHmmss
}}}
----
Quits the CrushClient, aborting any in-progress transfers.
{{{
quit
}}}
----
Sets a configuration parameter on the client. Undocumented for now, use the UI in CrushFTP to setup a config on a connection item and then view the raw XML for the config param it configured.
{{{
config param value
lconfig param value
}}}
----
Sets a variable that can be later referenced, or sets different client properties on how the client acts.
Example: set max_threads 10
{{{
set param value
At line 172 added 11 lines
Param list:
download_threads (default = 0 which is unlimited)
upload_threads (default = 0 which is unlimited)
skip_modified_and_size (default is true)
skip_modified (default is false, ignored if skip_modified_and_size is true)
skip_size (default is false, ignored if skip_modified is true or skip_modified_and_size is true)
keep_date (default is true)
multithreaded (default is true)
}}}
----
Queues up commands in a list so they can later on be executed. Built a list of file transfers to do in a queue, then run it with the execute command. Useful for scripting load to the server.
At line 184 added 7 lines
queue {id} add command
queue {id} reset
queue {id} run
}}}
----
Waits for active transfers to complete with the local or remote client and prints occasional statistics about in-progress transfers.
{{{
At line 71 changed 2 lines
waits for active transfers to complete with the local or remote client and prints occasional statistics about in progress transfers.
----
Pauses CrushClient for the specific milliseconds to impose delays in command processing.
At line 76 changed 2 lines
Pauses CrushClient for the specific milliseconds to impose delays in command processing.
----
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!
At line 79 changed 2 lines
info
linfo
putdel /local/file/path [remote file path]
At line 82 changed 2 lines
prints stats about current in progress transfers one time.
----
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!\\
At line 85 changed one line
abor
cipher list
cipher set {cipher}
cipher get
cipher trust
At line 215 added 7 lines
----
Prints stats about current in progress transfers one time.
{{{
info [all/clear]
linfo [all/clear]
}}}
----
At line 223 added 34 lines
{{{
abor
}}}
----
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
}}}
----
Start a tunnel with a server so you can connect through it. After starting you can connect through the tunnels port. Typically its 55555.
{{{
tunnel https://www.crushftp.com/ (you will be prompted for credentials)
tunnel https://demo:demo@www.crushftp.com/ (credentials provided inline in the URL)
tunnel list (list running and stopped tunnels)
tunnel stop {id} (stop a tunnel id you got from the list command, ids start at 1 and count up for each tunnel you create. Once stopped, a tunnel id can't be started.)
tunnel log (prints out the recent tunnel log messages)
At line 258 added 4 lines
connect http://127.0.0.1:55555/ (now you can connect normally through the tunnel that was just started)
}}}
----
Take a thread stack trace for what all CrushClient is currently working on (debug purposes only)
At line 263 added 24 lines
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
At line 92 changed 2 lines
exits the CrushClient, aborting any in progress transfers.
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:
At line 95 changed one line
diff local/path remote/path
job sftp_test_copy
job remote sftp_test_copy
job status sftp_test_copy
At line 97 changed 2 lines
Lists the segments that are different between the two files.
{{{
java -jar WebInterface/CrushTunnel.jar inline_script "job sftp_test_copy;quit;"
}}}
Version Date Modified Size Author Changes ... Change note
40 11-Aug-2022 11:21 11.667 kB Ben Spink to previous
39 20-May-2022 02:07 11.587 kB Ben Spink to previous | to last
38 19-May-2022 05:40 11.27 kB Ben Spink to previous | to last
37 05-Nov-2021 09:49 11.197 kB Ben Spink to previous | to last
36 05-Nov-2021 09:49 11.193 kB Ben Spink to previous | to last
35 05-Nov-2021 09:49 11.19 kB Ben Spink to previous | to last
34 27-Aug-2021 07:08 11.106 kB Ben Spink to previous | to last
33 27-Aug-2021 07:08 11.106 kB Ben Spink to previous | to last
32 12-Jul-2021 03:52 11.032 kB Ben Spink to previous | to last
31 09-Jul-2021 07:10 10.936 kB Ben Spink to previous | to last
30 09-Jul-2021 07:10 10.934 kB Ben Spink to previous | to last
29 09-Jul-2021 07:07 10.532 kB Ben Spink to previous | to last
28 09-Jul-2021 07:06 10.532 kB Ben Spink to previous | to last
27 17-Jun-2021 02:30 10.453 kB Ben Spink to previous | to last
26 17-Jun-2021 02:30 10.451 kB Ben Spink to previous | to last
25 25-Feb-2021 07:39 10.026 kB Ben Spink to previous | to last
24 25-Feb-2021 07:38 9.997 kB Ben Spink to previous | to last
23 29-Dec-2020 05:25 9.804 kB Ben Spink to previous | to last
22 29-Dec-2020 05:25 9.742 kB Ben Spink to previous | to last
21 29-Dec-2020 05:25 9.446 kB Ben Spink to previous | to last
« This page (revision-40) was last changed on 11-Aug-2022 11:21 by Ben Spink
G’day (anonymous guest)
CrushFTP10 | What's New
JSPWiki