appium-ios-remotexpc 4.0.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +4 -5
  3. package/build/src/index.d.ts +3 -3
  4. package/build/src/index.d.ts.map +1 -1
  5. package/build/src/index.js +3 -3
  6. package/build/src/index.js.map +1 -1
  7. package/build/src/lib/apple-tv/tunnel/tunnel-service.d.ts +3 -4
  8. package/build/src/lib/apple-tv/tunnel/tunnel-service.d.ts.map +1 -1
  9. package/build/src/lib/apple-tv/tunnel/tunnel-service.js +11 -56
  10. package/build/src/lib/apple-tv/tunnel/tunnel-service.js.map +1 -1
  11. package/build/src/lib/apple-tv/tunnel/types.d.ts +0 -16
  12. package/build/src/lib/apple-tv/tunnel/types.d.ts.map +1 -1
  13. package/build/src/lib/tunnel/index.d.ts +14 -9
  14. package/build/src/lib/tunnel/index.d.ts.map +1 -1
  15. package/build/src/lib/tunnel/index.js +42 -49
  16. package/build/src/lib/tunnel/index.js.map +1 -1
  17. package/build/src/lib/tunnel/tunnel-registry-lifecycle.d.ts +20 -0
  18. package/build/src/lib/tunnel/tunnel-registry-lifecycle.d.ts.map +1 -1
  19. package/build/src/lib/tunnel/tunnel-registry-lifecycle.js +58 -0
  20. package/build/src/lib/tunnel/tunnel-registry-lifecycle.js.map +1 -1
  21. package/build/src/services/ios/tunnel-service/index.d.ts +9 -13
  22. package/build/src/services/ios/tunnel-service/index.d.ts.map +1 -1
  23. package/build/src/services/ios/tunnel-service/index.js +6 -18
  24. package/build/src/services/ios/tunnel-service/index.js.map +1 -1
  25. package/package.json +2 -2
  26. package/scripts/start-appletv-tunnel.mjs +137 -91
  27. package/scripts/tunnel-creation.mjs +169 -95
  28. package/src/index.ts +4 -2
  29. package/src/lib/apple-tv/tunnel/tunnel-service.ts +25 -82
  30. package/src/lib/apple-tv/tunnel/types.ts +0 -18
  31. package/src/lib/tunnel/index.ts +65 -54
  32. package/src/lib/tunnel/tunnel-registry-lifecycle.ts +88 -0
  33. package/src/services/ios/tunnel-service/index.ts +16 -27
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## [5.0.0](https://github.com/appium/appium-ios-remotexpc/compare/v4.0.0...v5.0.0) (2026-06-15)
2
+
3
+ ### ⚠ BREAKING CHANGES
4
+
5
+ * TunnelManager.getTunnel now requires (tcpSocket, { cert, key }). Pass plain TCP from startCoreDeviceProxyTcp; do not upgrade to Node TLSSocket first.
6
+ * startCoreDeviceProxy removed. Use startCoreDeviceProxyTcp + TunnelManager.getTunnel(socket, { cert, key }).
7
+ * AppleTVTunnelService.startTunnel() returns { tcpSocket, psk, device } instead of { socket: TLSSocket, device }. Use TunnelManager.getTunnelPsk(tcpSocket, { psk }).
8
+
9
+ ### Features
10
+
11
+ * Bump appium-ios-tuntap to ^1.0.0 ([#238](https://github.com/appium/appium-ios-remotexpc/issues/238)) ([e8fc72f](https://github.com/appium/appium-ios-remotexpc/commit/e8fc72fdd4ba7bcc8f37bd347b278d911d8cf32b))
12
+
1
13
  ## [4.0.0](https://github.com/appium/appium-ios-remotexpc/compare/v3.0.0...v4.0.0) (2026-06-14)
2
14
 
3
15
  ### ⚠ BREAKING CHANGES
package/README.md CHANGED
@@ -106,23 +106,22 @@ The `appium-ios-tuntap (previously tuntap-bridge)` module plays a crucial role i
106
106
  import {
107
107
  createLockdownServiceByUDID,
108
108
  rsdSessionLockKey,
109
- startCoreDeviceProxy,
109
+ startCoreDeviceProxyTcp,
110
110
  TunnelManager,
111
111
  } from 'appium-ios-remotexpc';
112
112
 
113
113
  // Create lockdown service
114
114
  const { lockdownService, device } = await createLockdownServiceByUDID(udid);
115
115
 
116
- // Start CoreDeviceProxy
117
- const { socket } = await startCoreDeviceProxy(
116
+ // Start CoreDeviceProxy (raw TCP; TLS handled in native forwarder)
117
+ const { socket, cert, key } = await startCoreDeviceProxyTcp(
118
118
  lockdownService,
119
119
  device.DeviceID,
120
120
  device.Properties.SerialNumber,
121
- { rejectUnauthorized: false }
122
121
  );
123
122
 
124
123
  // Create tunnel using tuntap
125
- const tunnel = await TunnelManager.getTunnel(socket);
124
+ const tunnel = await TunnelManager.getTunnel(socket, { cert, key });
126
125
  console.log(`Tunnel created at ${tunnel.Address} with RSD port ${tunnel.RsdPort}`);
127
126
 
128
127
  // Discover RSD services (serialized per tunnel; closed before return)
@@ -1,11 +1,11 @@
1
1
  import { STRONGBOX_CONTAINER_NAME, TUNNEL_CONTAINER_NAME } from './constants.js';
2
2
  import { createLockdownServiceByUDID, createLockdownServiceForTunnel } from './lib/lockdown/index.js';
3
3
  import { DevicePortForwarder } from './lib/port-forwarding/index.js';
4
- import { TunnelManager, TunnelReadinessCoordinator, discoverServices, servicesToCatalog, watchTunnelRegistrySockets } from './lib/tunnel/index.js';
4
+ import { TunnelManager, TunnelReadinessCoordinator, discoverServices, servicesToCatalog, watchTunnelRegistryOnDead, watchTunnelRegistrySockets } from './lib/tunnel/index.js';
5
5
  import { TunnelRegistryServer, startTunnelRegistryServer } from './lib/tunnel/tunnel-registry-server.js';
6
6
  import { Usbmux, createUsbmux } from './lib/usbmux/index.js';
7
7
  import * as Services from './services.js';
8
- import { startCoreDeviceProxy } from './services/ios/tunnel-service/index.js';
8
+ import { startCoreDeviceProxyTcp } from './services/ios/tunnel-service/index.js';
9
9
  export type { Device as UsbmuxDevice } from './lib/usbmux/index.js';
10
10
  export type { DevicePortForwarderEvents, DevicePortForwarderOptions, UpstreamSocketConnector, } from './lib/port-forwarding/index.js';
11
11
  export type { RemoteXpcConnection } from './lib/remote-xpc/remote-xpc-connection.js';
@@ -33,5 +33,5 @@ export { AppleTVTunnelService } from './lib/apple-tv/tunnel/index.js';
33
33
  export type { AppleTVPairingResult } from './lib/apple-tv/types.js';
34
34
  export type { LockdownService } from './lib/lockdown/index.js';
35
35
  export { connectViaTunnel, connectViaUsbmux, } from './lib/port-forwarding/index.js';
36
- export { STRONGBOX_CONTAINER_NAME, TUNNEL_CONTAINER_NAME, createUsbmux, Services, Usbmux, DevicePortForwarder, TunnelManager, discoverServices, servicesToCatalog, TunnelReadinessCoordinator, createLockdownServiceForTunnel, createLockdownServiceByUDID, startCoreDeviceProxy, TunnelRegistryServer, startTunnelRegistryServer, watchTunnelRegistrySockets, };
36
+ export { STRONGBOX_CONTAINER_NAME, TUNNEL_CONTAINER_NAME, createUsbmux, Services, Usbmux, DevicePortForwarder, TunnelManager, discoverServices, servicesToCatalog, TunnelReadinessCoordinator, createLockdownServiceForTunnel, createLockdownServiceByUDID, startCoreDeviceProxyTcp, TunnelRegistryServer, startTunnelRegistryServer, watchTunnelRegistrySockets, watchTunnelRegistryOnDead, };
37
37
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { STRONGBOX_CONTAINER_NAME, TUNNEL_CONTAINER_NAME, } from './constants.js';
2
2
  import { createLockdownServiceByUDID, createLockdownServiceForTunnel, } from './lib/lockdown/index.js';
3
3
  import { DevicePortForwarder } from './lib/port-forwarding/index.js';
4
- import { TunnelManager, TunnelReadinessCoordinator, discoverServices, servicesToCatalog, watchTunnelRegistrySockets, } from './lib/tunnel/index.js';
4
+ import { TunnelManager, TunnelReadinessCoordinator, discoverServices, servicesToCatalog, watchTunnelRegistryOnDead, watchTunnelRegistrySockets, } from './lib/tunnel/index.js';
5
5
  import { TunnelRegistryServer, startTunnelRegistryServer, } from './lib/tunnel/tunnel-registry-server.js';
6
6
  import { Usbmux, createUsbmux } from './lib/usbmux/index.js';
7
7
  import * as Services from './services.js';
8
- import { startCoreDeviceProxy } from './services/ios/tunnel-service/index.js';
8
+ import { startCoreDeviceProxyTcp } from './services/ios/tunnel-service/index.js';
9
9
  export { AfcConnectionError } from './services/ios/afc/errors.js';
10
10
  export { PowerAssertionType } from './lib/types.js';
11
11
  export { NetworkMessageType } from './services/ios/dvt/instruments/network-monitor.js';
@@ -20,5 +20,5 @@ export { createBinaryPlist } from './lib/plist/index.js';
20
20
  export { AppleTVPairingService, UserInputService, } from './lib/apple-tv/pairing/index.js';
21
21
  export { AppleTVTunnelService } from './lib/apple-tv/tunnel/index.js';
22
22
  export { connectViaTunnel, connectViaUsbmux, } from './lib/port-forwarding/index.js';
23
- export { STRONGBOX_CONTAINER_NAME, TUNNEL_CONTAINER_NAME, createUsbmux, Services, Usbmux, DevicePortForwarder, TunnelManager, discoverServices, servicesToCatalog, TunnelReadinessCoordinator, createLockdownServiceForTunnel, createLockdownServiceByUDID, startCoreDeviceProxy, TunnelRegistryServer, startTunnelRegistryServer, watchTunnelRegistrySockets, };
23
+ export { STRONGBOX_CONTAINER_NAME, TUNNEL_CONTAINER_NAME, createUsbmux, Services, Usbmux, DevicePortForwarder, TunnelManager, discoverServices, servicesToCatalog, TunnelReadinessCoordinator, createLockdownServiceForTunnel, createLockdownServiceByUDID, startCoreDeviceProxyTcp, TunnelRegistryServer, startTunnelRegistryServer, watchTunnelRegistrySockets, watchTunnelRegistryOnDead, };
24
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAU9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAuDlE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,EACL,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,oDAAoD,CAAC;AAEhG,OAAO,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AACnF,OAAO,EACL,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,SAAS,GACV,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,yBAAyB,EACzB,aAAa,GACd,MAAM,8CAA8C,CAAC;AAWtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAItE,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,0BAA0B,EAC1B,8BAA8B,EAC9B,2BAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,GAC3B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAUjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAuDlE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,EACL,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,oDAAoD,CAAC;AAEhG,OAAO,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AACnF,OAAO,EACL,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,SAAS,GACV,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,yBAAyB,EACzB,aAAa,GACd,MAAM,8CAA8C,CAAC;AAWtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAItE,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,0BAA0B,EAC1B,8BAA8B,EAC9B,2BAA2B,EAC3B,uBAAuB,EACvB,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,GAC1B,CAAC"}
@@ -1,4 +1,4 @@
1
- import * as tls from 'node:tls';
1
+ import * as net from 'node:net';
2
2
  import type { NetworkClientInterface } from '../network/types.js';
3
3
  import type { VerificationKeys } from '../pairing-protocol/pair-verification-protocol.js';
4
4
  import type { AppleTVDevice } from '../types.js';
@@ -10,7 +10,6 @@ export declare class TunnelService {
10
10
  private encryptedSequenceNumber;
11
11
  constructor(networkClient: NetworkClientInterface, keys: VerificationKeys, sequenceNumber: number);
12
12
  createTcpListener(): Promise<TcpListenerInfo>;
13
- createTlsPskConnection(hostname: string, port: number): Promise<tls.TLSSocket>;
14
13
  getSequenceNumber(): number;
15
14
  }
16
15
  /**
@@ -29,7 +28,8 @@ export declare class AppleTVTunnelService {
29
28
  */
30
29
  discoverDevices(): Promise<AppleTVDevice[]>;
31
30
  startTunnel(deviceId?: string, specificDeviceIdentifier?: string): Promise<{
32
- socket: tls.TLSSocket;
31
+ tcpSocket: net.Socket;
32
+ psk: Buffer;
33
33
  device: AppleTVDevice;
34
34
  }>;
35
35
  /**
@@ -55,6 +55,5 @@ export declare class AppleTVTunnelService {
55
55
  private performHandshake;
56
56
  private performPairVerification;
57
57
  private createTcpListener;
58
- private createTlsPskConnection;
59
58
  }
60
59
  //# sourceMappingURL=tunnel-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel-service.d.ts","sourceRoot":"","sources":["../../../../../src/lib/apple-tv/tunnel/tunnel-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAiBhC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mDAAmD,CAAC;AAG1F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,KAAK,EAAE,eAAe,EAA2B,MAAM,YAAY,CAAC;AAK3E,qBAAa,aAAa;IAItB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,cAAc;IALxB,OAAO,CAAC,uBAAuB,CAAK;gBAGjB,aAAa,EAAE,sBAAsB,EACrC,IAAI,EAAE,gBAAgB,EAC/B,cAAc,EAAE,MAAM;IAG1B,iBAAiB,IAAI,OAAO,CAAC,eAAe,CAAC;IAoF7C,sBAAsB,CAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IA4DzB,iBAAiB,IAAI,MAAM;CAG5B;AAED;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,cAAc,CAAK;;IAQ3B,UAAU,IAAI,IAAI;IAQlB;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAuB3C,WAAW,CACf,QAAQ,CAAC,EAAE,MAAM,EACjB,wBAAwB,CAAC,EAAE,MAAM,GAChC,OAAO,CAAC;QAAE,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC;QAAC,MAAM,EAAE,aAAa,CAAA;KAAE,CAAC;IA0D5D;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAgC9B;;OAEG;YACW,yBAAyB;IAgBvC;;OAEG;YACW,uBAAuB;IAoErC;;OAEG;IACH,OAAO,CAAC,iBAAiB;YAWX,gBAAgB;YA4BhB,uBAAuB;YAmBvB,iBAAiB;YAiBjB,sBAAsB;CAYrC"}
1
+ {"version":3,"file":"tunnel-service.d.ts","sourceRoot":"","sources":["../../../../../src/lib/apple-tv/tunnel/tunnel-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAiBhC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mDAAmD,CAAC;AAG1F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAKlD,qBAAa,aAAa;IAItB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,cAAc;IALxB,OAAO,CAAC,uBAAuB,CAAK;gBAGjB,aAAa,EAAE,sBAAsB,EACrC,IAAI,EAAE,gBAAgB,EAC/B,cAAc,EAAE,MAAM;IAG1B,iBAAiB,IAAI,OAAO,CAAC,eAAe,CAAC;IAoFnD,iBAAiB,IAAI,MAAM;CAG5B;AAED;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,cAAc,CAAK;;IAQ3B,UAAU,IAAI,IAAI;IAQlB;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAuB3C,WAAW,CACf,QAAQ,CAAC,EAAE,MAAM,EACjB,wBAAwB,CAAC,EAAE,MAAM,GAChC,OAAO,CAAC;QACT,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC;QACtB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,aAAa,CAAC;KACvB,CAAC;IA0DF;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAgC9B;;OAEG;YACW,yBAAyB;IAgBvC;;OAEG;YACW,uBAAuB;IAuErC;;OAEG;IACH,OAAO,CAAC,iBAAiB;YAWX,gBAAgB;YA4BhB,uBAAuB;YAmBvB,iBAAiB;CAgBhC"}
@@ -1,5 +1,5 @@
1
1
  import { util } from '@appium/support';
2
- import * as tls from 'node:tls';
2
+ import * as net from 'node:net';
3
3
  import { createDiscoveryBackend } from '../../discovery/discovery-backend-factory.js';
4
4
  import { getLogger } from '../../logger.js';
5
5
  import { DEFAULT_PAIRING_CONFIG, REMOTE_PAIRING_DISCOVERY_DOMAIN, REMOTE_PAIRING_VERIFIED_DISCOVERY_SERVICE_TYPE, } from '../constants.js';
@@ -81,55 +81,6 @@ export class TunnelService {
81
81
  log.debug(`TCP Listener created on port: ${createListenerResponse.port}`);
82
82
  return createListenerResponse;
83
83
  }
84
- async createTlsPskConnection(hostname, port) {
85
- log.debug(`Creating TLS-PSK connection to ${hostname}:${port}`);
86
- return new Promise((resolve, reject) => {
87
- const options = {
88
- host: hostname,
89
- port,
90
- pskCallback: (hint) => {
91
- log.debug(`PSK callback invoked with hint: ${hint}`);
92
- return {
93
- psk: this.keys.encryptionKey,
94
- identity: '',
95
- };
96
- },
97
- ciphers: 'PSK-AES256-CBC-SHA:PSK-AES128-CBC-SHA:PSK-3DES-EDE-CBC-SHA:PSK-RC4-SHA:PSK',
98
- secureProtocol: 'TLSv1_2_method',
99
- // SECURITY NOTE: Disabling certificate validation is intentional and safe in this context.
100
- // This connection uses TLS-PSK (Pre-Shared Key) authentication, where the pre-shared key
101
- // itself provides mutual authentication between client and server. Traditional X.509
102
- // certificate validation is not used in PSK-based TLS connections. The encryption key
103
- // was securely established during the pairing process (which involves PIN verification),
104
- // and this key authenticates both parties. This is the standard approach for Apple TV's
105
- // RemoteXPC protocol and should NOT be changed to use certificate validation.
106
- rejectUnauthorized: false,
107
- checkServerIdentity: () => undefined,
108
- };
109
- const socket = tls.connect(options, () => {
110
- log.debug('TLS-PSK connection established');
111
- resolve(socket);
112
- });
113
- socket.on('error', (error) => {
114
- log.error('TLS-PSK connection error:', error);
115
- if (error.message?.includes('no shared cipher') ||
116
- error.code === 'ECONNRESET') {
117
- log.error('PSK ciphers may not be available in your Node.js build');
118
- log.error('You may need to:');
119
- log.error('1. Use Node.js compiled with PSK-enabled OpenSSL');
120
- log.error('2. Use a Python subprocess for the TLS-PSK connection');
121
- log.error('3. Use a native module like node-openssl');
122
- }
123
- reject(error);
124
- });
125
- socket.on('secureConnect', () => {
126
- log.debug('Secure connection event fired');
127
- });
128
- socket.on('tlsClientError', (error) => {
129
- log.error('TLS client error:', error);
130
- });
131
- });
132
- }
133
84
  getSequenceNumber() {
134
85
  return this.sequenceNumber;
135
86
  }
@@ -284,12 +235,12 @@ export class AppleTVTunnelService {
284
235
  appleTVLog.info(`✅ Successfully verified with pair record: ${identifier}`);
285
236
  const listenerInfo = await this.createTcpListener(keys);
286
237
  this.networkClient.disconnect();
287
- const tlsSocket = await this.createTlsPskConnection(connectionTarget, listenerInfo.port, keys);
238
+ const tcpSocket = await connectToListenerPort(connectionTarget, listenerInfo.port);
288
239
  appleTVLog.debug('Step 6: Tunnel Establishment success');
289
240
  appleTVLog.info(`🔑 Using pair record: ${identifier}`);
290
241
  appleTVLog.info(`📱 Connected to device: ${device.identifier} (${device.name})`);
291
242
  appleTVLog.info(` Target: ${connectionTarget}:${device.port}`);
292
- return { socket: tlsSocket, device };
243
+ return { tcpSocket, psk: keys.encryptionKey, device };
293
244
  }
294
245
  catch (error) {
295
246
  const errorMessage = error.message || String(error);
@@ -362,9 +313,13 @@ export class AppleTVTunnelService {
362
313
  this.sequenceNumber = tunnelService.getSequenceNumber();
363
314
  return listenerInfo;
364
315
  }
365
- async createTlsPskConnection(hostname, port, keys) {
366
- const tunnelService = new TunnelService(this.networkClient, keys, this.sequenceNumber);
367
- return tunnelService.createTlsPskConnection(hostname, port);
368
- }
316
+ }
317
+ function connectToListenerPort(hostname, port) {
318
+ return new Promise((resolve, reject) => {
319
+ const socket = net.connect({ host: hostname, port }, () => {
320
+ resolve(socket);
321
+ });
322
+ socket.once('error', reject);
323
+ });
369
324
  }
370
325
  //# sourceMappingURL=tunnel-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel-service.js","sourceRoot":"","sources":["../../../../../src/lib/apple-tv/tunnel/tunnel-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tunnel-service.js","sourceRoot":"","sources":["../../../../../src/lib/apple-tv/tunnel/tunnel-service.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,6 @@
1
- import type * as tls from 'node:tls';
2
1
  export interface TcpListenerInfo {
3
2
  port: number;
4
3
  serviceName: string;
5
4
  devicePublicKey: string;
6
5
  }
7
- /**
8
- * Extended TLS connection options that include PSK (Pre-Shared Key) callback support.
9
- * This interface extends the standard Node.js TLS ConnectionOptions to add PSK authentication.
10
- */
11
- export interface TlsPskConnectionOptions extends tls.ConnectionOptions {
12
- /**
13
- * Callback function invoked during TLS handshake to provide PSK credentials.
14
- * @param hint - Optional hint from the server about which PSK identity to use
15
- * @returns Object containing the pre-shared key and identity string
16
- */
17
- pskCallback?: (hint: string | null) => {
18
- psk: Buffer;
19
- identity: string;
20
- };
21
- }
22
6
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/apple-tv/tunnel/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAC;AAErC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAwB,SAAQ,GAAG,CAAC,iBAAiB;IACpE;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK;QACrC,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/apple-tv/tunnel/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB"}
@@ -1,5 +1,5 @@
1
- import { type TunnelConnection } from 'appium-ios-tuntap';
2
- import type { TLSSocket } from 'node:tls';
1
+ import { type TunnelConnection, type TunnelLockdownTlsCredentials, type TunnelPskTlsCredentials } from 'appium-ios-tuntap';
2
+ import type { Socket } from 'node:net';
3
3
  /**
4
4
  * A wrapper around the tunnel connection that
5
5
  * maintains a registry of active tunnels that can be reused.
@@ -20,13 +20,17 @@ declare class TunnelManagerService {
20
20
  */
21
21
  getActiveTunnels(): string[];
22
22
  /**
23
- * Establishes a tunnel connection if not already connected.
24
- * If a tunnel is already open for the same address, it will be reused.
25
- *
26
- * @param secureServiceSocket - The secure service socket used to create the tunnel.
27
- * @returns A promise that resolves to the tunnel connection instance.
23
+ * Establishes a tunnel via native OpenSSL forwarding (raw TCP + pair-record PEM).
24
+ */
25
+ getTunnel(tcpSocket: Socket, credentials: TunnelLockdownTlsCredentials, options?: {
26
+ onDead?: (reason: string) => void;
27
+ }): Promise<TunnelConnection>;
28
+ /**
29
+ * Establishes an Apple TV tunnel via native OpenSSL TLS-PSK forwarding.
28
30
  */
29
- getTunnel(secureServiceSocket: TLSSocket): Promise<TunnelConnection>;
31
+ getTunnelPsk(tcpSocket: Socket, credentials: TunnelPskTlsCredentials, options?: {
32
+ onDead?: (reason: string) => void;
33
+ }): Promise<TunnelConnection>;
30
34
  /**
31
35
  * Gets an existing tunnel by address if available
32
36
  *
@@ -54,10 +58,11 @@ declare class TunnelManagerService {
54
58
  * @returns A promise that resolves when all tunnels are closed.
55
59
  */
56
60
  closeTunnel(): Promise<void>;
61
+ private registerTunnel;
57
62
  }
58
63
  export declare const TunnelManager: TunnelManagerService;
59
64
  export { discoverServices, servicesToCatalog } from './tunnel-rsd-discovery.js';
60
65
  export { TunnelReadinessCoordinator } from './tunnel-readiness.js';
61
- export { watchTunnelRegistrySockets, type TunnelRegistrySocketWatch, type WatchTunnelRegistryOptions, } from './tunnel-registry-lifecycle.js';
66
+ export { watchTunnelRegistrySockets, watchTunnelRegistryOnDead, type TunnelRegistrySocketWatch, type TunnelRegistryOnDeadWatch, type WatchTunnelRegistryOptions, type WatchTunnelRegistryOnDeadOptions, } from './tunnel-registry-lifecycle.js';
62
67
  export type { TunnelConnection };
63
68
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/tunnel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAe1C;;;GAGG;AACH,cAAM,oBAAoB;IAExB,OAAO,CAAC,cAAc,CAA+C;IACrE;;;;;OAKG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAKtC;;;;OAIG;IACH,gBAAgB,IAAI,MAAM,EAAE;IAM5B;;;;;;OAMG;IACG,SAAS,CAAC,mBAAmB,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmD1E;;;;;OAKG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAU5D;;;;;OAKG;IACG,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB1D;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAatC;;;;;OAKG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAGnC;AAGD,eAAO,MAAM,aAAa,sBAA6B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EACL,0BAA0B,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,GAChC,MAAM,gCAAgC,CAAC;AAExC,YAAY,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/tunnel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,4BAA4B,EACjC,KAAK,uBAAuB,EAG7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAevC;;;GAGG;AACH,cAAM,oBAAoB;IAExB,OAAO,CAAC,cAAc,CAA+C;IACrE;;;;;OAKG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAKtC;;;;OAIG;IACH,gBAAgB,IAAI,MAAM,EAAE;IAM5B;;OAEG;IACG,SAAS,CACb,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,4BAA4B,EACzC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,GAC9C,OAAO,CAAC,gBAAgB,CAAC;IAS5B;;OAEG;IACG,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,uBAAuB,EACpC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,GAC9C,OAAO,CAAC,gBAAgB,CAAC;IAK5B;;;;;OAKG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAU5D;;;;;OAKG;IACG,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB1D;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAatC;;;;;OAKG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;YAIpB,cAAc;CAkC7B;AAGD,eAAO,MAAM,aAAa,sBAA6B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,gCAAgC,GACtC,MAAM,gCAAgC,CAAC;AAExC,YAAY,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,4 +1,4 @@
1
- import { connectToTunnelLockdown, } from 'appium-ios-tuntap';
1
+ import { connectToTunnelLockdown, connectToTunnelPsk, } from 'appium-ios-tuntap';
2
2
  import { getLogger } from '../logger.js';
3
3
  const log = getLogger('TunnelManager');
4
4
  /**
@@ -29,54 +29,18 @@ class TunnelManagerService {
29
29
  .map(([address]) => address);
30
30
  }
31
31
  /**
32
- * Establishes a tunnel connection if not already connected.
33
- * If a tunnel is already open for the same address, it will be reused.
34
- *
35
- * @param secureServiceSocket - The secure service socket used to create the tunnel.
36
- * @returns A promise that resolves to the tunnel connection instance.
32
+ * Establishes a tunnel via native OpenSSL forwarding (raw TCP + pair-record PEM).
37
33
  */
38
- async getTunnel(secureServiceSocket) {
39
- // Create a new tunnel
40
- const tunnel = await connectToTunnelLockdown(secureServiceSocket);
41
- // Check if we already have an active tunnel for this address
42
- const existingTunnel = this.tunnelRegistry.get(tunnel.Address);
43
- if (existingTunnel?.isActive) {
44
- log.info(`Reusing existing tunnel for address: ${tunnel.Address}`);
45
- // Verify the tunnel is still functional
46
- try {
47
- // A simple check to see if the tunnel is still functional
48
- if (tunnel.tunnelManager?.emit instanceof Function) {
49
- // Close the new tunnel since we're reusing an existing one
50
- try {
51
- await tunnel.closer();
52
- }
53
- catch (error) {
54
- log.warn(`Error closing redundant tunnel: ${error}`);
55
- }
56
- // Update the last used timestamp
57
- existingTunnel.lastUsed = Date.now();
58
- return existingTunnel.tunnel;
59
- }
60
- else {
61
- log.warn('Existing tunnel appears to be non-functional, creating a new one');
62
- // Mark the existing tunnel as inactive
63
- existingTunnel.isActive = false;
64
- }
65
- }
66
- catch (error) {
67
- log.warn(`Error checking tunnel functionality: ${error}, creating a new one`);
68
- // Mark the existing tunnel as inactive
69
- existingTunnel.isActive = false;
70
- }
71
- }
72
- // Register the new tunnel
73
- log.info(`Creating new tunnel for address: ${tunnel.Address}`);
74
- this.tunnelRegistry.set(tunnel.Address, {
75
- tunnel,
76
- lastUsed: Date.now(),
77
- isActive: true,
78
- });
79
- return tunnel;
34
+ async getTunnel(tcpSocket, credentials, options) {
35
+ const tunnel = await connectToTunnelLockdown(tcpSocket, credentials, options);
36
+ return this.registerTunnel(tunnel, 'tunnel');
37
+ }
38
+ /**
39
+ * Establishes an Apple TV tunnel via native OpenSSL TLS-PSK forwarding.
40
+ */
41
+ async getTunnelPsk(tcpSocket, credentials, options) {
42
+ const tunnel = await connectToTunnelPsk(tcpSocket, credentials, options);
43
+ return this.registerTunnel(tunnel, 'Apple TV tunnel');
80
44
  }
81
45
  /**
82
46
  * Gets an existing tunnel by address if available
@@ -145,10 +109,39 @@ class TunnelManagerService {
145
109
  async closeTunnel() {
146
110
  return this.closeAllTunnels();
147
111
  }
112
+ async registerTunnel(tunnel, kindLabel) {
113
+ const existingTunnel = this.tunnelRegistry.get(tunnel.Address);
114
+ if (existingTunnel?.isActive) {
115
+ log.info(`Reusing existing tunnel for address: ${tunnel.Address}`);
116
+ try {
117
+ if (tunnel.tunnelManager) {
118
+ try {
119
+ await tunnel.closer();
120
+ }
121
+ catch (error) {
122
+ log.warn(`Error closing redundant tunnel: ${error}`);
123
+ }
124
+ existingTunnel.lastUsed = Date.now();
125
+ return existingTunnel.tunnel;
126
+ }
127
+ }
128
+ catch (error) {
129
+ log.warn(`Error checking tunnel functionality: ${error}, creating a new one`);
130
+ existingTunnel.isActive = false;
131
+ }
132
+ }
133
+ log.info(`Creating new ${kindLabel} for address: ${tunnel.Address}`);
134
+ this.tunnelRegistry.set(tunnel.Address, {
135
+ tunnel,
136
+ lastUsed: Date.now(),
137
+ isActive: true,
138
+ });
139
+ return tunnel;
140
+ }
148
141
  }
149
142
  // Create and export the singleton instance
150
143
  export const TunnelManager = new TunnelManagerService();
151
144
  export { discoverServices, servicesToCatalog } from './tunnel-rsd-discovery.js';
152
145
  export { TunnelReadinessCoordinator } from './tunnel-readiness.js';
153
- export { watchTunnelRegistrySockets, } from './tunnel-registry-lifecycle.js';
146
+ export { watchTunnelRegistrySockets, watchTunnelRegistryOnDead, } from './tunnel-registry-lifecycle.js';
154
147
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/tunnel/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/tunnel/index.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,20 @@ export interface WatchTunnelRegistryOptions {
20
20
  address: string;
21
21
  }) => void | Promise<void>;
22
22
  }
23
+ export interface TunnelRegistryOnDeadWatch {
24
+ udid: string;
25
+ /** Register a handler invoked when the native forwarder exits unexpectedly. */
26
+ registerOnDead: (handler: (reason: string) => void) => void;
27
+ }
28
+ export interface WatchTunnelRegistryOnDeadOptions {
29
+ registry: TunnelRegistry;
30
+ watches: TunnelRegistryOnDeadWatch[];
31
+ onRemove?: (udid: string) => void | Promise<void>;
32
+ onTunnelDead?: (ctx: {
33
+ udid: string;
34
+ address: string;
35
+ }) => void | Promise<void>;
36
+ }
23
37
  /**
24
38
  * Removes a tunnel from the registry when its upstream CoreDeviceProxy socket dies.
25
39
  *
@@ -28,4 +42,10 @@ export interface WatchTunnelRegistryOptions {
28
42
  export declare function watchTunnelRegistrySockets(options: WatchTunnelRegistryOptions): {
29
43
  stop: () => void;
30
44
  };
45
+ /**
46
+ * Removes a tunnel from the registry when its native forwarder dies (lockdown or TLS-PSK).
47
+ */
48
+ export declare function watchTunnelRegistryOnDead(options: WatchTunnelRegistryOnDeadOptions): {
49
+ stop: () => void;
50
+ };
31
51
  //# sourceMappingURL=tunnel-registry-lifecycle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel-registry-lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/lib/tunnel/tunnel-registry-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,yBAAyB,EAAE,CAAC;IACrC,gEAAgE;IAChE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,0BAA0B,GAClC;IAAE,IAAI,EAAE,MAAM,IAAI,CAAA;CAAE,CAqEtB"}
1
+ {"version":3,"file":"tunnel-registry-lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/lib/tunnel/tunnel-registry-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,yBAAyB,EAAE,CAAC;IACrC,gEAAgE;IAChE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,cAAc,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC;CAC7D;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,yBAAyB,EAAE,CAAC;IACrC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,0BAA0B,GAClC;IAAE,IAAI,EAAE,MAAM,IAAI,CAAA;CAAE,CAqEtB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gCAAgC,GACxC;IAAE,IAAI,EAAE,MAAM,IAAI,CAAA;CAAE,CAiEtB"}