.github | ||
assets/images | ||
dist | ||
docs | ||
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
codecov.yml | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md |
termscp
~ A feature rich terminal file transfer ~
Developed by Christian Visintin
Current version: 0.5.0 FIXME: (13/04/2021)
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.
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
You can opt for any of these methods, according to your systems and preferences:
Cargo 🦀
# Install termscp via cargo
cargo install termscp
Requirements:
- Linux
- pkg-config
- libssh2
- openssl
Deb package 📦
Get deb
package from HERE
or run wget https://github.com/veeso/termscp/releases/latest/download/termscp_0.5.0_amd64.deb
then install via dpkg:
dpkg -i termscp_*.deb
# Or even better with gdebi
gdebi termscp_*.deb
RPM package 📦
Get rpm
package from HERE
or run wget https://github.com/veeso/termscp/releases/latest/download/termscp-0.5.0-1.x86_64.rpm
then install via rpm:
rpm -U termscp_*.rpm
AUR Package 🔼
On Arch Linux based distribution, you can install termscp using for istance yay, which I recommend to install AUR packages.
yay -S termscp
Chocolatey 🍫
You can install termscp on Windows via chocolatey
Start PowerShell as administrator and run
choco install termscp
Alternatively you can download the ZIP file from HERE
and then with PowerShell started with administrator previleges, run:
choco install termscp -s .
Brew 🍻
You can install termscp on MacOS using brew
From your terminal run
brew install veeso/termscp/termscp
User Manual 🎓
Click here 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 https://docs.rs/termscp
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 updates will now be seasonal, so expect 4 major updates during the year.
- Keyring-rs on Linux 🔐: Planned for the summer update, check for updates in this issue
- Samba Support 🎉: This will require a long time to be implemented, since I'm thinking of implementing a Rust native samba library from scratch, since I don't want to add new C-bindings. It'll maybe included in the summer update.
- 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
Changelog ⏳
View termscp's changelog HERE
Powered by 🚀
termscp is powered by these aweseome projects:
- bytesize
- crossterm
- edit
- keyring-rs
- rpassword
- rust-ftp
- ssh2-rs
- textwrap
- tui-rs
- tui-realm
- whoami
- wildmatch
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 🥳
License 📃
termscp is licensed under the MIT license.
You can read the entire license HERE