mirror of
https://github.com/koush/scrypted.git
synced 2026-02-12 01:54:27 +00:00
homekit: watch and alert for invalid scrypted server addresses.
This commit is contained in:
4
plugins/homekit/package-lock.json
generated
4
plugins/homekit/package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@scrypted/homekit",
|
||||
"version": "1.1.7",
|
||||
"version": "1.1.8",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@scrypted/homekit",
|
||||
"version": "1.1.7",
|
||||
"version": "1.1.8",
|
||||
"dependencies": {
|
||||
"@koush/qrcode-terminal": "^0.12.0",
|
||||
"@koush/werift-src": "file:../../external/werift",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@scrypted/homekit",
|
||||
"version": "1.1.7",
|
||||
"version": "1.1.8",
|
||||
"description": "HomeKit Plugin for Scrypted",
|
||||
"scripts": {
|
||||
"prepublishOnly": "NODE_ENV=production scrypted-webpack",
|
||||
|
||||
@@ -40,10 +40,6 @@ export function createCameraStreamingDelegate(device: ScryptedDevice & VideoCame
|
||||
async prepareStream(request: PrepareStreamRequest, callback: PrepareStreamCallback) {
|
||||
// console.log('prepareStream', Object.assign({}, request, { connection: request.connection.remoteAddress }));
|
||||
|
||||
const videossrc = CameraController.generateSynchronisationSource();
|
||||
const audiossrc = CameraController.generateSynchronisationSource();
|
||||
const addressOverride = homekitPlugin.storageSettings.values.addressOverride || undefined;
|
||||
|
||||
const { sessionID } = request;
|
||||
let killResolve: any;
|
||||
const streamingSessionStartTime = Date.now();
|
||||
@@ -62,6 +58,14 @@ export function createCameraStreamingDelegate(device: ScryptedDevice & VideoCame
|
||||
});
|
||||
|
||||
const socketType = request.addressVersion === 'ipv6' ? 'udp6' : 'udp4';
|
||||
const addressOverride = homekitPlugin.storageSettings.values.addressOverride || undefined;
|
||||
|
||||
if (addressOverride) {
|
||||
const infos = Object.values(os.networkInterfaces()).flat().map(i => i?.address);
|
||||
if (!infos.find(address => address === addressOverride))
|
||||
homekitPlugin.log.a('The provided Scrypted Server Address was not found in the list of network addresses and may be invalid: ' + addressOverride);
|
||||
}
|
||||
|
||||
const { socket: videoReturn, port: videoPort } = await getPort(socketType, addressOverride);
|
||||
const { socket: audioReturn, port: audioPort } = await getPort(socketType, addressOverride);
|
||||
|
||||
@@ -70,6 +74,9 @@ export function createCameraStreamingDelegate(device: ScryptedDevice & VideoCame
|
||||
closeQuiet(audioReturn);
|
||||
});
|
||||
|
||||
const videossrc = CameraController.generateSynchronisationSource();
|
||||
const audiossrc = CameraController.generateSynchronisationSource();
|
||||
|
||||
const session: CameraStreamingSession = {
|
||||
aconfig: {
|
||||
keys: {
|
||||
@@ -123,10 +130,6 @@ export function createCameraStreamingDelegate(device: ScryptedDevice & VideoCame
|
||||
if (addressOverride) {
|
||||
console.log('using address override', addressOverride);
|
||||
response.addressOverride = addressOverride;
|
||||
|
||||
const infos = Object.values(os.networkInterfaces()).flat().map(i => i.address);
|
||||
if (!infos.find(address => address === addressOverride))
|
||||
homekitPlugin.log.a('The provided Scrypted Server Address was not found in the list of network addresses and may be invalid: ' + addressOverride);
|
||||
}
|
||||
else {
|
||||
// HAP-NodeJS has weird default address determination behavior. Ideally it should use
|
||||
|
||||
Reference in New Issue
Block a user