mirror of
https://github.com/veeso/termscp.git
synced 2026-06-13 03:59:37 +02:00
docs(en): write introduction and getting-started pages
This commit is contained in:
@@ -1 +1,77 @@
|
||||
# Connecting to a server
|
||||
|
||||
termscp can start in three different ways depending on the arguments you pass.
|
||||
|
||||
- No arguments: termscp opens the authentication form, where you provide the
|
||||
parameters required to connect to the remote host.
|
||||
- An address argument: termscp skips the authentication form and connects
|
||||
directly to the remote host.
|
||||
- A bookmark name with `-b, --address-as-bookmark`: termscp resolves the
|
||||
argument as a saved bookmark and connects.
|
||||
|
||||
When you provide an address argument or a bookmark name, you can also provide a
|
||||
start working directory for the local host.
|
||||
|
||||
## The authentication form
|
||||
|
||||
When termscp starts without an address, it shows the authentication form. Fill
|
||||
in the protocol, address, port, username, and password, then connect. termscp
|
||||
will open the dual-pane explorer once the connection succeeds.
|
||||
|
||||
## Address argument syntax
|
||||
|
||||
The generic address argument has the following syntax:
|
||||
|
||||
```txt
|
||||
[protocol://][username@]<address>[:port][:wrkdir]
|
||||
```
|
||||
|
||||
This syntax is convenient, and you will probably use it instead of the
|
||||
interactive form. Here are some examples.
|
||||
|
||||
Connect using the default protocol (defined in your configuration) to
|
||||
`192.168.1.31`. If the port is not provided, the default port for the selected
|
||||
protocol is used. The username is the current user's name.
|
||||
|
||||
```sh
|
||||
termscp 192.168.1.31
|
||||
```
|
||||
|
||||
Connect using the default protocol to `192.168.1.31` as user `root`:
|
||||
|
||||
```sh
|
||||
termscp root@192.168.1.31
|
||||
```
|
||||
|
||||
Connect using SCP to `192.168.1.31` on port `4022` as user `omar`:
|
||||
|
||||
```sh
|
||||
termscp scp://omar@192.168.1.31:4022
|
||||
```
|
||||
|
||||
Connect using SCP to `192.168.1.31` on port `4022` as user `omar`, starting in
|
||||
directory `/tmp`:
|
||||
|
||||
```sh
|
||||
termscp scp://omar@192.168.1.31:4022:/tmp
|
||||
```
|
||||
|
||||
For protocol-specific address syntax (S3, Kube, WebDAV, and SMB), see
|
||||
[Connection parameters](connection-parameters.md).
|
||||
|
||||
## How the password is provided
|
||||
|
||||
When you provide the address as an argument, there is no field for the password
|
||||
in the address itself. You can provide the password in three ways:
|
||||
|
||||
- You will be prompted for it. This is the default: if you don't use any of the
|
||||
methods below, termscp prompts for the password, like classic tools such as
|
||||
`scp` and `ssh`.
|
||||
- `-P, --password` option: pass the password directly on the command line. This
|
||||
method is discouraged because it is insecure: the password may be kept in
|
||||
your shell history.
|
||||
- Via `sshpass`: provide the password through `sshpass`, for example:
|
||||
|
||||
```sh
|
||||
sshpass -f ~/.ssh/topsecret.key termscp cvisintin@192.168.1.31
|
||||
```
|
||||
|
||||
@@ -1 +1,168 @@
|
||||
# Connection parameters
|
||||
|
||||
Each protocol has its own set of authentication-form fields and its own
|
||||
command-line address syntax. This page describes them protocol by protocol.
|
||||
|
||||
## SFTP / SCP
|
||||
|
||||
Authentication-form fields:
|
||||
|
||||
- Host (address)
|
||||
- Port (default `22`)
|
||||
- Username
|
||||
- Password or SSH key
|
||||
|
||||
You can authenticate either with a username and password or with an SSH key.
|
||||
See [SSH key storage](../configuration/ssh-keys.md) for how to manage keys.
|
||||
|
||||
Address syntax:
|
||||
|
||||
```txt
|
||||
[protocol://][username@]<address>[:port][:wrkdir]
|
||||
```
|
||||
|
||||
## FTP / FTPS
|
||||
|
||||
Authentication-form fields:
|
||||
|
||||
- Host (address)
|
||||
- Port (default `21`)
|
||||
- Username
|
||||
- Password
|
||||
- Secure (FTPS): enable TLS to use FTPS instead of plain FTP
|
||||
|
||||
Address syntax:
|
||||
|
||||
```txt
|
||||
[protocol://][username@]<address>[:port][:wrkdir]
|
||||
```
|
||||
|
||||
## Kube
|
||||
|
||||
Authentication-form fields:
|
||||
|
||||
- Namespace
|
||||
- Cluster URL (Kubernetes API URL)
|
||||
- Username
|
||||
- Client certificate path
|
||||
- Client key path
|
||||
|
||||
Address syntax:
|
||||
|
||||
```txt
|
||||
kube://[namespace][@<cluster_url>][$</path>]
|
||||
```
|
||||
|
||||
## S3
|
||||
|
||||
termscp supports both AWS S3 and other S3-compatible endpoints.
|
||||
|
||||
Authentication-form fields:
|
||||
|
||||
- Bucket name
|
||||
- Region (for AWS S3) or endpoint (for other S3-compatible servers)
|
||||
- Profile
|
||||
- Access key
|
||||
- Secret access key
|
||||
- Security token
|
||||
- Session token
|
||||
- New path style
|
||||
|
||||
The required and optional fields differ depending on the endpoint:
|
||||
|
||||
- AWS S3:
|
||||
- bucket name (required)
|
||||
- region (required)
|
||||
- profile (optional; defaults to `default`)
|
||||
- access key (required unless the bucket is public)
|
||||
- secret access key (required unless the bucket is public)
|
||||
- security token (if required)
|
||||
- session token (if required)
|
||||
- new path style: NO
|
||||
- Other S3 endpoints:
|
||||
- bucket name (required)
|
||||
- endpoint (required)
|
||||
- access key (required unless the bucket is public)
|
||||
- secret access key (required unless the bucket is public)
|
||||
- new path style: YES
|
||||
|
||||
Address syntax:
|
||||
|
||||
```txt
|
||||
s3://<bucket>@<region>[:profile][:/wrkdir]
|
||||
```
|
||||
|
||||
For example:
|
||||
|
||||
```txt
|
||||
s3://buckethead@eu-central-1:default:/assets
|
||||
```
|
||||
|
||||
### S3 credentials
|
||||
|
||||
To connect to an AWS S3 bucket you must provide credentials. There are three
|
||||
ways to do this.
|
||||
|
||||
1. Authentication form: provide the access key (usually mandatory), the secret
|
||||
access key (usually mandatory), the security token, and the session token.
|
||||
If you save the S3 connection as a bookmark, the access key and secret access
|
||||
key are saved as an encrypted AES-256/BASE64 string in your bookmarks file.
|
||||
The security token and session token are not saved, since they are meant to
|
||||
be temporary credentials.
|
||||
2. Credentials file: configure the AWS CLI with `aws configure`. Your
|
||||
credentials are then stored at `~/.aws/credentials`. If you use a profile
|
||||
other than `default`, provide it in the profile field of the authentication
|
||||
form.
|
||||
3. Environment variables: provide your credentials as environment variables.
|
||||
These always override the credentials in the credentials file. The following
|
||||
are usually mandatory:
|
||||
|
||||
- `AWS_ACCESS_KEY_ID`: AWS access key ID (usually starts with `AKIA...`)
|
||||
- `AWS_SECRET_ACCESS_KEY`: the secret access key
|
||||
|
||||
If you have configured stronger security, you may also need:
|
||||
|
||||
- `AWS_SECURITY_TOKEN`: security token
|
||||
- `AWS_SESSION_TOKEN`: session token
|
||||
|
||||
Your credentials are safe: termscp does not manipulate these values directly.
|
||||
They are consumed directly by the `s3` crate.
|
||||
|
||||
## SMB
|
||||
|
||||
Authentication-form fields:
|
||||
|
||||
- Server (address)
|
||||
- Share
|
||||
- Username
|
||||
- Password
|
||||
- Port (other systems only; default `445`)
|
||||
- Workgroup (other systems only)
|
||||
|
||||
On Windows the port and workgroup fields are not used.
|
||||
|
||||
Windows address syntax:
|
||||
|
||||
```txt
|
||||
\\[username@]<server-name>\<share>[\path\...]
|
||||
```
|
||||
|
||||
Other systems address syntax:
|
||||
|
||||
```txt
|
||||
smb://[username@]<server-name>[:port]/<share>[/path/.../]
|
||||
```
|
||||
|
||||
## WebDAV
|
||||
|
||||
Authentication-form fields:
|
||||
|
||||
- URI (the base WebDAV endpoint)
|
||||
- Username
|
||||
- Password
|
||||
|
||||
Address syntax:
|
||||
|
||||
```txt
|
||||
http(s)://<username>:<password>@<url></path>
|
||||
```
|
||||
|
||||
@@ -1 +1,83 @@
|
||||
# Installation
|
||||
|
||||
termscp is available for many platforms. Pick the method that matches your
|
||||
system below.
|
||||
|
||||
## Linux, FreeBSD, and macOS
|
||||
|
||||
This shell script installs termscp on your system with a single command:
|
||||
|
||||
```sh
|
||||
curl --proto '=https' --tlsv1.2 -sSLf https://termscp.rs/install.sh | sh
|
||||
```
|
||||
|
||||
On macOS the installation requires [Homebrew](https://brew.sh/); otherwise the
|
||||
Rust compiler is installed to build termscp from source.
|
||||
|
||||
## Windows
|
||||
|
||||
Install termscp from PowerShell with a single command:
|
||||
|
||||
```ps
|
||||
irm https://termscp.rs/install.ps1 | iex
|
||||
```
|
||||
|
||||
Alternatively, install it with [Chocolatey](https://chocolatey.org/):
|
||||
|
||||
```ps
|
||||
choco install termscp
|
||||
```
|
||||
|
||||
## NetBSD
|
||||
|
||||
Install termscp from the official repositories:
|
||||
|
||||
```sh
|
||||
pkgin install termscp
|
||||
```
|
||||
|
||||
## Arch Linux
|
||||
|
||||
Install termscp from the official repositories:
|
||||
|
||||
```sh
|
||||
pacman -S termscp
|
||||
```
|
||||
|
||||
## Requirements
|
||||
|
||||
The following system dependencies are required to run termscp.
|
||||
|
||||
- Linux users:
|
||||
- libdbus-1
|
||||
- pkg-config
|
||||
- libsmbclient
|
||||
- FreeBSD and NetBSD users:
|
||||
- dbus
|
||||
- pkgconf
|
||||
- libsmbclient
|
||||
|
||||
### Optional requirements
|
||||
|
||||
These dependencies are not required to run termscp, but they are needed to
|
||||
enjoy all of its features.
|
||||
|
||||
- Linux and FreeBSD users, to open files via `V` (at least one of these):
|
||||
- xdg-open
|
||||
- gio
|
||||
- gnome-open
|
||||
- kde-open
|
||||
- Linux users: a keyring manager. Read more in the
|
||||
[Password security](../configuration/password-security.md) page.
|
||||
- WSL users, to open files via `V`:
|
||||
- [wslu](https://github.com/wslutilities/wslu)
|
||||
|
||||
## Updating termscp
|
||||
|
||||
To update termscp to the latest version, run it from the command line with:
|
||||
|
||||
```sh
|
||||
(sudo) termscp --update
|
||||
```
|
||||
|
||||
For all platforms and methods, see <https://termscp.rs/install>.
|
||||
|
||||
@@ -1,3 +1,28 @@
|
||||
# termscp
|
||||
|
||||
Placeholder.
|
||||

|
||||
|
||||
termscp is a feature-rich terminal file transfer client and explorer with a
|
||||
TUI (Terminal User Interface). It lets you connect to a remote server to
|
||||
upload and download files while interacting with your local file system at the
|
||||
same time. termscp runs on Linux, macOS, FreeBSD, NetBSD, and Windows.
|
||||
|
||||
## Features
|
||||
|
||||
- Multiple transfer protocols: SFTP, SCP, FTP and FTPS, Kube, S3, SMB,
|
||||
and WebDAV.
|
||||
- Dual-pane explorer to browse and operate on both the remote and the local
|
||||
file system: create, remove, rename, search, view, and edit files.
|
||||
- Bookmarks and recent connections to quickly reconnect to your favorite
|
||||
hosts.
|
||||
- View and edit files with your favorite editor.
|
||||
- SFTP/SCP authentication with SSH keys or username and password.
|
||||
- Embedded terminal for running commands on your system.
|
||||
- Make it yours: themes, custom file explorer format, customizable text
|
||||
editor, and customizable file sorting.
|
||||
- Desktop notifications when a large file has been transferred.
|
||||
- File watcher that keeps your changes synchronized with the remote host.
|
||||
- Save your passwords in your operating system's key vault.
|
||||
- Rust-powered and built with an eye on performance.
|
||||
|
||||
Ready to try it? See [Installation](getting-started/installation.md).
|
||||
|
||||
Reference in New Issue
Block a user