NextCloud Client Command Line Interface
Table of Contents
A CLI client to interact with a NextCloud server.
Features:
- Allows for pushing and pulling files on the server.
- Creating and Deleting remote directories.
- Listing files.
- Interactive browsing through the shell command
This application makes it possible to exchange a client and a NextCloud server without the need of a GUI. This CLI is compatible with Linux. It has also been built with Windows and MacOs in mind, they are untested at the moment and mileage may vary.
For a general cross platform linux a Snap package is available.
snap install nxcloud
If you have rust installed you can use cargo.
requires a the following packages to be install:
libdbus-1-dev, build-essential, libssl-dev (Debian names ,probably installed by default)
cargo install nxcloud
Other packaged binary's are available in Releases
The binary name is nxcloud
To display application use nxcloud help
Use nxcloud <subcommand> help
for help with that subcommand.
To start using the interacting with you're NextCloud you need to login.
Use an app password as opposed your account password.
nxcloud login <server> <username> <password>
Listing files in a directory, support -l and -a.
nxcloud ls -la
Pushing and pulling is very simple.
nxcloud pull <source file path (remote)> <destination file path (local)>
nxcloud push <source file path (local)> <destination file path (remote)>
Entering a shell to remember current (remote) directory (Experimental).
Allows usage of the cd subcommand.
nxcloud shell
This repository is a standard rust project bin structure.
- Install Rust
- Install libdbus-1-dev, build-essential, libssl-dev (Linux)
apt install libdbus-1-dev build-essential libssl-dev
(Debian based) - Clone repository
Rust support building or running with the following commands:
cargo build
Will build an executable in /target/debug/
.
cargo run -- <args>
Will build and run an executable.
Testing all standard test can be done with rust built in test framework.
cargo test
Some tests cannot be completed with 100% reliability (for example they might fail without network access), this will run all ignored tests.
cargo test -- --ignored
Rust built in documentation tools can be generated.
cargo doc
To open with your default browser.
cargo doc --open
Contributions are completely welcome and encouraged!
Examples of contributing could include:
- Submitting a feature request or bug report.
- Asking for improved documentation.
- Code by creating a pull request.
Refer to Contributing
Development is still in progress with new features being planned.
Feel free to Contribute.
Created by Ethan Budd
Email: budde25@protonmail.com
Dual-licensed under either either of the following: