termscp/README.md

328 lines
10 KiB
Markdown
Raw Permalink 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-10-04 10:48:56 +02:00
<p align="center">
<a href="https://github.com/veeso/termscp"
><img
height="20"
2021-10-04 16:02:40 +02:00
src="/assets/images/flags/us.png"
2021-10-04 10:48:56 +02:00
alt="English"
/></a>
&nbsp;
<a
2021-10-04 16:11:45 +02:00
href="/docs/de/README.md"
2021-10-04 10:48:56 +02:00
><img
height="20"
2021-10-04 16:02:40 +02:00
src="/assets/images/flags/de.png"
2021-10-04 10:48:56 +02:00
alt="Deutsch"
/></a>
&nbsp;
<a
2021-10-04 16:11:45 +02:00
href="/docs/es/README.md"
2021-10-04 10:48:56 +02:00
><img
height="20"
2021-10-04 16:02:40 +02:00
src="/assets/images/flags/es.png"
2021-10-04 10:48:56 +02:00
alt="Español"
/></a>
&nbsp;
<a
2021-10-04 16:11:45 +02:00
href="/docs/fr/README.md"
2021-10-04 10:48:56 +02:00
><img
height="20"
2021-10-04 16:02:40 +02:00
src="/assets/images/flags/fr.png"
2021-10-04 10:48:56 +02:00
alt="Français"
/></a>
&nbsp;
<a
2021-10-04 16:11:45 +02:00
href="/docs/it/README.md"
2021-10-04 10:48:56 +02:00
><img
height="20"
2021-10-04 16:02:40 +02:00
src="/assets/images/flags/it.png"
2021-10-04 10:48:56 +02:00
alt="Italiano"
/></a>
&nbsp;
<a
2021-10-04 16:11:45 +02:00
href="/docs/zh-CN/README.md"
2021-10-04 10:48:56 +02:00
><img
height="20"
2021-10-04 16:02:40 +02:00
src="/assets/images/flags/cn.png"
2021-10-04 10:48:56 +02:00
alt="简体中文"
/></a>
</p>
2021-10-06 08:45:02 +02:00
<p align="center">Developed by <a href="https://veeso.github.io/" target="_blank">@veeso</a></p>
2021-09-30 09:56:20 +02:00
<p align="center">Current version: 0.7.0 (12/10/2021)</p>
2020-11-07 17:48:41 +01:00
2021-10-06 10:37:36 +02:00
<p align="center">
<a href="https://opensource.org/licenses/MIT"
><img
src="https://img.shields.io/badge/License-MIT-teal.svg"
alt="License-MIT"
/></a>
<a href="https://github.com/veeso/termscp/stargazers"
><img
src="https://img.shields.io/github/stars/veeso/termscp.svg"
alt="Repo stars"
/></a>
<a href="https://crates.io/crates/termscp"
><img
src="https://img.shields.io/crates/d/termscp.svg"
alt="Downloads counter"
/></a>
<a href="https://crates.io/crates/termscp"
><img
src="https://img.shields.io/crates/v/termscp.svg"
alt="Latest version"
/></a>
2021-10-10 09:52:49 +02:00
<a href="https://www.buymeacoffee.com/veeso"
><img
src="https://img.shields.io/badge/Donate-BuyMeACoffee-yellow.svg"
alt="Buy me a coffee"
/></a>
2021-10-06 10:37:36 +02:00
</p>
<p align="center">
<a href="https://github.com/veeso/termscp/actions"
><img
src="https://github.com/veeso/termscp/workflows/Linux/badge.svg"
alt="Linux CI"
/></a>
<a href="https://github.com/veeso/termscp/actions"
><img
src="https://github.com/veeso/termscp/workflows/MacOS/badge.svg"
alt="MacOS CI"
/></a>
<a href="https://github.com/veeso/termscp/actions"
><img
src="https://github.com/veeso/termscp/workflows/Windows/badge.svg"
alt="Windows CI"
/></a>
<a href="https://github.com/veeso/termscp/actions"
><img
src="https://github.com/veeso/termscp/workflows/FreeBSD/badge.svg"
alt="FreeBSD CI"
/></a>
<a href="https://coveralls.io/github/veeso/termscp"
><img
src="https://coveralls.io/repos/github/veeso/termscp/badge.svg"
alt="Coveralls"
/></a>
<a href="https://docs.rs/termscp"
><img
src="https://docs.rs/termscp/badge.svg"
alt="Docs"
/></a>
</p>
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-10-04 16:02:40 +02:00
Termscp is a feature rich terminal file transfer and explorer, with support for SCP/SFTP/FTP/S3. 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**, **FreeBSD** and **Windows** compatible.
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
2021-09-10 22:22:15 +02:00
- **SFTP**
- **SCP**
- **FTP** and **FTPS**
- **Aws S3**
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
2021-09-30 09:56:20 +02:00
- 📝 View and edit files with your favourite applications
- 💁 SFTP/SCP authentication with SSH keys and username/password
- 🐧 Compatible with Windows, Linux, FreeBSD and MacOS
- 🎨 Make it yours!
- Themes
- Custom file explorer format
- Customizable text editor
- Customizable file sorting
2021-09-30 09:56:20 +02:00
- and many other parameters...
- 📫 Get notified via Desktop Notifications when a large file has been transferred
2021-05-21 12:59:42 +02:00
- 🔐 Save your password in your operating system key vault
- 🦀 Rust-powered
- 👀 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!
2021-10-04 16:02:40 +02:00
If you want to contribute to this project, don't forget to check out our [contribute guide](CONTRIBUTING.md).
2020-11-07 17:48:41 +01:00
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
```
2021-09-16 09:30:19 +02:00
while if you're a Windows user, you can install termscp with [Chocolatey](https://chocolatey.org/):
```sh
choco install termscp
```
2021-05-23 14:47:55 +02:00
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-09-10 22:22:15 +02:00
⚠️ If you're looking on how to update termscp just run termscp from CLI with: `(sudo) termscp --update` ⚠️
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-09-26 18:14:13 +02:00
- pkg-config
2021-10-04 16:02:40 +02:00
- **FreeBSD** users:
2021-07-23 14:32:50 +02:00
- libssh
2021-09-26 18:14:13 +02:00
- dbus
- pkgconf
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
2021-10-06 08:45:02 +02:00
These requirements are not forced required to run termscp, but to enjoy all of its features
2021-06-11 13:01:28 +02:00
2021-10-04 16:02:40 +02:00
- **Linux/FreeBSD** 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-10-06 08:45:02 +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-10-30 15:49:35 +02:00
## Support the developer ☕
2020-12-06 22:36:18 +01:00
2021-10-30 15:49:35 +02:00
If you like termscp and you're grateful for the work I've done, please consider a little donation 🥳
2021-10-30 15:49:35 +02:00
You can make a donation with one of these platforms:
2020-12-06 22:36:18 +01:00
2021-10-30 15:54:02 +02:00
[![Buy-me-a-coffee](https://img.shields.io/badge/-buy_me_a%C2%A0coffee-gray?style=for-the-badge&logo=buy-me-a-coffee)](https://www.buymeacoffee.com/veeso)
[![PayPal](https://img.shields.io/badge/PayPal-00457C?style=for-the-badge&logo=paypal&logoColor=white)](https://www.paypal.me/chrisintin)
2021-10-10 09:52:49 +02:00
2020-12-06 12:32:53 +01:00
---
2020-11-07 17:48:41 +01:00
2021-09-25 13:56:40 +02:00
## User manual and Documentation 📚
2021-10-04 10:48:56 +02:00
The user manual can be found on the [termscp's website](https://veeso.github.io/termscp/#user-manual) or on [Github](docs/man.md).
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-09-30 09:56:20 +02:00
Planned for *❄️ Winter update 2021 ⛄*:
- **File system watcher 🔭**: The feature consists in the possibility to track some files in order to automatically sync them with remote host. For the implementation [notify](https://github.com/notify-rs/notify) will be used.
- **Translations 🌐**: The feature consists in the possibility for the user to install the language pack for the language he prefers in order to replace the default English interface. The following language will be provided along to English:
- 🇨🇳 Chinese
- 🇫🇷 French
- 🇩🇪 German
- 🇮🇹 Italian
- 🇳🇱 Dutch
- 🇪🇸 Spanish
Planned for *🍓 Spring update 2022 🌹*:
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-09-30 09:56:20 +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. (Maybe will be postponed to spring 2022).
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
2021-09-25 13:56:40 +02:00
An **appreciated** contribution would be a translation of the user manual and readme in **other languages**
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-10-04 16:02:40 +02:00
termscp is powered by these awesome 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)
2021-08-26 11:24:13 +02:00
- [rust-s3](https://github.com/durch/rust-s3)
2021-09-10 22:22:15 +02:00
- [self_update](https://github.com/jaemk/self_update)
2020-12-06 22:36:18 +01:00
- [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)