Skip to content

Commit f50e351

Browse files
committed
WIP
1 parent 01b018d commit f50e351

File tree

3 files changed

+42
-21
lines changed

3 files changed

+42
-21
lines changed

packages/devtools-proxy-support/src/ssh.ts

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import type { AgentConnectOpts } from 'agent-base';
12
import { Agent as AgentBase } from 'agent-base';
23
import type { DevtoolsProxyOptions } from './proxy-options';
34
import type { AgentWithInitialize } from './agent';
@@ -104,16 +105,23 @@ export class SSHAgent extends AgentBase implements AgentWithInitialize {
104105
this.logger.emit('ssh:established-connection');
105106
}
106107

107-
override async connect(req: ClientRequest): Promise<Duplex> {
108-
return await this._connect(req);
108+
override async connect(
109+
req: ClientRequest,
110+
connectOpts: AgentConnectOpts
111+
): Promise<Duplex> {
112+
return await this._connect(req, connectOpts);
109113
}
110114

111-
private async _connect(req: ClientRequest, retriesLeft = 1): Promise<Duplex> {
115+
private async _connect(
116+
req: ClientRequest,
117+
connectOpts: AgentConnectOpts,
118+
retriesLeft = 1
119+
): Promise<Duplex> {
112120
let host = '';
113121
try {
114122
// Using the `host` header matches what proxy-agent does
115-
host = req.getHeader('host') as string;
116-
const url = new URL(req.path, `tcp://${host}`);
123+
host = connectOpts.host || (req.getHeader('host') as string);
124+
const url = new URL(req.path, `tcp://${host}:${connectOpts.port}`);
117125

118126
await this.initialize();
119127

@@ -130,7 +138,7 @@ export class SSHAgent extends AgentBase implements AgentWithInitialize {
130138
this.connected = false;
131139
if (retriesLeft > 0) {
132140
await this.initialize();
133-
return await this._connect(req, retriesLeft - 1);
141+
return await this._connect(req, connectOpts, retriesLeft - 1);
134142
}
135143
}
136144
throw err;
Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,27 @@
1-
-----BEGIN RSA PRIVATE KEY-----
2-
MIICXQIBAAKBgQDus6d2ccviyVDeC0D+7he6yznH7tninsVOBvUdXDDiiSSMZKra
3-
9+sPKrsrTpzez1PbIaR6N5EAi5Tmq1hIAtxroopm8BXqAEoIfdYTPUrnT6WiKDak
4-
FZ8608N2g4QEcvSFuD0Jzm3yrqbmKno0aAJFB1kjfgDyyUkWKjL7el4hEQIDAQAB
5-
AoGBALMFG+ASAmZIs5SD/i/zYuqdxezzboeuqa0WPLjTTnpnfnioexcT/j92vb8C
6-
C1ZzSaG7vn5GtEIjbP3+nYwMUUAZOV/xhZJxbM5vZF5/yjw+rbWK7HKuM+fmks72
7-
mrAonBaFVudVxNRQvsPkZVwE+uAURgYEtiWJW3sPVWcdhjARAkEA/9XlGwqQRV41
8-
HkhgrlXCBCIz09bv3e2/ZSOFohMd7zCLjPOs3iijd/xfIpsuxJd9musCm2plX1/K
9-
EzTNd8p87QJBAO7a8HnCMBAKmmL9+fRzXJKVMiCMx6WX8H6YaXWEzZnnw4PD7K10
10-
vgPPfQpFXZ4W5D23FOA2UepDRqs2VbQ21DUCQFhrGkVgP0BaMM2IgjF+XhGDqJnc
11-
PQZcdruDrVm4da4G/xP125bkQKrlRBP3whAbs0NpWXtRKDvwJSzCIQj3qHkCQQCb
12-
x9FlKABexfuRKqH2C7NJquLJlee0GZdxiYfmbJoHkb/TVVoseuJe69ladIktTTLJ
13-
CXolDWh5iC00Bzj4U3YtAkBXuawsJOIbxaMBlKkm0Q1g+K+htoC+B62ZQkXvCzDl
14-
QOpN8MM1Xb+/qxEVEVtnGprUqEVF4CQEy6IBAHzUn5s+
15-
-----END RSA PRIVATE KEY-----
1+
-----BEGIN OPENSSH PRIVATE KEY-----
2+
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcn
3+
NhAAAAAwEAAQAAAQEA1se5+kem8bHLbCO8Hi2Dyb5vCb8MYQPibfksAaZBTMOA+31skw8r
4+
0Vf4US/HuwdTzJVN+fFHP9+okS6wmWX2qIs8oX9wRhKBJVY11XFeb2YKQRAQUTZDujBFHg
5+
Emhrse9ooSJYXlF4/XqTtG5myChb+tdpP5dh7JLOw/GUOhuaTjTrWKZ4/duLgVRrB1UHR4
6+
SY/Brpx3HIQqcYoznUJbkReW21h65BO1P1Pu4brV9dp4EEQPfLbm2hx0yICGw2vvPLe7k3
7+
10QNa81brQsl+67eLX0PDt9C63ozVkfFR1DdxEvjlzj5ETrgzYDzEPiciY51iaIrZFOkol
8+
LHc3yaThAQAAA9gViGq9FYhqvQAAAAdzc2gtcnNhAAABAQDWx7n6R6bxsctsI7weLYPJvm
9+
8JvwxhA+Jt+SwBpkFMw4D7fWyTDyvRV/hRL8e7B1PMlU358Uc/36iRLrCZZfaoizyhf3BG
10+
EoElVjXVcV5vZgpBEBBRNkO6MEUeASaGux72ihIlheUXj9epO0bmbIKFv612k/l2Hsks7D
11+
8ZQ6G5pONOtYpnj924uBVGsHVQdHhJj8GunHcchCpxijOdQluRF5bbWHrkE7U/U+7hutX1
12+
2ngQRA98tubaHHTIgIbDa+88t7uTfXRA1rzVutCyX7rt4tfQ8O30LrejNWR8VHUN3ES+OX
13+
OPkROuDNgPMQ+JyJjnWJoitkU6SiUsdzfJpOEBAAAAAwEAAQAAAQAnU6raCQSofMWip2hq
14+
nirjZdsvDaxWlz9+o4FLTAXo6GNVqUGYK876JgFx3C3WMSFG9I+ylFtXdryG2OW9MM5ZTi
15+
Vr7MnCCuFa1M5GptuDyktWXnqeZDFChlQhilRjlx+0RNPNyxaHme8DLbdtubCsjMxWSgID
16+
ft+XOirTlW6nbxOLEx3k1TG4xKA6ds92U2VaSycRpUn76TbO62R09UZi+V1Ysvld6ubbFp
17+
cJX1+EaV3+lOSwV0EHcFale+Dlsh8cNmNzsAjrsAXC0swFTDdRd3eZBkNyIVuHe8hVCdvt
18+
Of1+UGQ3t7zlyoXVdGVqLNq7fqS2u1oKjrAfORoDHpGBAAAAgGk2Ptv/0Umn181+cKSOiP
19+
nWJexpl8rOB5k9IGMvfz+6uc/ZQXotqp2mdG+s9IrIYfaEVJfTbrAWceLhh2TjDPd7xvew
20+
QQxkQsQkXGCXMtWN5d+s7moYS/lalinQT1LxqlejMEZ8vEK3eRrKBwoux1y8p8PkxJiu6J
21+
FLwLeqZtBlAAAAgQD97wDcqvKk5izf+87L7aACJzhuNFXxI9g3FzNCU4atEWn/zLItV754
22+
T7pLXW5sNFwakwkF8px4GAXaY/FtueluoJuizdTyXGyPi0ZEF3o8QowP2CP+p6Dw5OWa6a
23+
pkusZ67YpO7UxNjkvOcjQXLmW8umSNwrXvBsY4jfc3qDNcMwAAAIEA2Icoimjr7h0pDbed
24+
3avQdSjQz8qRBvhDGm7FzcgpAfMN1tewKFLl3I1Zw5pZMbJJENxmqH04GXPkzyzeJqgqVf
25+
qKsig6q6BMczQWBknTIo8Iw4YofMX3TFuCpmXnJE/jCtUqptmmo1xaY7nIg6bFvfXMcwBt
26+
NJ/fg9/W1+8VmfsAAAAcYW5uYS5oZW5uaW5nc2VuQE0tRFdIVzRSNlc1QwECAwQFBgc=
27+
-----END OPENSSH PRIVATE KEY-----
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDWx7n6R6bxsctsI7weLYPJvm8JvwxhA+Jt+SwBpkFMw4D7fWyTDyvRV/hRL8e7B1PMlU358Uc/36iRLrCZZfaoizyhf3BGEoElVjXVcV5vZgpBEBBRNkO6MEUeASaGux72ihIlheUXj9epO0bmbIKFv612k/l2Hsks7D8ZQ6G5pONOtYpnj924uBVGsHVQdHhJj8GunHcchCpxijOdQluRF5bbWHrkE7U/U+7hutX12ngQRA98tubaHHTIgIbDa+88t7uTfXRA1rzVutCyX7rt4tfQ8O30LrejNWR8VHUN3ES+OXOPkROuDNgPMQ+JyJjnWJoitkU6SiUsdzfJpOEB anna.henningsen@M-DWHW4R6W5C

0 commit comments

Comments
 (0)