# termscp

~ A feature rich terminal file transfer ~

Website ยท Installation ยท User manual

Developed by @veeso

Current version: 0.6.0 FIXME: (23/05/2021)

[![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.6.0-orange.svg)](https://crates.io/crates/termscp) [![Docs](https://docs.rs/termscp/badge.svg)](https://docs.rs/termscp) [![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) [![Coverage Status](https://coveralls.io/repos/github/veeso/termscp/badge.svg)](https://coveralls.io/github/veeso/termscp) --- ## 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. ![Explorer](assets/images/explorer.gif) --- ## Features ๐ŸŽ - ๐Ÿ“ Different communication protocols support - SFTP - SCP - FTP and FTPS - ๐Ÿ–ฅ Explore and operate on the remote and on the local machine file system with a handy UI - Create, remove, rename, search, view and edit files - โญ Connect to your favourite hosts through built-in bookmarks and recent connections - ๐Ÿ“ View and edit text files with your favourite text editor - ๐Ÿ’ SFTP/SCP authentication through SSH keys and username/password - ๐Ÿง Compatible with Windows, Linux, BSD and MacOS - โœ Customizable - Custom file explorer format - Customizable text editor - Customizable file sorting - ๐Ÿ” Save your password in your operating system key vault - ๐Ÿฆ€ Rust-powered - ๐Ÿค Easy to extend with new file transfers protocols - ๐Ÿ‘€ Developed keeping an eye on performance - ๐Ÿฆ„ Frequent awesome updates --- ## Get started ๐Ÿš€ 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) If you are a Linux or a MacOS user this simple shell script will install termscp on your system with a single command: ```sh curl --proto '=https' --tlsv1.2 -sSf "https://raw.githubusercontent.com/veeso/termscp/main/install.sh" | sh ``` while if you're a Windows user, you can install termscp with [Chocolatey](https://chocolatey.org/). For more information or other platforms, please visit [veeso.github.io](https://veeso.github.io/termscp/#get-started) to view all installation methods. ### Soft Requirements โœ”๏ธ These requirements are not forcely required to run termscp, but to enjoy all of its features - **Linux** users - To **open** files via `V` (at least one of these) - *xdg-open* - *gio* - *gnome-open* - *kde-open* - **WSL** users - To **open** files via `V` (at least one of these) - [wslu](https://github.com/wslutilities/wslu) --- ## Buy me a coffee โ˜• If you like termscp and you'd love to see the project to grow, please consider a little donation ๐Ÿฅณ [![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) --- ## Documentation ๐Ÿ“š The developer documentation can be found on Rust Docs at --- ## Known issues ๐Ÿงป - `NoSuchFileOrDirectory` on connect (WSL1): 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 ๐Ÿงช Major termscp releases will now be seasonal, so expect 4 major updates during the year. Planned for *๐Ÿ„ Summer update ๐ŸŒด*: - **Keyring-rs on Linux ๐Ÿ”**: Check for updates in [this issue](https://github.com/veeso/termscp/issues/2) - **SMB Support ๐ŸŽ‰**: This will require a long time to be implemented, since I'm currently working on a Rust native SMB library, since I don't want to add new C-bindings. ~~Fear the ๐Ÿฆš~~ - **Open files with any application โ˜„๏ธ**: possibility to open files of any kind and with any application directly inside termscp. This will be achieved through this awesome crate [open-rs](https://github.com/Byron/open-rs). To be planned: - **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 - **Configuration profile for bookmarks ๐Ÿ“š**: I would like to, but I still have to analyze it. - **AWS S3 support ๐Ÿชฃ**: There is already a library for AWS S3, but this is really on bottom of my implementation list at the moment, due to interest and I don't really have a system where to test it. Along to new features, termscp developments is now focused on UI and performance improvements, so if you have any suggestion, feel free to open an issue. --- ## 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) - [open-rs](https://github.com/Byron/open-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) - [wildmatch](https://github.com/becheran/wildmatch) --- ## Gallery ๐ŸŽฌ > Termscp Home ![Auth](assets/images/auth.gif) > Bookmarks ![Bookmarks](assets/images/bookmarks.gif) > Setup ![Setup](assets/images/config.gif) > Text editor ![TextEditor](assets/images/text-editor.gif) --- ## License ๐Ÿ“ƒ termscp is licensed under the MIT license. You can read the entire license [HERE](LICENSE)