Renamed to lowercase termscp

This commit is contained in:
veeso 2021-05-05 22:13:57 +02:00
parent 1ddbd0aa4e
commit c0eb98c3f9
11 changed files with 37 additions and 37 deletions

View file

@ -115,7 +115,7 @@ Released on 28/02/2021
- Added `EXTRA` and `LENGTH` parameters to format keys.
- Now keys are provided with this syntax `{KEY_NAME[:LEN[:EXTRA]}`
- **Check for updates**:
- TermSCP will now check for updates on startup and will show in the main page if there is a new version available
- termscp will now check for updates on startup and will show in the main page if there is a new version available
- This feature may be disabled from setup (Check for updates => No)
- Enhancements:
- Default choice for deleting file set to "NO" (way too easy to delete files by mistake)

View file

@ -19,16 +19,16 @@ Please note we have a [code of conduct](CODE_OF_CONDUCT.md), please follow it in
## Project mission
TermSCP was born because, as a terminal lover and Linux user, I wanted something like WinSCP on Linux and on terminal. I my previous job I used SFTP/SCP pratically everyday and that made me to desire an application like termscp so much, that eventually I started to work on it in the spare time. I saw there was a very cool library to create terminal user interface (`tui-rs`), so I started to code it. I wrote termscp as an experiment, I designed kinda nothing at the time. I just said
termscp was born because, as a terminal lover and Linux user, I wanted something like WinSCP on Linux and on terminal. I my previous job I used SFTP/SCP pratically everyday and that made me to desire an application like termscp so much, that eventually I started to work on it in the spare time. I saw there was a very cool library to create terminal user interface (`tui-rs`), so I started to code it. I wrote termscp as an experiment, I designed kinda nothing at the time. I just said
> Ok, there must be a `FileTransfer` trait somehow, I'll have more views, so I'll use something like Android activities, and there must be a module to interact with the local host".
And so in december 2020 I had the first version of termscp running and it worked, but was very simple, raw and minimal.
A lot of things have changed since them, both the features the project provides and my personal view of this project.
Today I don't see TermSCP as a WinSCP clone anymore. I've also thought about changing the name as the time passed by, but I liked it and it would be hard to change the name on the registries, etc.
Today I don't see termscp as a WinSCP clone anymore. I've also thought about changing the name as the time passed by, but I liked it and it would be hard to change the name on the registries, etc.
Right now I see TermSCP as a **rich-featured file transfer client for terminals**. All I want is to provide all the features users need to use it correctly, I want it to be **safe and reliable** and eventually I want people to consider termscp **the first choice as a file transfer client**.
Right now I see termscp as a **rich-featured file transfer client for terminals**. All I want is to provide all the features users need to use it correctly, I want it to be **safe and reliable** and eventually I want people to consider termscp **the first choice as a file transfer client**.
### Project goals

View file

