mirror of
https://github.com/Eugeny/tabby.git
synced 2025-06-13 07:59:59 +00:00
195 lines
7.7 KiB
Plaintext
195 lines
7.7 KiB
Plaintext
ul.nav-tabs(ngbNav, #nav='ngbNav')
|
|
li(ngbNavItem)
|
|
a(ngbNavLink) General
|
|
ng-template(ngbNavContent)
|
|
.d-flex.w-100(*ngIf='!useProxyCommand')
|
|
.form-group.w-100.mr-4
|
|
label Host
|
|
input.form-control(
|
|
type='text',
|
|
[(ngModel)]='profile.options.host',
|
|
)
|
|
|
|
.form-group
|
|
label Port
|
|
input.form-control(
|
|
type='number',
|
|
placeholder='22',
|
|
[(ngModel)]='profile.options.port',
|
|
)
|
|
|
|
.alert.alert-info(*ngIf='useProxyCommand')
|
|
.mr-auto Using a proxy command instead of a network connection
|
|
|
|
.form-group
|
|
label Username
|
|
input.form-control(
|
|
type='text',
|
|
[(ngModel)]='profile.options.user',
|
|
)
|
|
|
|
.form-group
|
|
label Authentication method
|
|
|
|
.btn-group.mt-1.w-100(
|
|
[(ngModel)]='profile.options.auth',
|
|
ngbRadioGroup
|
|
)
|
|
label.btn.btn-secondary(ngbButtonLabel)
|
|
input(type='radio', ngbButton, [value]='null')
|
|
i.far.fa-lightbulb
|
|
.m-0 Auto
|
|
label.btn.btn-secondary(ngbButtonLabel)
|
|
input(type='radio', ngbButton, [value]='"password"')
|
|
i.fas.fa-font
|
|
.m-0 Password
|
|
label.btn.btn-secondary(ngbButtonLabel)
|
|
input(type='radio', ngbButton, [value]='"publicKey"')
|
|
i.fas.fa-key
|
|
.m-0 Key
|
|
label.btn.btn-secondary(ngbButtonLabel, ng:if='hostApp.platform !== Platform.Web')
|
|
input(type='radio', ngbButton, [value]='"agent"')
|
|
i.fas.fa-user-secret
|
|
.m-0 Agent
|
|
label.btn.btn-secondary(ngbButtonLabel)
|
|
input(type='radio', ngbButton, [value]='"keyboardInteractive"')
|
|
i.far.fa-keyboard
|
|
.m-0 Interactive
|
|
|
|
.form-line(*ngIf='!profile.options.auth || profile.options.auth === "password"')
|
|
.header
|
|
.title Password
|
|
.description(*ngIf='!hasSavedPassword') Save a password in the keychain
|
|
.description(*ngIf='hasSavedPassword') There is a saved password for this connection
|
|
button.btn.btn-outline-success.ml-4(*ngIf='!hasSavedPassword', (click)='setPassword()')
|
|
i.fas.fa-key
|
|
span Set password
|
|
button.btn.btn-danger.ml-4(*ngIf='hasSavedPassword', (click)='clearSavedPassword()')
|
|
i.fas.fa-trash-alt
|
|
span Forget
|
|
|
|
.form-group(*ngIf='!profile.options.auth || profile.options.auth === "publicKey"')
|
|
label Private keys
|
|
.list-group.mb-2
|
|
.list-group-item.d-flex.align-items-center.p-1.pl-3(*ngFor='let path of profile.options.privateKeys')
|
|
i.fas.fa-key
|
|
.no-wrap.mr-auto {{path}}
|
|
button.btn.btn-link((click)='removePrivateKey(path)')
|
|
i.fas.fa-trash
|
|
button.btn.btn-secondary((click)='addPrivateKey()')
|
|
i.fas.fa-folder-open
|
|
span Add a private key
|
|
|
|
li(ngbNavItem)
|
|
a(ngbNavLink) Ports
|
|
ng-template(ngbNavContent)
|
|
ssh-port-forwarding-config(
|
|
[model]='profile.options.forwardedPorts',
|
|
(forwardAdded)='onForwardAdded($event)',
|
|
(forwardRemoved)='onForwardRemoved($event)'
|
|
)
|
|
|
|
li(ngbNavItem)
|
|
a(ngbNavLink) Advanced
|
|
ng-template(ngbNavContent)
|
|
.form-line(*ngIf='!useProxyCommand')
|
|
.header
|
|
.title Jump host
|
|
select.form-control([(ngModel)]='profile.options.jumpHost')
|
|
option(value='') None
|
|
option([ngValue]='x.id', *ngFor='let x of jumpHosts') {{x.name}}
|
|
|
|
.form-line(ng:if='hostApp.platform !== Platform.Web')
|
|
.header
|
|
.title X11 forwarding
|
|
toggle([(ngModel)]='profile.options.x11')
|
|
|
|
.form-line(ng:if='hostApp.platform !== Platform.Web')
|
|
.header
|
|
.title Agent forwarding
|
|
toggle([(ngModel)]='profile.options.agentForward')
|
|
|
|
.form-line
|
|
.header
|
|
.title Skip MoTD/banner
|
|
.description Will prevent the SSH greeting from showing up
|
|
toggle([(ngModel)]='profile.options.skipBanner')
|
|
|
|
.form-line
|
|
.header
|
|
.title Keep Alive Interval (Milliseconds)
|
|
input.form-control(
|
|
type='number',
|
|
placeholder='0',
|
|
[(ngModel)]='profile.options.keepaliveInterval',
|
|
)
|
|
|
|
.form-line
|
|
.header
|
|
.title Max Keep Alive Count
|
|
input.form-control(
|
|
type='number',
|
|
placeholder='3',
|
|
[(ngModel)]='profile.options.keepaliveCountMax',
|
|
)
|
|
|
|
.form-line
|
|
.header
|
|
.title Ready Timeout (Milliseconds)
|
|
input.form-control(
|
|
type='number',
|
|
placeholder='20000',
|
|
[(ngModel)]='profile.options.readyTimeout',
|
|
)
|
|
|
|
.form-line(*ngIf='!profile.options.jumpHost && hostApp.platform !== Platform.Web')
|
|
.header
|
|
.title Use a proxy command
|
|
.description Command's stdin/stdout is used instead of a network connection
|
|
toggle([(ngModel)]='useProxyCommand')
|
|
|
|
.form-group(*ngIf='useProxyCommand && !profile.options.jumpHost')
|
|
label Proxy command
|
|
input.form-control(
|
|
type='text',
|
|
[(ngModel)]='profile.options.proxyCommand',
|
|
)
|
|
|
|
li(ngbNavItem)
|
|
a(ngbNavLink) Ciphers
|
|
ng-template(ngbNavContent)
|
|
.form-line.align-items-start
|
|
.header
|
|
.title Ciphers
|
|
.w-75
|
|
div(*ngFor='let alg of supportedAlgorithms.cipher')
|
|
checkbox([text]='alg', [(ngModel)]='algorithms.cipher[alg]')
|
|
|
|
.form-line.align-items-start
|
|
.header
|
|
.title Key exchange
|
|
.w-75
|
|
div(*ngFor='let alg of supportedAlgorithms.kex')
|
|
checkbox([text]='alg', [(ngModel)]='algorithms.kex[alg]')
|
|
|
|
.form-line.align-items-start
|
|
.header
|
|
.title HMAC
|
|
.w-75
|
|
div(*ngFor='let alg of supportedAlgorithms.hmac')
|
|
checkbox([text]='alg', [(ngModel)]='algorithms.hmac[alg]')
|
|
|
|
.form-line.align-items-start
|
|
.header
|
|
.title Host key
|
|
.w-75
|
|
div(*ngFor='let alg of supportedAlgorithms.serverHostKey')
|
|
checkbox([text]='alg', [(ngModel)]='algorithms.serverHostKey[alg]')
|
|
|
|
li(ngbNavItem)
|
|
a(ngbNavLink) Login scripts
|
|
ng-template(ngbNavContent)
|
|
login-scripts-settings([options]='profile.options')
|
|
|
|
div([ngbNavOutlet]='nav')
|