termscp/README.md

198 lines
7.6 KiB
Markdown
Raw Normal View History

2021-05-05 22:13:57 +02: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-05-22 16:03:07 +02:00
<p align="center">~ A feature rich terminal file transfer ~</p>
<p align="center">
2021-05-22 16:04:42 +02:00
<a href="https://veeso.github.io/termscp/" target="_blank">Website</a>
2021-05-22 16:03:07 +02:00
·
2021-05-22 16:04:42 +02:00
<a href="https://veeso.github.io/termscp/#get-started" target="_blank">Installation</a>
2021-05-22 16:03:07 +02:00
·
2021-05-22 16:04:42 +02:00
<a href="https://veeso.github.io/termscp/#user-manual" target="_blank">User manual</a>
2021-05-22 16:03:07 +02:00
</p>
2021-05-23 15:56:18 +02:00
<p align="center">Developed by <a href="https://veeso.github.io/">@veeso</a></p>
2021-08-26 10:42:46 +02:00
<p align="center">Current version: 0.7.0 (FIXME: 31/08/2021)</p>
2020-11-07 17:48:41 +01:00
2021-08-26 10:42:46 +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.7.0-orange.svg)](https://crates.io/crates/termscp) [![Docs](https://docs.rs/termscp/badge.svg)](https://docs.rs/termscp)
2021-05-23 15:56:18 +02:00
2021-06-20 11:29:12 +02:00
[![Linux](https://github.com/veeso/termscp/workflows/Linux/badge.svg)](https://github.com/veeso/termscp/actions) [![MacOs](https://github.com/veeso/termscp/workflows/MacOS/badge.svg)](https://github.com/veeso/termscp/actions) [![Windows](https://github.com/veeso/termscp/workflows/Windows/badge.svg)](https://github.com/veeso/termscp/actions) [![FreeBSD](https://github.com/veeso/termscp/workflows/FreeBSD/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)
2021-05-23 15:56:18 +02:00
2020-11-07 17:48:41 +01:00
---
2021-05-05 22:13:57 +02: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
## Features 🎁
2020-11-07 17:48:41 +01:00
2021-07-23 14:32:50 +02:00
- 📁 Different communication protocols
2020-11-07 17:48:41 +01:00
- SFTP
- SCP
2020-12-01 14:38:03 +01:00
- FTP and FTPS
2021-05-21 12:59:42 +02:00
- 🖥 Explore and operate on the remote and on the local machine file system with a handy UI
2021-03-08 14:38:03 +01:00
- Create, remove, rename, search, view and edit files
2021-05-21 12:59:42 +02:00
- ⭐ 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
- Themes
- Custom file explorer format
- Customizable text editor
- Customizable file sorting
2021-05-21 12:59:42 +02:00
- 🔐 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
2020-12-06 12:32:53 +01:00
---
2020-11-07 17:48:41 +01:00
2021-05-22 16:03:07 +02:00
## Get started 🚀
2020-11-07 17:48:41 +01:00
2021-05-05 22:13:57 +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)
2021-06-20 17:59:27 +02:00
If you are a Linux, a FreeBSD or a MacOS user this simple shell script will install termscp on your system with a single command:
2021-05-23 14:47:55 +02:00
```sh
2021-08-03 17:09:37 +02:00
curl --proto '=https' --tlsv1.2 -sSLf "https://git.io/JBhDb" | sh
2021-05-23 14:47:55 +02:00
```
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.
2020-12-06 22:36:18 +01:00
2021-06-20 16:55:17 +02:00
### Requirements ❗
2021-07-23 14:32:50 +02:00
- **Linux** users:
2021-06-20 16:55:17 +02:00
- libssh
- libdbus-1
2021-07-23 14:32:50 +02:00
- **BSD** users:
- libssh
2021-06-20 16:55:17 +02:00
2021-07-23 14:32:50 +02:00
### Optional Requirements ✔️
2021-06-11 13:01:28 +02:00
These requirements are not forcely required to run termscp, but to enjoy all of its features
2021-06-20 16:55:17 +02:00
- **Linux/BSD** users:
2021-06-11 13:01:28 +02:00
- To **open** files via `V` (at least one of these)
- *xdg-open*
- *gio*
- *gnome-open*
- *kde-open*
2021-07-23 14:32:50 +02:00
- **Linux** users:
2021-06-20 16:55:17 +02:00
- A keyring manager: read more in the [User manual](docs/man.md#linux-keyring)
2021-06-11 13:01:28 +02:00
- **WSL** users
- To **open** files via `V` (at least one of these)
- [wslu](https://github.com/wslutilities/wslu)
2020-12-06 22:36:18 +01:00
---
2021-05-22 16:03:07 +02:00
## Buy me a coffee ☕
2020-12-06 22:36:18 +01:00
2021-05-22 16:03:07 +02:00
If you like termscp and you'd love to see the project to grow, please consider a little donation 🥳
2021-05-22 16:03:07 +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)
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-05-21 12:59:42 +02:00
- `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).
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-06-01 17:10:25 +02:00
Major termscp releases will now be seasonal, so expect 4 major updates during the year.
2021-07-23 14:32:50 +02:00
Planned for *🍁 Autumn update 🍇*:
2021-06-01 17:10:25 +02:00
2021-07-23 14:32:50 +02:00
- **Self-update ⬇️**: In order to increase users updating termscp, I want to provide the possibility to update termscp directly from application, when a new update is available.
- **AWS S3 support 🪣**: I'll use `rust-s3` library to implement this. This is really big **Maybe** for the autumn update and might be moved to the Winter update.
2021-08-17 18:05:02 +02:00
- **Prompt before replacing files ☢️**: Possibility to configure whether a prompt should be displayed before replacing files.
2021-06-01 17:10:25 +02:00
2021-07-23 14:32:50 +02:00
Planned for *❄️ Winter update ⛄*:
2021-03-26 22:19:24 +01:00
2021-07-23 14:32:50 +02:00
- **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 🦚~~
2021-08-17 18:05:02 +02:00
- **Configuration profile for bookmarks 📚**: Basically this feature adds the possibility to have a specific setup for a certain host, instead of having only one global configuration.
2021-03-26 22:19:24 +01:00
2021-07-23 14:32:50 +02:00
Along to new features, termscp developments is now focused on UX and performance improvements, so if you have any suggestion, feel free to open an issue.
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
2021-05-05 22:13:57 +02:00
View termscp's changelog [HERE](CHANGELOG.md)
2020-12-06 22:36:18 +01:00
---
2021-05-22 16:03:07 +02:00
## Powered by 💪
2020-12-06 22:36:18 +01:00
2021-05-05 22:13:57 +02:00
termscp is powered by these aweseome projects:
2020-12-06 22:36:18 +01:00
- [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)
2021-06-11 13:01:28 +02:00
- [open-rs](https://github.com/Byron/open-rs)
2020-12-06 22:36:18 +01:00
- [rpassword](https://github.com/conradkleinespel/rpassword)
- [ssh2-rs](https://github.com/alexcrichton/ssh2-rs)
- [suppaftp](https://github.com/veeso/suppaftp)
2020-12-06 22:36:18 +01:00
- [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)
2021-05-21 12:59:42 +02:00
- [wildmatch](https://github.com/becheran/wildmatch)
2020-12-06 22:36:18 +01:00
---
## 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
---
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)