# TermSCP
[](https://opensource.org/licenses/MIT) [](https://github.com/veeso/termscp) [](https://crates.io/crates/termscp) [](https://crates.io/crates/termscp) [](https://docs.rs/termscp)
[](https://github.com/veeso/termscp/actions) [](https://github.com/veeso/termscp/actions) [](https://github.com/veeso/termscp/actions)
~ A feature rich terminal file transfer ~
Developed by Christian Visintin
Current version: 0.5.0 FIXME: (13/04/2021)
---
- [TermSCP](#termscp)
- [About TermSCP ๐ฅ](#about-termscp-)
- [Why TermSCP ๐ค](#why-termscp-)
- [Features ๐](#features-)
- [Installation ๐ ](#installation-)
- [Cargo ๐ฆ](#cargo-)
- [Deb package ๐ฆ](#deb-package-)
- [RPM package ๐ฆ](#rpm-package-)
- [AUR Package ๐ผ](#aur-package-)
- [Chocolatey ๐ซ](#chocolatey-)
- [Brew ๐ป](#brew-)
- [User Manual ๐](#user-manual-)
- [Documentation ๐](#documentation-)
- [Known issues ๐งป](#known-issues-)
- [Upcoming Features ๐งช](#upcoming-features-)
- [Contributing and issues ๐ค๐ป](#contributing-and-issues-)
- [Changelog โณ](#changelog-)
- [Powered by ๐](#powered-by-)
- [Gallery ๐ฌ](#gallery-)
- [Buy me a coffee โ](#buy-me-a-coffee-)
- [License ๐](#license-)
---
## About TermSCP ๐ฅ
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.

---
### Why TermSCP ๐ค
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).
## Features ๐
- ๐ Different communication protocols support
- SFTP
- SCP
- FTP and FTPS
- ๐ง Compatible with Windows, Linux, BSD and MacOS
- ๐ฅ Handy user interface to explore and operate on the remote and on the local machine file system
- Create, remove, rename, search, view and edit files
- โญ 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
- ๐ SSH key storage
- ๐ฆ Written in Rust
- ๐ค Easy to extend with new file transfers protocols
- ๐ Developed keeping an eye on performance
- ๐ฆ Frequent awesome updates
---
## Installation ๐
If you're considering to install TermSCP I want to thank you ๐ ! I hope you will enjoy TermSCP!
If you want to contribute to this project, don't forget to check out our contribute guide. [Read More](CONTRIBUTING.md)
### Cargo ๐ฆ
```sh
# Install termscp via cargo
cargo install termscp
```
Requirements:
- Linux
- pkg-config
- libssh2
- openssl
### Deb package ๐ฆ
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`
then install via dpkg:
```sh
dpkg -i termscp_*.deb
# Or even better with gdebi
gdebi termscp_*.deb
```
### RPM package ๐ฆ
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`
then install via rpm:
```sh
rpm -U termscp_*.rpm
```
### AUR Package ๐ผ
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.
```sh
yay -S termscp
```
### Chocolatey ๐ซ
You can install TermSCP on Windows using [chocolatey](https://chocolatey.org/)
Start PowerShell as administrator and run
```ps
choco install termscp
```
Alternatively you can download the ZIP file from [HERE](https://github.com/veeso/termscp/releases/latest/download/termscp.0.5.0.nupkg)
and then with PowerShell started with administrator previleges, run:
```ps
choco install termscp -s .
```
### Brew ๐ป
You can install TermSCP on MacOS using [brew](https://brew.sh/)
From your terminal run
```sh
brew install veeso/termscp/termscp
```
---
## User Manual ๐
[Click here](docs/man.md) to read the user manual!
What you will find:
- CLI options
- Keybindings
- Bookmarks
- Configuration
---
## Documentation ๐
The developer documentation can be found on Rust Docs at
---
## Known issues ๐งป
- `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).
---
## Upcoming Features ๐งช
- **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
to define the color schema for the entire application. I haven't planned this release yet
- **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
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
---
## Contributing and issues ๐ค๐ป
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.
Please follow [our contributing guidelines](CONTRIBUTING.md)
---
## Changelog โณ
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)
- [edit](https://github.com/milkey-mouse/edit)
- [keyring-rs](https://github.com/hwchen/keyring-rs)
- [rpassword](https://github.com/conradkleinespel/rpassword)
- [rust-ftp](https://github.com/mattnenterprise/rust-ftp)
- [ssh2-rs](https://github.com/alexcrichton/ssh2-rs)
- [textwrap](https://github.com/mgeisler/textwrap)
- [tui-rs](https://github.com/fdehau/tui-rs)
- [tui-realm](https://github.com/veeso/tui-realm)
- [whoami](https://github.com/libcala/whoami)
---
## Gallery ๐ฌ
> Termscp Home

> Bookmarks

> Setup

> Text editor

---
## Buy me a coffee โ
If you like termscp and you'd love to see the project to grow, please consider a little donation ๐ฅณ
[](https://www.buymeacoffee.com/veeso)
---
## License ๐
termscp is licensed under the MIT license.
You can read the entire license [HERE](LICENSE)