mirror of
https://github.com/Eugeny/tabby
synced 2024-11-15 09:27:24 +00:00
Merge pull request #2601 from JonathanBeverley/jmb/features
This commit is contained in:
commit
ae3870e297
5 changed files with 14 additions and 15 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -28,3 +28,5 @@ docs/api
|
||||||
.electron-symbols
|
.electron-symbols
|
||||||
sentry.properties
|
sentry.properties
|
||||||
sentry-symbols.js
|
sentry-symbols.js
|
||||||
|
|
||||||
|
terminus-ssh/util/pagent.exe
|
||||||
|
|
|
@ -9,10 +9,12 @@
|
||||||
"typings": "typings/index.d.ts",
|
"typings": "typings/index.d.ts",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "webpack --progress --color",
|
"build": "webpack --progress --color",
|
||||||
"watch": "webpack --progress --color --watch"
|
"watch": "webpack --progress --color --watch",
|
||||||
|
"postinstall": "xcopy /i node_modules\\ssh2\\util\\pagent.exe util\\"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"dist"
|
"dist",
|
||||||
|
"util/pagent.exe"
|
||||||
],
|
],
|
||||||
"author": "Eugene Pankov",
|
"author": "Eugene Pankov",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
|
|
@ -36,6 +36,7 @@ export interface SSHConnection {
|
||||||
skipBanner?: boolean
|
skipBanner?: boolean
|
||||||
disableDynamicTitle?: boolean
|
disableDynamicTitle?: boolean
|
||||||
jumpHost?: string
|
jumpHost?: string
|
||||||
|
agentForward?: boolean
|
||||||
|
|
||||||
algorithms?: {[t: string]: string[]}
|
algorithms?: {[t: string]: string[]}
|
||||||
}
|
}
|
||||||
|
|
|
@ -83,6 +83,11 @@
|
||||||
.title X11 forwarding
|
.title X11 forwarding
|
||||||
toggle([(ngModel)]='connection.x11')
|
toggle([(ngModel)]='connection.x11')
|
||||||
|
|
||||||
|
.form-line
|
||||||
|
.header
|
||||||
|
.title Allow Agent Forwarding
|
||||||
|
toggle([(ngModel)]='connection.agentForward')
|
||||||
|
|
||||||
.form-line
|
.form-line
|
||||||
.header
|
.header
|
||||||
.title Tab color
|
.title Tab color
|
||||||
|
|
|
@ -16,10 +16,6 @@ import { PromptModalComponent } from '../components/promptModal.component'
|
||||||
import { PasswordStorageService } from './passwordStorage.service'
|
import { PasswordStorageService } from './passwordStorage.service'
|
||||||
import { SSHTabComponent } from '../components/sshTab.component'
|
import { SSHTabComponent } from '../components/sshTab.component'
|
||||||
|
|
||||||
try {
|
|
||||||
var windowsProcessTreeNative = require('windows-process-tree/build/Release/windows_process_tree.node') // eslint-disable-line @typescript-eslint/no-var-requires, no-var
|
|
||||||
} catch { }
|
|
||||||
|
|
||||||
@Injectable({ providedIn: 'root' })
|
@Injectable({ providedIn: 'root' })
|
||||||
export class SSHService {
|
export class SSHService {
|
||||||
private logger: Logger
|
private logger: Logger
|
||||||
|
@ -187,14 +183,7 @@ export class SSHService {
|
||||||
|
|
||||||
let agent: string|null = null
|
let agent: string|null = null
|
||||||
if (this.hostApp.platform === Platform.Windows) {
|
if (this.hostApp.platform === Platform.Windows) {
|
||||||
const pageantRunning = new Promise<boolean>(resolve => {
|
|
||||||
windowsProcessTreeNative.getProcessList(list => { // eslint-disable-line block-scoped-var
|
|
||||||
resolve(list.some(x => x.name === 'pageant.exe'))
|
|
||||||
}, 0)
|
|
||||||
})
|
|
||||||
if (await pageantRunning) {
|
|
||||||
agent = 'pageant'
|
agent = 'pageant'
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
agent = process.env.SSH_AUTH_SOCK as string
|
agent = process.env.SSH_AUTH_SOCK as string
|
||||||
}
|
}
|
||||||
|
@ -208,7 +197,7 @@ export class SSHService {
|
||||||
privateKey: privateKey || undefined,
|
privateKey: privateKey || undefined,
|
||||||
tryKeyboard: true,
|
tryKeyboard: true,
|
||||||
agent: agent || undefined,
|
agent: agent || undefined,
|
||||||
agentForward: !!agent,
|
agentForward: session.connection.agentForward && !!agent,
|
||||||
keepaliveInterval: session.connection.keepaliveInterval,
|
keepaliveInterval: session.connection.keepaliveInterval,
|
||||||
keepaliveCountMax: session.connection.keepaliveCountMax,
|
keepaliveCountMax: session.connection.keepaliveCountMax,
|
||||||
readyTimeout: session.connection.readyTimeout,
|
readyTimeout: session.connection.readyTimeout,
|
||||||
|
|
Loading…
Reference in a new issue