@ -1,4 +1,4 @@
# TermSCP
# termscp
<p align="center">
<img src="/assets/images/termscp.svg" width="256" height="256" />
@ -14,9 +14,9 @@ Current version: 0.5.0 FIXME: (13/04/2021)
---
- [TermSCP](#termscp)
- [About TermSCP 🖥](#about-termscp-)
- [Why TermSCP 🤔](#why-termscp-)
- [termscp](#termscp)
- [About termscp 🖥](#about-termscp-)
- [Why termscp 🤔](#why-termscp-)
- [Features 🎁](#features-)
- [Installation 🛠](#installation-)
- [Cargo 🦀](#cargo-)
@ -38,7 +38,7 @@ Current version: 0.5.0 FIXME: (13/04/2021)
---
## About 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.
@ -46,7 +46,7 @@ Termscp is a feature rich terminal file transfer and explorer, with support for
---
### Why TermSCP 🤔
### 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).
@ -76,7 +76,7 @@ It happens quite often to me, when using SCP at work to forget the path of a fil
## Installation 🛠
If you're considering to install TermSCP I want to thank you 💜 ! I hope you will enjoy TermSCP!
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 🦀
@ -127,7 +127,7 @@ yay -S termscp
### Chocolatey 🍫
You can install TermSCP on Windows using [chocolatey](https://chocolatey.org/)
You can install termscp on Windows using [chocolatey](https://chocolatey.org/)
Start PowerShell as administrator and run
@ -145,7 +145,7 @@ choco install termscp -s .
### Brew 🍻
You can install TermSCP on MacOS using [brew](https://brew.sh/)
You can install termscp on MacOS using [brew](https://brew.sh/)
From your terminal run
@ -207,13 +207,13 @@ Please follow [our contributing guidelines](CONTRIBUTING.md)
## Changelog ⏳
View TermSCP's changelog [HERE](CHANGELOG.md)
View termscp's changelog [HERE](CHANGELOG.md)
---
## Powered by 🚀
TermSCP is powered by these aweseome projects:
termscp is powered by these aweseome projects:
- [bytesize](https://github.com/hyunsik/bytesize)
- [crossterm](https://github.com/crossterm-rs/crossterm)

View file

@ -1,5 +1,5 @@
pkgbase = termscp
pkgdesc = TermSCP is a SCP/SFTP/FTPS client for command line with an integrated UI to explore the remote file system. Basically WinSCP on a terminal.
pkgdesc = termscp is a SCP/SFTP/FTPS client for command line with an integrated UI to explore the remote file system. Basically WinSCP on a terminal.
pkgver = 0.5.0
pkgrel = 1
url = https://github.com/veeso/termscp

View file

@ -2,7 +2,7 @@
pkgname=termscp
pkgver=0.5.0
pkgrel=1
pkgdesc="TermSCP is a SCP/SFTP/FTPS client for command line with an integrated UI to explore the remote file system. Basically WinSCP on a terminal."
pkgdesc="termscp is a SCP/SFTP/FTPS client for command line with an integrated UI to explore the remote file system. Basically WinSCP on a terminal."
url="https://github.com/veeso/termscp"
license=("MIT")
arch=("x86_64")

View file

@ -3,18 +3,18 @@
Document audience: developers
- [Developer Manual](#developer-manual)
- [How TermSCP works](#how-termscp-works)
- [How termscp works](#how-termscp-works)
- [Activities](#activities)
- [The Context](#the-context)
- [Tests fails due to receivers](#tests-fails-due-to-receivers)
- [Implementing File Transfers](#implementing-file-transfers)
Welcome to the developer manual for TermSCP. This chapter DOESN'T contain the documentation for TermSCP modules, which can instead be found on Rust Docs at <https://docs.rs/termscp>
This chapter describes how TermSCP works and the guide lines to implement stuff such as file transfers and add features to the user interface.
Welcome to the developer manual for termscp. This chapter DOESN'T contain the documentation for termscp modules, which can instead be found on Rust Docs at <https://docs.rs/termscp>
This chapter describes how termscp works and the guide lines to implement stuff such as file transfers and add features to the user interface.
## How TermSCP works
## How termscp works
TermSCP is basically made up of 4 components:
termscp is basically made up of 4 components:
- the **filetransfer**: the filetransfer takes care of managing the remote file system; it provides function to establish a connection with the remote, operating on the remote server file system (e.g. remove files, make directories, rename files, ...), read files and write files. The FileTransfer, as we'll see later, is actually a trait, and for each protocol a FileTransfer must be implement the trait.
- the **host**: the host module provides functions to interact with the local host file system.
@ -70,7 +70,7 @@ Yes. This happens quite often and is related to the fact that I'm using public S
## Implementing File Transfers
This chapter describes how to implement a file transfer in TermSCP. A file transfer is a module which implements the `FileTransfer` trait. The file transfer provides different modules to interact with a remote server, which in addition to the most obvious methods, used to download and upload files, provides also methods to list files, delete files, create directories etc.
This chapter describes how to implement a file transfer in termscp. A file transfer is a module which implements the `FileTransfer` trait. The file transfer provides different modules to interact with a remote server, which in addition to the most obvious methods, used to download and upload files, provides also methods to list files, delete files, create directories etc.
In the following steps I will describe how to implement a new file transfer, in this case I will be implementing the SCP file transfer (which I'm actually implementing the moment I'm writing this lines).
@ -81,7 +81,7 @@ In the following steps I will describe how to implement a new file transfer, in
```rs
/// ## FileTransferProtocol
///
/// This enum defines the different transfer protocol available in TermSCP
/// This enum defines the different transfer protocol available in termscp
#[derive(std::cmp::PartialEq, std::fmt::Debug, std::clone::Clone)]
pub enum FileTransferProtocol {
Sftp,

View file

@ -17,7 +17,7 @@
## Usage ❓
TermSCP can be started with the following options:
termscp can be started with the following options:
`termscp [options]... [protocol://user@address:port:wrkdir] [local-wrkdir]`
@ -25,7 +25,7 @@ TermSCP can be started with the following options:
- `-v, --version` Print version info
- `-h, --help` Print help page
TermSCP can be started in two different mode, if no extra arguments is provided, TermSCP will show the authentication form, where the user will be able to provide the parameters required to connect to the remote peer.
termscp can be started in two different mode, if no extra arguments is provided, termscp will show the authentication form, where the user will be able to provide the parameters required to connect to the remote peer.
Alternatively, the user can provide an address as argument to skip the authentication form and starting directly the connection to the remote server.
@ -103,7 +103,7 @@ Password can be basically provided through 3 ways when address argument is provi
| `<L>` | Reload current directory's content | List |
| `<N>` | Create new file with provided name | New |
| `<O>` | Edit file; see [Text editor](#text-editor-) | Open |
| `<Q>` | Quit TermSCP | Quit |
| `<Q>` | Quit termscp | Quit |
| `<R>` | Rename file | Rename |
| `<S>` | Save file as... | Save |
| `<U>` | Go to parent directory | Upper |
@ -116,8 +116,8 @@ Password can be basically provided through 3 ways when address argument is provi
## Bookmarks ⭐
In TermSCP it is possible to save favourites hosts, which can be then loaded quickly from the main layout of termscp.
TermSCP will also save the last 16 hosts you connected to.
In termscp it is possible to save favourites hosts, which can be then loaded quickly from the main layout of termscp.
termscp will also save the last 16 hosts you connected to.
This feature allows you to load all the parameters required to connect to a certain remote, simply selecting the bookmark in the tab under the authentication form.
Bookmarks will be saved, if possible at:
@ -162,7 +162,7 @@ Actually [keyring-rs](https://github.com/hwchen/keyring-rs), supports Linux, but
## Configuration ⚙️
TermSCP supports some user defined parameters, which can be defined in the configuration.
termscp supports some user defined parameters, which can be defined in the configuration.
Underhood termscp has a TOML file and some other directories where all the parameters will be saved, but don't worry, you won't touch any of these files manually, since I made possible to configure termscp from its user interface entirely.
termscp, like for bookmarks, just requires to have these paths accessible:
@ -223,8 +223,8 @@ If left empty, the default formatter syntax will be used: `{NAME:24} {PEX} {USER
## Text Editor ✏
TermSCP has, as you might have noticed, many features, one of these is the possibility to view and edit text file. It doesn't matter if the file is located on the local host or on the remote host, termscp provides the possibility to open a file in your favourite text editor.
In case the file is located on remote host, the file will be first downloaded into your temporary file directory and then, **only** if changes were made to the file, re-uploaded to the remote host. TermSCP checks if you made changes to the file verifying the last modification time of the file.
termscp has, as you might have noticed, many features, one of these is the possibility to view and edit text file. It doesn't matter if the file is located on the local host or on the remote host, termscp provides the possibility to open a file in your favourite text editor.
In case the file is located on remote host, the file will be first downloaded into your temporary file directory and then, **only** if changes were made to the file, re-uploaded to the remote host. termscp checks if you made changes to the file verifying the last modification time of the file.
Just a reminder: **you can edit only textual file**; binary files are not supported.

View file

@ -41,7 +41,7 @@ pub mod sftp_transfer;
/// ## FileTransferProtocol
///
/// This enum defines the different transfer protocol available in TermSCP
/// This enum defines the different transfer protocol available in termscp
#[derive(PartialEq, std::fmt::Debug, std::clone::Clone, Copy)]
pub enum FileTransferProtocol {

View file

@ -100,7 +100,7 @@ fn main() {
// Version
if matches.opt_present("v") {
eprintln!(
"TermSCP - {} - Developed by {}",
"termscp - {} - Developed by {}",
TERMSCP_VERSION, TERMSCP_AUTHORS,
);
std::process::exit(255);

View file

@ -491,7 +491,7 @@ impl AuthActivity {
.with_borders(Borders::ALL, BorderType::Rounded, Color::Yellow)
.with_inverted_color(Color::Black)
.with_options(
Some(String::from("Quit TermSCP?")),
Some(String::from("Quit termscp?")),
vec![String::from("Yes"), String::from("No")],
)
.build(),
@ -634,7 +634,7 @@ impl AuthActivity {
.with_foreground(Color::Cyan)
.build(),
)
.add_col(TextSpan::from(" Quit TermSCP"))
.add_col(TextSpan::from(" Quit termscp"))
.add_row()
.add_col(
TextSpanBuilder::new("<TAB>")

View file

@ -1,6 +1,6 @@
//! ## Components
//!
//! `Components` is the module which contains the definitions for all the GUI components for TermSCP
//! `Components` is the module which contains the definitions for all the GUI components for termscp
/**
* MIT License