termscp/README.md
ChristianVisintin 970409b790 Build docs
2020-12-01 14:38:03 +01:00

135 lines
4.7 KiB
Markdown

# TermSCP
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) [![Stars](https://img.shields.io/github/stars/ChristianVisintin/TermSCP.svg)](https://github.com/ChristianVisintin/TermSCP) [![Issues](https://img.shields.io/github/issues/ChristianVisintin/TermSCP.svg)](https://github.com/ChristianVisintin/TermSCP/issues) [![Downloads](https://img.shields.io/crates/d/termscp.svg)](https://crates.io/crates/termscp) [![Crates.io](https://img.shields.io/badge/crates.io-v0.1.0-orange.svg)](https://crates.io/crates/termscp) [![Build](https://github.com/ChristianVisintin/TermSCP/workflows/Build/badge.svg)](https://github.com/ChristianVisintin/TermSCP/actions)
~ Basically, WinSCP on a terminal ~
Developed by Christian Visintin
Current version: 0.1.0 (??/??/2020)
⚠ This project is **still under development**; installation instructions won't work until release ⚠
---
- [TermSCP](#termscp)
- [About TermSCP](#about-termscp)
- [Why TermSCP](#why-termscp)
- [Features](#features)
- [Installation](#installation)
- [Requirements](#requirements)
- [Install OpenSSL on Windows](#install-openssl-on-windows)
- [Precompiled Binaries](#precompiled-binaries)
- [Vcpkg](#vcpkg)
- [Cargo](#cargo)
- [Deb / Rpm](#deb--rpm)
- [Usage](#usage)
- [Documentation](#documentation)
- [Known issues](#known-issues)
- [Upcoming Features](#upcoming-features)
- [Contributions](#contributions)
- [Changelog](#changelog)
- [License](#license)
---
## About TermSCP
TermSCP is basically a porting of WinSCP to terminal. So basically is a terminal tool with an UI to connect to a remote server to retrieve and upload files. It works both on **Linux**, **MacOS**, **UNIX** and **Windows** too and supports SFTP, FTP and FTPS.
### Why TermSCP
It happens very often to me when using SCP at work to forget the path of a file on a remote machine, which forces me then to connect through SSH, gather the file path and finally download it through SCP. I could use WinSCP, but I use Linux and I pratically use the terminal for everything, so I wanted something like WinSCP on my terminal.
## Features
- Different communication protocols
- SFTP
- FTP and FTPS
- Practical user interface to explore the remote machine file system and to select the files to upload and download
- Written in Rust
- Easy to extend with new protocols
## Installation
If you're considering to install TermSCP I want to thank you 💛 ! I hope this project can be useful for you!
If you want to contribute to this project, don't forget to check out our contribute guide. [Read More](CONTRIBUTING.md)
### Requirements
- OpenSSL: only if you want **FTPS** support
#### Install OpenSSL on Windows
To install OpenSSL on Windows you have basically two options:
##### Precompiled Binaries
Download the precompiled binaries from <http://slproweb.com/products/Win32OpenSSL.html> (Non light installation); install to system path and then add to your environmental variables `OPENSSL_DIR=path\to\the\installation\dir`
##### Vcpkg
You can use [vcpkg](https://github.com/Microsoft/vcpkg) to install OpenSSL and then run
```dos
vcpkg install openssl:x64-windows
set VCPKG_ROOT=PATH_TO_VCPKG_INSTALLATION
```
### Cargo
```sh
# Install termscp through cargo
cargo install termscp
```
### Deb / Rpm
Coming soon
### Usage
TermSCP can be started with the following options:
- `-v, --version` Print version info
- `-h, --help` Print help page
## Documentation
The developer documentation can be found on Rust Docs at <https://docs.rs/termscp>
---
## Known issues
TODO:
---
## Upcoming Features
- **File viewer**: possibility to show in a popup the file content from the explorer.
- **Replacement of OpenSSL**: OpenSSL is kinda an annoying stuff, especially for Windows. Unfortunately rust-ftp requires OpenSSL to build. I'm working on replacing it on [rust-fpt](https://github.com/ChristianVisintin/rust-ftp/tree/rust-tls). If you want to give me a hand, feel free to contribute.
---
## Contributions
Contributions are welcome! 😉
If you think you can contribute to TermSCP, please follow [TermSCP's contributions guide](CONTRIBUTING.md)
## Changelog
See the enire changelog [HERE](CHANGELOG.md)
---
## License
Licensed under the GNU GPLv3 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
<http://www.gnu.org/licenses/gpl-3.0.txt>
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
You can read the entire license [HERE](LICENSE)