mirror of
https://github.com/certd/certd.git
synced 2025-11-25 09:10:11 +08:00
feat: 手机号登录、邮箱验证码注册
This commit is contained in:
105
packages/plugins/plugin-lib/src/ssh/ssh-access.ts
Normal file
105
packages/plugins/plugin-lib/src/ssh/ssh-access.ts
Normal file
@@ -0,0 +1,105 @@
|
||||
import { AccessInput, BaseAccess, IsAccess } from "@certd/pipeline";
|
||||
import { ConnectConfig } from "ssh2";
|
||||
|
||||
@IsAccess({
|
||||
name: "ssh",
|
||||
title: "主机登录授权",
|
||||
desc: "",
|
||||
input: {},
|
||||
})
|
||||
export class SshAccess extends BaseAccess implements ConnectConfig {
|
||||
@AccessInput({
|
||||
title: "主机地址",
|
||||
component: {
|
||||
placeholder: "主机域名或IP地址",
|
||||
},
|
||||
required: true,
|
||||
})
|
||||
host!: string;
|
||||
@AccessInput({
|
||||
title: "端口",
|
||||
value: 22,
|
||||
component: {
|
||||
name: "a-input-number",
|
||||
placeholder: "22",
|
||||
},
|
||||
rules: [{ required: true, message: "此项必填" }],
|
||||
})
|
||||
port!: number;
|
||||
@AccessInput({
|
||||
title: "用户名",
|
||||
value: "root",
|
||||
rules: [{ required: true, message: "此项必填" }],
|
||||
})
|
||||
username!: string;
|
||||
@AccessInput({
|
||||
title: "密码",
|
||||
component: {
|
||||
name: "a-input-password",
|
||||
vModel: "value",
|
||||
},
|
||||
encrypt: true,
|
||||
helper: "登录密码或密钥必填一项",
|
||||
})
|
||||
password!: string;
|
||||
@AccessInput({
|
||||
title: "私钥登录",
|
||||
helper: "私钥或密码必填一项",
|
||||
component: {
|
||||
name: "a-textarea",
|
||||
vModel: "value",
|
||||
},
|
||||
encrypt: true,
|
||||
})
|
||||
privateKey!: string;
|
||||
|
||||
@AccessInput({
|
||||
title: "私钥密码",
|
||||
helper: "如果你的私钥有密码的话",
|
||||
component: {
|
||||
name: "a-input-password",
|
||||
vModel: "value",
|
||||
},
|
||||
encrypt: true,
|
||||
})
|
||||
passphrase!: string;
|
||||
|
||||
@AccessInput({
|
||||
title: "socks代理",
|
||||
helper: "socks代理配置,格式:socks5://user:password@host:port",
|
||||
component: {
|
||||
name: "a-input",
|
||||
vModel: "value",
|
||||
placeholder: "socks5://user:password@host:port",
|
||||
},
|
||||
encrypt: false,
|
||||
})
|
||||
socksProxy!: string;
|
||||
|
||||
@AccessInput({
|
||||
title: "是否Windows",
|
||||
helper: "如果是Windows主机,请勾选此项\n并且需要windows[安装OpenSSH](https://certd.docmirror.cn/guide/use/host/windows.html)",
|
||||
component: {
|
||||
name: "a-switch",
|
||||
vModel: "checked",
|
||||
},
|
||||
})
|
||||
windows = false;
|
||||
|
||||
@AccessInput({
|
||||
title: "命令编码",
|
||||
helper: "如果是Windows主机,且出现乱码了,请尝试设置为GBK",
|
||||
component: {
|
||||
name: "a-select",
|
||||
vModel: "value",
|
||||
options: [
|
||||
{ value: "", label: "默认" },
|
||||
{ value: "GBK", label: "GBK" },
|
||||
{ value: "UTF8", label: "UTF-8" },
|
||||
],
|
||||
},
|
||||
})
|
||||
encoding: string;
|
||||
}
|
||||
|
||||
new SshAccess();
|
||||
Reference in New Issue
Block a user