Files
耗子 90b37f5e6a feat(ssh): 终端支持主机间 SFTP 文件互传
终端窗口新增文件传输标签页,双栏浏览任意主机(含面板本机)目录,
选中文件后通过面板中转互传,传输队列实时展示进度速度并支持取消

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 03:05:51 +08:00

41 lines
1.8 KiB
Go

package request
type SSHCreate struct {
Name string `json:"name" form:"name"`
Host string `json:"host" form:"host" validate:"required"`
Port uint `json:"port" form:"port" validate:"required && min:1 && max:65535"`
AuthMethod string `json:"auth_method" form:"auth_method" validate:"required && in:password,publickey"`
User string `json:"user" form:"user" validate:"required"`
Password string `json:"password" form:"password" validate:"required_if:AuthMethod,password"`
Key string `json:"key" form:"key" validate:"required_if:AuthMethod,publickey"`
Passphrase string `json:"passphrase" form:"passphrase"`
Remark string `json:"remark" form:"remark"`
}
type SSHUpdate struct {
ID uint `form:"id" json:"id" validate:"required && exists:sshes,id"`
Name string `json:"name" form:"name"`
Host string `json:"host" form:"host" validate:"required"`
Port uint `json:"port" form:"port" validate:"required && min:1 && max:65535"`
AuthMethod string `json:"auth_method" form:"auth_method" validate:"required && in:password,publickey"`
User string `json:"user" form:"user" validate:"required"`
Password string `json:"password" form:"password" validate:"required_if:AuthMethod,password"`
Key string `json:"key" form:"key" validate:"required_if:AuthMethod,publickey"`
Passphrase string `json:"passphrase" form:"passphrase"`
Remark string `json:"remark" form:"remark"`
}
// SSHFile 文件浏览请求,ID 为 0 表示面板本机
type SSHFile struct {
ID uint `json:"id" form:"id" uri:"id"`
Path string `json:"path" form:"path" query:"path" validate:"required"`
}
// SSHTransfer 文件传输请求,ID 为 0 表示面板本机
type SSHTransfer struct {
SrcID uint `json:"src_id"`
SrcPath string `json:"src_path"`
DstID uint `json:"dst_id"`
DstPath string `json:"dst_path"`
}