diff --git a/docs/zh-CN/getting-started/connecting.md b/docs/zh-CN/getting-started/connecting.md index c106248..b9856f0 100644 --- a/docs/zh-CN/getting-started/connecting.md +++ b/docs/zh-CN/getting-started/connecting.md @@ -1 +1,61 @@ # 连接到服务器 + +termscp 可以根据你传入的参数以三种不同的方式启动。 + +- 不带参数:termscp 打开认证表单,你在其中提供连接到远程主机所需的参数。 +- 带地址参数:termscp 跳过认证表单,直接连接到远程主机。 +- 通过 `-b ` 传入书签名称:termscp 将参数解析为已保存的书签并进行连接。重复使用 `-b` 可打开多个书签。 + +当你提供地址参数或书签名称时,还可以为本地主机提供一个起始工作目录。 + +## The authentication form + +当 termscp 在不带地址的情况下启动时,会显示认证表单。填写协议、地址、端口、用户名和密码,然后进行连接。连接成功后,termscp 将打开双面板浏览器。 + +## Address argument syntax + +通用地址参数采用以下语法: + +```txt +[protocol://][username@]
[:port][:wrkdir] +``` + +这种语法很方便,你很可能会用它来代替交互式表单。下面是一些示例。 + +使用默认协议(在你的配置中定义)连接到 `192.168.1.31`。如果未提供端口,则使用所选协议的默认端口。用户名为当前用户的名称。 + +```sh +termscp 192.168.1.31 +``` + +使用默认协议连接到 `192.168.1.31`,用户名为 `root`: + +```sh +termscp root@192.168.1.31 +``` + +使用 SCP 连接到 `192.168.1.31`,端口为 `4022`,用户名为 `omar`: + +```sh +termscp scp://omar@192.168.1.31:4022 +``` + +使用 SCP 连接到 `192.168.1.31`,端口为 `4022`,用户名为 `omar`,并以目录 `/tmp` 作为起始目录: + +```sh +termscp scp://omar@192.168.1.31:4022:/tmp +``` + +有关各协议专属的地址语法(S3、Kube、WebDAV 和 SMB),请参阅[连接参数](connection-parameters.md)。 + +## How the password is provided + +当你以参数形式提供地址时,地址本身没有用于填写密码的字段。你可以通过三种方式提供密码: + +- 系统会提示你输入密码。这是默认方式:如果你不使用下面的任何方法,termscp 会像 `scp`、`ssh` 等经典工具一样提示你输入密码。 +- `-P, --password` 选项:直接在命令行上传入密码。不推荐这种方法,因为它不安全:密码可能会保留在你的 shell 历史记录中。 +- 通过 `sshpass`:借助 `sshpass` 提供密码,例如: + + ```sh + sshpass -f ~/.ssh/topsecret.key termscp cvisintin@192.168.1.31 + ``` diff --git a/docs/zh-CN/getting-started/connection-parameters.md b/docs/zh-CN/getting-started/connection-parameters.md index acfc9bd..8647075 100644 --- a/docs/zh-CN/getting-started/connection-parameters.md +++ b/docs/zh-CN/getting-started/connection-parameters.md @@ -1 +1,154 @@ # 连接参数 + +每种协议都有其各自的认证表单字段以及各自的命令行地址语法。本页将逐个协议加以说明。 + +## SFTP / SCP + +认证表单字段: + +- 主机(地址) +- 端口(默认 `22`) +- 用户名 +- 密码或 SSH 密钥 + +你可以使用用户名和密码进行认证,也可以使用 SSH 密钥进行认证。有关如何管理密钥,请参阅 [SSH 密钥存储](../configuration/ssh-keys.md)。 + +地址语法: + +```txt +[protocol://][username@]
[:port][:wrkdir] +``` + +## FTP / FTPS + +认证表单字段: + +- 主机(地址) +- 端口(默认 `21`) +- 用户名 +- 密码 +- 安全(FTPS):启用 TLS 以使用 FTPS 而非明文 FTP + +地址语法: + +```txt +[protocol://][username@]
[:port][:wrkdir] +``` + +## Kube + +认证表单字段: + +- 命名空间 +- 集群 URL(Kubernetes API URL) +- 用户名 +- 客户端证书路径 +- 客户端密钥路径 + +地址语法: + +```txt +kube://[namespace][@][$] +``` + +## S3 + +termscp 同时支持 AWS S3 和其他兼容 S3 的端点。 + +认证表单字段: + +- 存储桶名称 +- 区域(用于 AWS S3)或端点(用于其他兼容 S3 的服务器) +- 配置文件 +- 访问密钥 +- 私有访问密钥 +- 安全令牌 +- 会话令牌 +- 新路径风格 + +所需字段和可选字段会因端点不同而有所差异: + +- AWS S3: + - 存储桶名称(必填) + - 区域(必填) + - 配置文件(可选;默认为 `default`) + - 访问密钥(除非存储桶为公开,否则必填) + - 私有访问密钥(除非存储桶为公开,否则必填) + - 安全令牌(如有需要) + - 会话令牌(如有需要) + - 新路径风格:否 +- 其他 S3 端点: + - 存储桶名称(必填) + - 端点(必填) + - 访问密钥(除非存储桶为公开,否则必填) + - 私有访问密钥(除非存储桶为公开,否则必填) + - 新路径风格:是 + +地址语法: + +```txt +s3://@[:profile][:/wrkdir] +``` + +例如: + +```txt +s3://buckethead@eu-central-1:default:/assets +``` + +### S3 credentials + +要连接到 AWS S3 存储桶,你必须提供凭据。有三种方式可以做到这一点。 + +1. 认证表单:提供访问密钥(通常必填)、私有访问密钥(通常必填)、安全令牌和会话令牌。如果你将该 S3 连接保存为书签,访问密钥和私有访问密钥将以加密的 AES-256/BASE64 字符串形式保存在你的书签文件中。安全令牌和会话令牌不会被保存,因为它们本身就是临时凭据。 +2. 凭据文件:使用 `aws configure` 配置 AWS CLI。随后你的凭据将被存储在 `~/.aws/credentials`。如果你使用的是 `default` 以外的配置文件,请在认证表单的配置文件字段中提供它。 +3. 环境变量:以环境变量的形式提供你的凭据。这些变量始终会覆盖凭据文件中的凭据。以下变量通常是必需的: + + - `AWS_ACCESS_KEY_ID`:AWS 访问密钥 ID(通常以 `AKIA...` 开头) + - `AWS_SECRET_ACCESS_KEY`:私有访问密钥 + + 如果你配置了更强的安全机制,可能还需要: + + - `AWS_SECURITY_TOKEN`:安全令牌 + - `AWS_SESSION_TOKEN`:会话令牌 + +你的凭据是安全的:termscp 不会直接操作这些值。它们由 `s3` crate 直接使用。 + +## SMB + +认证表单字段: + +- 服务器(地址) +- 共享 +- 用户名 +- 密码 +- 端口(仅其他系统;默认 `445`) +- 工作组(仅其他系统) + +在 Windows 上,端口和工作组字段不会被使用。 + +Windows 地址语法: + +```txt +\\[username@]\[\path\...] +``` + +其他系统地址语法: + +```txt +smb://[username@][:port]/[/path/.../] +``` + +## WebDAV + +认证表单字段: + +- URI(WebDAV 的基础端点) +- 用户名 +- 密码 + +地址语法: + +```txt +http(s)://:@ +``` diff --git a/docs/zh-CN/getting-started/installation.md b/docs/zh-CN/getting-started/installation.md index 7144b3c..a3d7888 100644 --- a/docs/zh-CN/getting-started/installation.md +++ b/docs/zh-CN/getting-started/installation.md @@ -1 +1,79 @@ # 安装 + +termscp 可在多种平台上使用。请在下方选择与你的系统相匹配的安装方式。 + +## Linux, FreeBSD, and macOS + +下面的 shell 脚本只需一条命令即可在你的系统上安装 termscp: + +```sh +curl --proto '=https' --tlsv1.2 -sSLf https://termscp.rs/install.sh | sh +``` + +在 macOS 上,安装需要 [Homebrew](https://brew.sh/);否则将安装 Rust 编译器以从源码构建 termscp。 + +## Windows + +只需一条命令即可在 PowerShell 中安装 termscp: + +```ps +irm https://termscp.rs/install.ps1 | iex +``` + +或者,使用 [Chocolatey](https://chocolatey.org/) 安装: + +```ps +choco install termscp +``` + +## NetBSD + +从官方仓库安装 termscp: + +```sh +pkgin install termscp +``` + +## Arch Linux + +从官方仓库安装 termscp: + +```sh +pacman -S termscp +``` + +## Requirements + +运行 termscp 需要以下系统依赖。 + +- Linux 用户: + - libdbus-1 + - pkg-config + - libsmbclient +- FreeBSD 和 NetBSD 用户: + - dbus + - pkgconf + - libsmbclient + +### Optional requirements + +运行 termscp 并不需要这些依赖,但要使用其全部功能则需要它们。 + +- Linux 和 FreeBSD 用户,若要通过 `V` 打开文件(以下至少需要一项): + - xdg-open + - gio + - gnome-open + - kde-open +- Linux 用户:一个密钥环管理器。请在[密码安全](../configuration/password-security.md)页面了解更多。 +- WSL 用户,若要通过 `V` 打开文件: + - [wslu](https://github.com/wslutilities/wslu) + +## Updating termscp + +要将 termscp 更新到最新版本,请在命令行中运行: + +```sh +(sudo) termscp update +``` + +有关所有平台和安装方式,请参阅 。 diff --git a/docs/zh-CN/index.md b/docs/zh-CN/index.md index c608952..1aba313 100644 --- a/docs/zh-CN/index.md +++ b/docs/zh-CN/index.md @@ -1 +1,21 @@ # termscp + +![termscp explorer](https://github.com/veeso/termscp/blob/main/assets/images/explorer.gif?raw=true) + +termscp 是一款功能丰富、带有 TUI(终端用户界面)的终端文件传输客户端与浏览器。它让你能够连接到远程服务器以上传和下载文件,同时还能与本地文件系统进行交互。termscp 可运行于 Linux、macOS、FreeBSD、NetBSD 和 Windows。 + +## Features + +- 支持多种传输协议:SFTP、SCP、FTP 和 FTPS、Kube、S3、SMB 以及 WebDAV。 +- 双面板浏览器,可同时浏览并操作远程和本地文件系统:创建、删除、重命名、搜索、查看和编辑文件。 +- 书签和最近连接记录,帮助你快速重新连接到常用的主机。 +- 使用你喜爱的编辑器查看和编辑文件。 +- SFTP/SCP 认证支持 SSH 密钥或用户名与密码。 +- 内置终端,可在你的系统上运行命令。 +- 个性化定制:主题、自定义文件浏览器格式、可自定义的文本编辑器,以及可自定义的文件排序。 +- 当大文件传输完成时弹出桌面通知。 +- 文件监视器,使你的更改与远程主机保持同步。 +- 将密码保存在操作系统的密钥保险库中。 +- 基于 Rust 构建,注重性能。 + +准备好试用了吗?请参阅[安装](getting-started/installation.md)。