3 unstable releases
0.2.1 | Feb 1, 2021 |
---|---|
0.2.0 | Nov 18, 2020 |
0.1.0 | Sep 1, 2020 |
#5 in #next-cloud
47KB
1K
SLoC
NXCloud
NextCloud Client Command Line Interface
Table of Contents
About
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.
Installation
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
Usage
The binary name is nxcloud
To display application use nxcloud help
Use nxcloud <subcommand> help
for help with that subcommand.
Examples
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 pull <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
Building and Testing
This repository is a standard rust project bin structure.
Setup
- Install Rust
- Install libdbus-1-dev, build-essential, libssl-dev (Linux)
apt install libdbus-1-dev build-essential libssl-dev
(Debian based) - Clone repository
Compile and Run
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
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
Documentation
Rust built in documentation tools can be generated.
cargo doc
To open with your default browser.
cargo doc --open
Contributing
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
Status
Development is still in progress with new features being planned.
Feel free to Contribute.
Built With
Contact
Created by Ethan Budd
Email: budde25@protonmail.com
License
Dual-licensed under either either of the following:
Dependencies
~14–33MB
~503K SLoC