Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/budde25/nxcloud
A CLI client to interact with NextCloud
https://github.com/budde25/nxcloud
cli client nextcloud rust
Last synced: about 2 months ago
JSON representation
A CLI client to interact with NextCloud
- Host: GitHub
- URL: https://github.com/budde25/nxcloud
- Owner: budde25
- License: apache-2.0
- Created: 2020-05-24T21:19:12.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-09-05T01:49:00.000Z (over 2 years ago)
- Last Synced: 2024-10-29T20:55:27.511Z (about 2 months ago)
- Topics: cli, client, nextcloud, rust
- Language: Rust
- Homepage:
- Size: 184 KB
- Stars: 40
- Watchers: 4
- Forks: 4
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# NXCloud
NextCloud Client Command Line Interface
[![Crates.io](https://flat.badgen.net/crates/v/nxcloud)](https://crates.io/crates/nxcloud)
[![Crates.io](https://flat.badgen.net/crates/d/nxcloud)](https://crates.io/crates/nxcloud)
[![License](https://flat.badgen.net/badge/license/MIT/blue)](LICENSE-MIT)
[![License](https://flat.badgen.net/badge/license/APACHE/blue)](LICENSE-APACHE)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 commandThis 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](https://snapcraft.io/nxcloud) 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](https://github.com/budde25/nextcloud-client-cli/releases)## Usage
The binary name is `nxcloud`
To display application use `nxcloud help`
Use `nxcloud 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 `Listing files in a directory, support -l and -a.
`nxcloud ls -la`Pushing and pulling is very simple.
`nxcloud pull `
`nxcloud push `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](https://www.rust-lang.org/tools/install)
* 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 -- ` 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](CONTRIBUTING.md)
## Status
Development is still in progress with new features being planned.
Feel free to [Contribute](#Contributing).## Built With
[Rust](https://www.rust-lang.org/)
## Contact
Created by [Ethan Budd](https://github.com/budde25)
Email: [[email protected]](mailto:[email protected])## License
Dual-licensed under either either of the following:
* [MIT License](LICENSE-MIT)
* [Apache License](LICENSE-APACHE)