(File Transfer API can be found here: APIFileTransfer.)

Admin API Tool: (as of CrushFTP v8.1)
#

First launch the command line tool passing it the arguments as an admin username and password (CrushTunnel.jar is located in your WebInterface folder):
java -jar CrushTunnel.jar https://crushamdin:password@yourserver.com/
Now you can issue the user command to add a user, assign a VFS.
user user_add MainUsers user3 password=password
user vfs_add MainUsers user3 path=/home/ privs=(read)(write)(resume)(delete)(view) url=file://home/ name=home
user vfs_delete MainUsers user3 path=/home/ name=home
Where:

"path" is the FTP style path to the folder, relative to the user's virtual root, "/".

"privs" the user VFS folder permissions, can be any combination of (read)(write)(view)(delete)(deletedir)(makedir)(rename)(resume)(share)(slideshow)(invisible)(ratio) (replicate)(locked) , for details see our user VFS related docs page.

"url" the true URL pointing to the folder itself.

You can also assign groups, and inheritance:

user group_add MainUsers user3 groupname
user inheritance_add MainUsers user3 groupname
Or remove a user from a group or inheritance:
user group_delete MainUsers user3 groupname
user inheritance_delete MainUsers user3 groupname
Its also possible to tell the server to run a Job if you want to remote control jobs:
job remote MyFindJob



Alternative methods using raw CURL commands:
#

If you are reading this, you are likely wanting a well documented published API to reference. You won't find that here. Its our opinion that the admin WebInterface provides a working example that is easily watched to see the commands its issuing for the documentation. If you want to know how to make a user using a web call, enable the network monitoring in Chrome/Safari/FireFox/Edge and make a user. Then its all detailed out in the network requests created.

Here are a few examples here to get you started though, and we may add to this list in the future too.

(The attachments tab at the top contains the sample files.)



Registering CrushFTP service from command line.#


Uses a command to register the CrushFTP license key in case you need to deploy on multiple machines E3 specific, and need to automate the registration. The spaces and special characters need to be URL encoded

curl -d command=registerCrushFTP -d registration_name=MY%2520NAME -d registration_email=MYNAME%2540MYEMAIL.COM.EXAMPLE -d registration_code=my_reg_code -u crushadmin:'password' http://127.0.0.1:8080/
(long line, so get it all)

Making a new User with VFS#


Builds a brand new user, or replaces an existing one entirely.

curl -d command=setUserItem -d data_action=replace -d xmlItem=user -d serverGroup=MainUsers -d username=curl_user --data-urlencode user@user.xml --data-urlencode vfs_items@vfs_items.xml --data-urlencode permissions@permissions.xml http://crushadmin:pass@127.0.0.1:8080/
(long line, so get it all)

Updating a user#


Fills in the missing properties, doesn't alter the VFS. The VFS is an all or nothing approach. The above we did all, this one we are doing nothing. The password is always required, and in this case we are just updating the user with the items in the user.xml, but not replacing items that the user already has.

curl -d command=setUserItem -d data_action=update -d xmlItem=user -d serverGroup=MainUsers -d username=curl_user --data-urlencode user@user.xml http://crushadmin:pass@127.0.0.1:8080/
(long line, so get it all)

Update/add to VFS of a user
#

This will update the VFS, either replacing an existing item, or adding a new item if it doesn't exist:
curl -d command=setUserItem -d data_action=update_vfs -d xmlItem=user -d serverGroup=MainUsers -d username=user1 -d vfs_items@vfs_items.XML -d permissions@permissions.XML -u crushadmin:passw http://127.0.0.1:8080/
(long line, so get it all)

Delete VFS item from a user
#

This will remove a VFS item (so don't pass in a full permissions or vfs_items object or you would remove everything):
curl -d command=setUserItem -d data_action=update_vfs_remove -d xmlItem=user -d serverGroup=MainUsers -d username= user1 -d vfs_items@vfs_items.XML -d permissions@VFS.XML -u crushadmin:pass http://127.0.0.1:8080/
(long line, so get it all)

Groups and Inheritance:
#


Add some users into a group, it will make the group if it doesn't exist:
curl -d command=setUserItem -d xmlItem=groups -d serverGroup=MainUsers -d data_action=add -d group_name=MyGroup -d usernames="user1;user2" -u crushadmin:pass http://127.0.0.1:8080/
(long line, so get it all)

Delete users from a group:
curl -d command=setUserItem -d xmlItem=groups -d serverGroup=MainUsers -d data_action=delete -d group_name=MyGroup -d usernames="user1;user2" -u crushadmin:pass http://127.0.0.1:8080/
(long line, so get it all)

Delete an entire group:
curl -d command=setUserItem -d xmlItem=groups -d serverGroup=MainUsers -d data_action=delete -d group_name=MyGroup -u crushadmin:pass http://127.0.0.1:8080/
(long line, so get it all)

Add some users to inheritance, it will make the inheritance if it doesn't exist:
curl -d command=setUserItem -d xmlItem=inheritance -d serverGroup=MainUsers -d data_action=add -d inheritance_name=AdminTemplate -d usernames="user1;user2" -u crushadmin:pass http://127.0.0.1:8080/
(long line, so get it all)

Delete users from an inheritance item:
curl -d command=setUserItem -d xmlItem=inheritance -d serverGroup=MainUsers -d data_action=delete -d inheritance_name=AdminTemplate -d usernames="user1;user2" -u crushadmin:pass http://127.0.0.1:8080/
(long line, so get it all)

Delete an entire inheritance:
curl -d command=setUserItem -d xmlItem=inheritance -d serverGroup=MainUsers -d data_action=delete -d inheritance_name=AdminTemplate -u crushadmin:pass http://127.0.0.1:8080/
(long line, so get it all)

Run a remote job on the server:

curl -d command=testJobSchedule -d scheduleName=MyFindJob -d async=false -d response_type=all -d myparam1=happy -u crushadmin:pass http://127.0.0.1:8080/
(long line, so get it all)

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
xml
permissions.xml 0.2 kB 1 09-Oct-2016 18:14 Ben Spink
xml
user.xml 0.2 kB 1 09-Oct-2016 18:14 Ben Spink
xml
vfs_items.xml 0.3 kB 1 09-Oct-2016 18:14 Ben Spink
« This page (revision-25) was last changed on 07-Nov-2017 10:51 by Halmágyi Árpád
G’day (anonymous guest)
CrushFTP8 | What's New

Referenced by
LeftMenu

JSPWiki v2.8.2