2020-11-07 17:50:37 +01:00
# TermSCP
2020-11-07 17:48:41 +01:00
2021-04-13 09:06:22 +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.4.2-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
2021-04-07 15:58:19 +02: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-13 09:06:22 +02:00
Current version: 0.4.2 (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- )
2021-04-04 16:08:16 +02:00
- [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
2021-02-26 16:56:03 +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
2020-12-05 18:01:18 +01:00
- 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
2021-01-23 15:51:46 +01:00
- 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 through cargo
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-13 09:06:22 +02:00
Get `deb` package from [HERE ](https://github.com/veeso/termscp/releases/latest/download/termscp_0.4.2_amd64.deb )
or run `wget https://github.com/veeso/termscp/releases/latest/download/termscp_0.4.2_amd64.deb`
2020-11-07 17:48:41 +01:00
2020-12-06 12:32:53 +01:00
then install through 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-13 09:06:22 +02:00
Get `rpm` package from [HERE ](https://github.com/veeso/termscp/releases/latest/download/termscp-0.4.2-1.x86_64.rpm )
or run `wget https://github.com/veeso/termscp/releases/latest/download/termscp-0.4.2-1.x86_64.rpm`
2020-12-06 12:32:53 +01:00
then install through rpm:
```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-13 09:06:22 +02:00
Alternatively you can download the ZIP file from [HERE ](https://github.com/veeso/termscp/releases/latest/download/termscp.0.4.2.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
2021-04-05 17:22:30 +02:00
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-02-25 14:27:34 +01:00
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
- **Local and remote file explorer format 🃏**: From 0.5.0 you will be able to customize the file format for both local and remote hosts.
- **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.
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
---
2021-04-04 16:08:16 +02:00
## Contributing and issues 🤝🏻
2020-11-07 17:48:41 +01:00
2021-04-04 16:08:16 +02: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
2021-04-04 16:08:16 +02: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 )
- [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 )