termscp/README.md

265 lines
8.4 KiB
Markdown
Raw Normal View History

2020-11-07 17:50:37 +01:00
# TermSCP
2020-11-07 17:48:41 +01:00
2021-05-01 17:58:00 +02:00
<p align="center">
<img src="/assets/images/termscp.svg" width="256" height="256" />
</p>
2021-04-23 22:05:05 +02:00
[![License: MIT](https://img.shields.io/badge/License-MIT-teal.svg)](https://opensource.org/licenses/MIT) [![Stars](https://img.shields.io/github/stars/veeso/termscp.svg)](https://github.com/veeso/termscp) [![Downloads](https://img.shields.io/crates/d/termscp.svg)](https://crates.io/crates/termscp) [![Crates.io](https://img.shields.io/badge/crates.io-v0.5.0-orange.svg)](https://crates.io/crates/termscp) [![Docs](https://docs.rs/termscp/badge.svg)](https://docs.rs/termscp)
2020-12-06 11:01:57 +01:00
[![Build](https://github.com/veeso/termscp/workflows/Linux/badge.svg)](https://github.com/veeso/termscp/actions) [![Build](https://github.com/veeso/termscp/workflows/MacOS/badge.svg)](https://github.com/veeso/termscp/actions) [![Build](https://github.com/veeso/termscp/workflows/Windows/badge.svg)](https://github.com/veeso/termscp/actions)
2020-11-07 17:48:41 +01:00
2021-04-23 22:03:12 +02:00
~ A feature rich terminal file transfer ~
2020-11-07 17:48:41 +01:00
Developed by Christian Visintin
2021-04-23 22:05:05 +02:00
Current version: 0.5.0 FIXME: (13/04/2021)
2020-11-07 17:48:41 +01:00
---
2020-11-07 17:50:37 +01:00
- [TermSCP](#termscp)
2020-12-06 12:52:47 +01:00
- [About TermSCP 🖥](#about-termscp-)
- [Why TermSCP 🤔](#why-termscp-)
- [Features 🎁](#features-)
2020-12-13 10:25:22 +01:00
- [Installation 🛠](#installation-)
2020-12-06 12:32:53 +01:00
- [Cargo 🦀](#cargo-)
- [Deb package 📦](#deb-package-)
2020-12-13 10:25:22 +01:00
- [RPM package 📦](#rpm-package-)
2020-12-21 12:06:44 +01:00
- [AUR Package 🔼](#aur-package-)
2020-12-06 12:32:53 +01:00
- [Chocolatey 🍫](#chocolatey-)
- [Brew 🍻](#brew-)
2021-05-01 10:38:13 +02:00
- [User Manual 🎓](#user-manual-)
2020-12-06 12:32:53 +01:00
- [Documentation 📚](#documentation-)
- [Known issues 🧻](#known-issues-)
- [Upcoming Features 🧪](#upcoming-features-)
- [Contributing and issues 🤝🏻](#contributing-and-issues-)
2020-12-06 12:32:53 +01:00
- [Changelog ⏳](#changelog-)
2020-12-06 22:36:18 +01:00
- [Powered by 🚀](#powered-by-)
- [Gallery 🎬](#gallery-)
2021-04-12 21:00:48 +02:00
- [Buy me a coffee ☕](#buy-me-a-coffee-)
2020-12-06 12:32:53 +01:00
- [License 📃](#license-)
2020-11-07 17:48:41 +01:00
---
2020-12-06 12:52:47 +01:00
## About TermSCP 🖥
2020-11-07 17:48:41 +01:00
2021-04-23 22:03:12 +02:00
Termscp is a feature rich terminal file transfer and explorer, with support for SCP/SFTP/FTP. So basically is a terminal utility with an TUI to connect to a remote server to retrieve and upload files and to interact with the local file system. It is **Linux**, **MacOS**, **BSD** and **Windows** compatible and supports SFTP, SCP, FTP and FTPS.
2020-11-07 17:48:41 +01:00
2020-12-06 22:40:08 +01:00
![Explorer](assets/images/explorer.gif)
2020-12-06 22:36:18 +01:00
---
2020-12-06 12:52:47 +01:00
### Why TermSCP 🤔
2020-11-07 17:48:41 +01:00
It happens quite often to me, when using SCP at work to forget the path of a file on a remote machine, which forces me 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. Yeah, I know there is midnight commander too, but actually I don't like it very much tbh (and hasn't a decent support for scp).
2020-11-07 17:48:41 +01:00
2020-12-06 12:52:47 +01:00
## Features 🎁
2020-11-07 17:48:41 +01:00
2021-05-01 10:38:13 +02:00
- 📁 Different communication protocols support
2020-11-07 17:48:41 +01:00
- SFTP
- SCP
2020-12-01 14:38:03 +01:00
- FTP and FTPS
2021-05-01 10:38:13 +02:00
- 🐧 Compatible with Windows, Linux, BSD and MacOS
- 🖥 Handy user interface to explore and operate on the remote and on the local machine file system
2021-03-08 14:38:03 +01:00
- Create, remove, rename, search, view and edit files
2021-05-01 10:38:13 +02:00
- ⭐ Bookmarks and recent connections can be saved to access quickly to your favourite hosts
- 📝 Supports text editors to view and edit text files
- 💁 Supports both SFTP/SCP authentication through SSH keys and username/password
- ✏ Customizations
- Custom file explorer format
- Customizable text editor
- Customizable file sorting
2021-05-01 10:38:13 +02:00
- 🔐 SSH key storage
- 🦀 Written in Rust
- 🤝 Easy to extend with new file transfers protocols
- 👀 Developed keeping an eye on performance
- 🦄 Frequent awesome updates
2020-12-06 12:32:53 +01:00
---
2020-11-07 17:48:41 +01:00
2020-12-13 10:25:22 +01:00
## Installation 🛠
2020-11-07 17:48:41 +01:00
2021-05-01 10:38:13 +02:00
If you're considering to install TermSCP I want to thank you 💜 ! I hope you will enjoy TermSCP!
2020-11-07 17:48:41 +01:00
If you want to contribute to this project, don't forget to check out our contribute guide. [Read More](CONTRIBUTING.md)
2020-12-06 12:32:53 +01:00
### Cargo 🦀
2020-11-07 17:48:41 +01:00
```sh
# Install termscp via cargo
2020-11-07 17:48:41 +01:00
cargo install termscp
```
2021-01-13 10:49:46 +01:00
Requirements:
- Linux
- pkg-config
- libssh2
- openssl
2020-12-06 12:32:53 +01:00
### Deb package 📦
2020-11-07 17:48:41 +01:00
2021-04-23 22:05:05 +02:00
Get `deb` package from [HERE](https://github.com/veeso/termscp/releases/latest/download/termscp_0.5.0_amd64.deb)
or run `wget https://github.com/veeso/termscp/releases/latest/download/termscp_0.5.0_amd64.deb`
2020-11-07 17:48:41 +01:00
then install via dpkg:
2020-11-07 17:48:41 +01:00
2020-12-06 12:32:53 +01:00
```sh
dpkg -i termscp_*.deb
# Or even better with gdebi
gdebi termscp_*.deb
```
2020-11-07 17:48:41 +01:00
2020-12-13 10:25:22 +01:00
### RPM package 📦
2020-12-06 12:32:53 +01:00
2021-04-23 22:05:05 +02:00
Get `rpm` package from [HERE](https://github.com/veeso/termscp/releases/latest/download/termscp-0.5.0-1.x86_64.rpm)
or run `wget https://github.com/veeso/termscp/releases/latest/download/termscp-0.5.0-1.x86_64.rpm`
2020-12-06 12:32:53 +01:00
then install via rpm:
2020-12-06 12:32:53 +01:00
```sh
rpm -U termscp_*.rpm
```
2020-12-21 12:06:44 +01:00
### AUR Package 🔼
2020-12-21 12:02:45 +01:00
2021-02-27 20:57:07 +01:00
On Arch Linux based distribution, you can install termscp using for istance [yay](https://github.com/Jguer/yay), which I recommend to install AUR packages.
2020-12-21 12:02:45 +01:00
```sh
yay -S termscp
```
2020-12-06 12:32:53 +01:00
### Chocolatey 🍫
2020-12-06 14:38:22 +01:00
You can install TermSCP on Windows using [chocolatey](https://chocolatey.org/)
Start PowerShell as administrator and run
```ps
choco install termscp
```
2021-04-23 22:05:05 +02:00
Alternatively you can download the ZIP file from [HERE](https://github.com/veeso/termscp/releases/latest/download/termscp.0.5.0.nupkg)
2020-12-06 14:38:22 +01:00
and then with PowerShell started with administrator previleges, run:
```ps
choco install termscp -s .
```
2020-12-06 12:32:53 +01:00
### Brew 🍻
2020-12-06 22:36:18 +01:00
You can install TermSCP on MacOS using [brew](https://brew.sh/)
From your terminal run
```sh
brew install veeso/termscp/termscp
2020-12-06 22:36:18 +01:00
```
---
2021-05-01 10:38:13 +02:00
## User Manual 🎓
2020-12-06 22:36:18 +01:00
2021-05-01 10:38:13 +02:00
[Click here](docs/man.md) to read the user manual!
2020-12-06 22:36:18 +01:00
2021-05-01 10:38:13 +02:00
What you will find:
2021-05-01 10:38:13 +02:00
- CLI options
- Keybindings
- Bookmarks
- Configuration
2020-12-06 22:36:18 +01:00
2020-12-06 12:32:53 +01:00
---
2020-11-07 17:48:41 +01:00
2020-12-06 12:32:53 +01:00
## Documentation 📚
2020-11-07 17:48:41 +01:00
The developer documentation can be found on Rust Docs at <https://docs.rs/termscp>
---
2020-12-06 12:32:53 +01:00
## Known issues 🧻
2020-11-07 17:48:41 +01:00
2021-01-09 20:35:55 +01:00
- `NoSuchFileOrDirectory` on connect (WSL): I know about this issue and it's a glitch of WSL I guess. Don't worry about it, just move the termscp executable into another PATH location, such as `/usr/bin`, or install it through the appropriate package format (e.g. deb).
2020-11-07 17:48:41 +01:00
---
2020-12-06 12:32:53 +01:00
## Upcoming Features 🧪
2020-11-07 17:48:41 +01:00
2021-04-12 21:00:48 +02:00
- **Themes provider 🎨**: I'm still thinking about how I will implement this, but basically the idea is to have a configuration file where it will be possible
2021-03-26 22:19:24 +01:00
to define the color schema for the entire application. I haven't planned this release yet
2021-04-12 21:00:48 +02:00
- **Synchronized browsing of local and remote directories ⌚**: See [Issue 8](https://github.com/veeso/termscp/issues/8)
- **Group file select 🤩**: Possibility to select a group of files in explorers to operate on
2021-03-26 22:19:24 +01:00
No other new feature is planned at the moment. I actually think that termscp is getting mature and now I should focus upcoming updates more on bug fixing and code/performance improvements than on new features.
2021-03-26 22:19:24 +01:00
Anyway there are some ideas which I'd like to implement. If you want to start working on them, feel free to open a PR:
- Amazon S3 support
- Samba support
- Themes provider
2020-12-21 12:02:45 +01:00
2020-11-07 17:48:41 +01:00
---
## Contributing and issues 🤝🏻
2020-11-07 17:48:41 +01:00
Contributions, bug reports, new features and questions are welcome! 😉
If you have any question or concern, or you want to suggest a new feature, or you want just want to improve termscp, feel free to open an issue or a PR.
2020-11-07 17:48:41 +01:00
Please follow [our contributing guidelines](CONTRIBUTING.md)
---
2020-11-07 17:48:41 +01:00
2020-12-06 12:32:53 +01:00
## Changelog ⏳
2020-11-07 17:48:41 +01:00
2020-12-06 22:36:18 +01:00
View TermSCP's changelog [HERE](CHANGELOG.md)
---
## Powered by 🚀
TermSCP is powered by these aweseome projects:
- [bytesize](https://github.com/hyunsik/bytesize)
- [crossterm](https://github.com/crossterm-rs/crossterm)
2020-12-20 15:22:52 +01:00
- [edit](https://github.com/milkey-mouse/edit)
2021-01-16 17:13:41 +01:00
- [keyring-rs](https://github.com/hwchen/keyring-rs)
2020-12-06 22:36:18 +01:00
- [rpassword](https://github.com/conradkleinespel/rpassword)
2021-01-09 20:35:55 +01:00
- [rust-ftp](https://github.com/mattnenterprise/rust-ftp)
2020-12-06 22:36:18 +01:00
- [ssh2-rs](https://github.com/alexcrichton/ssh2-rs)
- [textwrap](https://github.com/mgeisler/textwrap)
- [tui-rs](https://github.com/fdehau/tui-rs)
2021-04-24 11:38:28 +02:00
- [tui-realm](https://github.com/veeso/tui-realm)
2020-12-06 22:36:18 +01:00
- [whoami](https://github.com/libcala/whoami)
---
## Gallery 🎬
2020-12-16 21:09:59 +01:00
> Termscp Home
2020-12-06 22:40:08 +01:00
![Auth](assets/images/auth.gif)
2020-11-07 17:48:41 +01:00
2020-12-16 21:09:59 +01:00
> Bookmarks
![Bookmarks](assets/images/bookmarks.gif)
2021-01-09 15:28:20 +01:00
> Setup
![Setup](assets/images/config.gif)
2020-12-20 15:22:52 +01:00
> Text editor
![TextEditor](assets/images/text-editor.gif)
2020-11-07 17:48:41 +01:00
---
2021-04-12 21:00:48 +02:00
## Buy me a coffee ☕
If you like termscp and you'd love to see the project to grow, please consider a little donation 🥳
2021-04-12 21:03:30 +02:00
[![Buy-me-a-coffee](https://img.buymeacoffee.com/button-api/?text=Buy%20me%20a%20coffee&emoji=&slug=veeso&button_colour=404040&font_colour=ffffff&font_family=Comic&outline_colour=ffffff&coffee_colour=FFDD00)](https://www.buymeacoffee.com/veeso)
2021-04-12 21:00:48 +02:00
---
2020-12-06 12:32:53 +01:00
## License 📃
2020-11-07 17:48:41 +01:00
2021-05-01 10:38:13 +02:00
termscp is licensed under the MIT license.
2020-11-07 17:48:41 +01:00
You can read the entire license [HERE](LICENSE)