yo-moss-ai 0.0.53 → 0.0.54
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.
- package/bin/runtime-manifest.json +1 -1
- package/dist-server/board-presets.mjs +1 -1
- package/dist-server/camera-discover.mjs +1 -1
- package/dist-server/camera.mjs +1 -1
- package/dist-server/dev-ui.mjs +1 -1
- package/dist-server/device-chat-sync.mjs +1 -1
- package/dist-server/device-config-view.mjs +1 -1
- package/dist-server/device-focus.mjs +1 -1
- package/dist-server/device-http.mjs +1 -1
- package/dist-server/device-identity.mjs +1 -1
- package/dist-server/device-live.mjs +1 -1
- package/dist-server/device-presence.mjs +1 -1
- package/dist-server/device-probe.mjs +1 -1
- package/dist-server/device-registry.mjs +1 -1
- package/dist-server/device-routes.mjs +1 -1
- package/dist-server/device-runtime.mjs +1 -1
- package/dist-server/device-session.mjs +1 -1
- package/dist-server/ffmpeg.mjs +1 -1
- package/dist-server/gamepad-rumble.mjs +1 -1
- package/dist-server/gimbal-control.mjs +1 -1
- package/dist-server/home-path.mjs +1 -1
- package/dist-server/http-header.mjs +1 -1
- package/dist-server/index.mjs +1 -1
- package/dist-server/ir-import-validate.mjs +1 -1
- package/dist-server/known-scan-device.mjs +1 -1
- package/dist-server/lan-discover.mjs +1 -1
- package/dist-server/listen-port.mjs +1 -1
- package/dist-server/mcp/backoff.mjs +1 -1
- package/dist-server/mcp/bridge-manager.mjs +1 -1
- package/dist-server/mcp/builtin-tools.mjs +1 -1
- package/dist-server/mcp/dedupe-servers.mjs +1 -1
- package/dist-server/mcp/doctor.mjs +1 -1
- package/dist-server/mcp/fixtures/echo-mcp.mjs +1 -1
- package/dist-server/mcp/fixtures/hotkey-mcp.mjs +1 -1
- package/dist-server/mcp/fixtures/mihome-mcp.mjs +1 -1
- package/dist-server/mcp/fixtures/onvif-mcp.mjs +1 -1
- package/dist-server/mcp/fixtures/shell-mcp.mjs +1 -1
- package/dist-server/mcp/fixtures/yunxiangji-mcp.mjs +1 -1
- package/dist-server/mcp/hotkey-agent-docs.mjs +1 -1
- package/dist-server/mcp/hotkey-capture-session.mjs +1 -1
- package/dist-server/mcp/hotkey-driver.mjs +1 -1
- package/dist-server/mcp/hotkey-handlers.mjs +1 -1
- package/dist-server/mcp/hotkey-import-validate.mjs +1 -1
- package/dist-server/mcp/hotkey-store.mjs +1 -1
- package/dist-server/mcp/hotkey-tokens.mjs +1 -1
- package/dist-server/mcp/http-client.mjs +1 -1
- package/dist-server/mcp/http-pipe.mjs +1 -1
- package/dist-server/mcp/local-probe.mjs +1 -1
- package/dist-server/mcp/marketplace.mjs +1 -1
- package/dist-server/mcp/mcp-tool-filter.mjs +1 -1
- package/dist-server/mcp/onvif-handlers.mjs +1 -1
- package/dist-server/mcp/parse-server-json.mjs +1 -1
- package/dist-server/mcp/paths.mjs +1 -1
- package/dist-server/mcp/routes.mjs +1 -1
- package/dist-server/mcp/schema.mjs +1 -1
- package/dist-server/mcp/settings.mjs +1 -1
- package/dist-server/mcp/shell-approval.mjs +1 -1
- package/dist-server/mcp/shell-policy.mjs +1 -1
- package/dist-server/mcp/shell-trash.mjs +1 -1
- package/dist-server/mcp/stdio-command.mjs +1 -1
- package/dist-server/mcp/stdio-launch.mjs +1 -1
- package/dist-server/mcp/stdio-pipe.mjs +1 -1
- package/dist-server/mcp/store.mjs +1 -1
- package/dist-server/mcp/task-notify.mjs +1 -1
- package/dist-server/mcp/ws-connect.mjs +1 -1
- package/dist-server/mcp/xiaozhi-compat.mjs +1 -1
- package/dist-server/mcp/yunxiangji.mjs +1 -1
- package/dist-server/media-cache.mjs +1 -1
- package/dist-server/mihome/cloud.mjs +1 -1
- package/dist-server/mihome/devices.mjs +1 -1
- package/dist-server/mihome/local.mjs +1 -1
- package/dist-server/mihome/mcp-desc.mjs +1 -1
- package/dist-server/mihome/queue.mjs +1 -1
- package/dist-server/mihome/rc4.mjs +1 -1
- package/dist-server/mihome/routes.mjs +1 -1
- package/dist-server/mihome/service.mjs +1 -1
- package/dist-server/mihome/sign.mjs +1 -1
- package/dist-server/mihome/spec.mjs +1 -1
- package/dist-server/mihome/store.mjs +1 -1
- package/dist-server/onboard-preview.mjs +1 -1
- package/dist-server/onvif-ws-discover.mjs +1 -1
- package/dist-server/spa-fallback.mjs +1 -1
- package/dist-server/tab-focus.mjs +1 -1
- package/dist-server/voice-wake.mjs +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const _0x4d54ac=_0x49b8;(function(_0x57b443,_0x181f2e){const _0x4584b1=_0x49b8,_0x579294=_0x57b443();while(!![]){try{const _0x51fe42=-parseInt(_0x4584b1(0xdc))/0x1+parseInt(_0x4584b1(0xe5))/0x2*(-parseInt(_0x4584b1(0xe8))/0x3)+parseInt(_0x4584b1(0xe6))/0x4+parseInt(_0x4584b1(0xe0))/0x5+parseInt(_0x4584b1(0xed))/0x6*(-parseInt(_0x4584b1(0xe1))/0x7)+parseInt(_0x4584b1(0xdb))/0x8*(-parseInt(_0x4584b1(0xe9))/0x9)+parseInt(_0x4584b1(0xf7))/0xa;if(_0x51fe42===_0x181f2e)break;else _0x579294['push'](_0x579294['shift']());}catch(_0x1bac53){_0x579294['push'](_0x579294['shift']());}}}(_0x43ba,0x887d4));export const BOARD_ONVIF='moss-o'+'nvif';export const BOARD_OV2640='moss-o'+_0x4d54ac(0xf1);export const BOARD_PCB_V1=_0x4d54ac(0xf8)+_0x4d54ac(0xe4);export const BOARD_CAMERA_TD=_0x4d54ac(0xe3)+_0x4d54ac(0xd9)+'td';function _0x43ba(){const _0x512419=['yM9HCMq','5P2/6l296kEg6kEj','q2fTzxjH','mtiWuNjRB1r6','ifre','CMvHzc1J','DhjPBq','DJi2nda','ChjVzhvJ','BMfTzq','uenciejV','6z2I5yYf5P2/','Aw5JBhvK','mtiXmtmZntbwthjdv00','Bw9ZCY1W','tu9tuW','yw1LCMeT','zgv2AwnL','odu2yNnjvhb3','ntyWmJv2tg1Xsxi','y2iTyM9H','B21Wywn0','5Asw5O6L6kEg6kEj','nda0nJaYmg9gANHzqG','mJeXodyYuMDMyu5n','uencihyX','Bw9ZCY1J','y2iTDJe','mtq0odiYmhz4BND2Ba','ndeWmZaYmgHcD2HKAG','q2fWCW','m2rMshHosW','oti2nZnusLrQBxy'];_0x43ba=function(){return _0x512419;};return _0x43ba();}export const BOARD_PCB_BOARD=_0x4d54ac(0xf8)+_0x4d54ac(0xdd)+'rd';export const BOARD_BREAD_COMPACT='moss-b'+_0x4d54ac(0xef)+_0x4d54ac(0xde);export const KNOWN_BOARDS=[BOARD_ONVIF,BOARD_OV2640,BOARD_PCB_V1,BOARD_CAMERA_TD,BOARD_PCB_BOARD,BOARD_BREAD_COMPACT];function isKnownBoard(_0x3d4571){const _0xf7c18c=_0x4d54ac;return KNOWN_BOARDS[_0xf7c18c(0xf6)+'es'](_0x3d4571);}function _0x49b8(_0x503f8d,_0x56d230){_0x503f8d=_0x503f8d-0xd9;const _0x43ba42=_0x43ba();let _0x49b86f=_0x43ba42[_0x503f8d];if(_0x49b8['rHeQOB']===undefined){var _0xced927=function(_0x2b9938){const _0x3abee9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3d4571='',_0x3e0d54='';for(let _0x86a1e=0x0,_0x56f569,_0x216da5,_0x4abb0e=0x0;_0x216da5=_0x2b9938['charAt'](_0x4abb0e++);~_0x216da5&&(_0x56f569=_0x86a1e%0x4?_0x56f569*0x40+_0x216da5:_0x216da5,_0x86a1e++%0x4)?_0x3d4571+=String['fromCharCode'](0xff&_0x56f569>>(-0x2*_0x86a1e&0x6)):0x0){_0x216da5=_0x3abee9['indexOf'](_0x216da5);}for(let _0xdee2cb=0x0,_0x24f279=_0x3d4571['length'];_0xdee2cb<_0x24f279;_0xdee2cb++){_0x3e0d54+='%'+('00'+_0x3d4571['charCodeAt'](_0xdee2cb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3e0d54);};_0x49b8['tjldDr']=_0xced927,_0x49b8['cyFngC']={},_0x49b8['rHeQOB']=!![];}const _0x4bc62a=_0x43ba42[0x0],_0x2a2d8b=_0x503f8d+_0x4bc62a,_0x4ac14c=_0x49b8['cyFngC'][_0x2a2d8b];return!_0x4ac14c?(_0x49b86f=_0x49b8['tjldDr'](_0x49b86f),_0x49b8['cyFngC'][_0x2a2d8b]=_0x49b86f):_0x49b86f=_0x4ac14c,_0x49b86f;}export function resolveBoard(_0x3e0d54={}){const _0x6f7a6c=_0x4d54ac,_0x86a1e=String(_0x3e0d54[_0x6f7a6c(0xea)]||'')['trim']();if(isKnownBoard(_0x86a1e))return _0x86a1e;const _0x56f569=String(_0x3e0d54[_0x6f7a6c(0xf3)]||'')[_0x6f7a6c(0xf0)]();if(isKnownBoard(_0x56f569))return _0x56f569;return BOARD_ONVIF;}export function boardTypeLabel(_0x216da5){const _0x3dce5f=_0x4d54ac;if(_0x216da5===BOARD_OV2640)return _0x3dce5f(0xeb);if(_0x216da5===BOARD_ONVIF)return _0x3dce5f(0xdf);if(_0x216da5===BOARD_PCB_V1)return _0x3dce5f(0xe2);if(_0x216da5===BOARD_CAMERA_TD)return _0x3dce5f(0xec)+_0x3dce5f(0xee);if(_0x216da5===BOARD_PCB_BOARD)return _0x3dce5f(0xf4)+'ard';if(_0x216da5===BOARD_BREAD_COMPACT)return _0x3dce5f(0xf5);return _0x3dce5f(0xf9);}export function capsForBoard(_0x4abb0e){const _0xdee2cb=_0x4abb0e===BOARD_OV2640,_0x24f279=_0x4abb0e===BOARD_PCB_V1||_0x4abb0e===BOARD_CAMERA_TD||_0x4abb0e===BOARD_PCB_BOARD||_0x4abb0e===BOARD_BREAD_COMPACT;return{'onboard_camera':_0xdee2cb,'onboard_preview':![],'ir':!![],'gimbal':_0xdee2cb,'face_track':_0xdee2cb,'lamps':!![],'panel':!_0x24f279,'bottom':!_0x24f279,'motor':!_0x24f279};}export function normalizeCaps(_0x106015={}){return capsForBoard(resolveBoard(_0x106015));}export function applyDeviceHealthTo(_0x4c7acc,_0x4fc609){const _0x2d66a0=_0x4d54ac;if(!_0x4fc609||typeof _0x4fc609!=='object')return _0x4c7acc;const _0x236550=resolveBoard(_0x4fc609);if(_0x4fc609[_0x2d66a0(0xf2)+'t'])_0x4c7acc[_0x2d66a0(0xf2)+'t']=_0x4fc609[_0x2d66a0(0xf2)+'t'];return _0x4c7acc[_0x2d66a0(0xea)]=_0x236550,_0x4c7acc[_0x2d66a0(0xda)+_0x2d66a0(0xe7)]=capsForBoard(_0x236550),_0x4c7acc;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x242509=_0x496b;function _0x2561(){const _0x200b32=['ywrKCMvZ','Cg9YDa','CgXHDgzV','Aw50zxjU','nZa1ntC2owXUsvjkwG','AwDUB3jL','DMfSDwvZ','l2rLDMLJ','AgfZ','BMv0C3rH','lxjU','Aw5JBhvK','D2LUmZi','l29UDMLM','mta3nZaWnZjQA2jbveK','Cgf0Aa','DhjPBq','mtCYlJe2','oc4W','AwnL','zMfTAwX5','lJaVmJq','ChvZAa','mtKYlJe2','zxHLyW','zNvUy3rP','ic0+ia','ihnJyw4G','zv9Zzxj2','zgv4','zMLUza','C29Tzq','A0LUDgvY','mtaUmc4W','BMv0BwfZ','B252Awy','Axnoyu4','mti3mJK5ofD4sxryEG','Bg9N','ywrK','mJaYmtbgAunhAfG','BwfW','svb2na','AM9PBG','ignVBMn1','A2LUza','oc4X','DgfZA3m9','DxjU','oc4Y','mJu1lJi1','Ag9ZDg5H','AgfYzhDH','ntKWodK4mfPAtvnAqq','Dg9mB3DL','C2XPy2u','C3bSAxq','BgvUz3rO','nhvcD0voEq','CKnHC2u','w29UDMLM','BMv0D29Y','zMfJzxm','mtm3n0DSB2LnrW','BgfZDeLU','xsbZB2fW','CM91Dgu','mJiYmZq2ofrvrNrRyG','BMfTzq','zNjVBq','ywXS','zMLUzeLU','m0f3txfWqq','ns4YntuU','mteYmda5nvzRugDywG'];_0x2561=function(){return _0x200b32;};return _0x2561();}(function(_0x395022,_0x13b92d){const _0x54fd64=_0x496b,_0xc4553f=_0x395022();while(!![]){try{const _0x3c80ed=-parseInt(_0x54fd64(0x109))/0x1+parseInt(_0x54fd64(0xe4))/0x2*(parseInt(_0x54fd64(0x107))/0x3)+parseInt(_0x54fd64(0xf9))/0x4*(-parseInt(_0x54fd64(0xf4))/0x5)+parseInt(_0x54fd64(0x102))/0x6+parseInt(_0x54fd64(0x10e))/0x7+parseInt(_0x54fd64(0x118))/0x8+-parseInt(_0x54fd64(0xfe))/0x9*(parseInt(_0x54fd64(0xe7))/0xa);if(_0x3c80ed===_0x13b92d)break;else _0xc4553f['push'](_0xc4553f['shift']());}catch(_0x4703ab){_0xc4553f['push'](_0xc4553f['shift']());}}}(_0x2561,0xb7277));import _0x5645d7 from'node:os';import{execFileSync}from'node:child_process';export const ONVIF_LAN_PORTS=[0x50,0x1f40,0x1f90,0x22c3,0x7e4,0x2704];export const ONVIF_LAN_SOAP_MS=0x1f4;export const ONVIF_LAN_CONCURRENCY=0x320;export const COMMON_CAMERA_SUBNETS=[_0x242509(0x121)+_0x242509(0xed),_0x242509(0x121)+_0x242509(0x11c),'192.16'+_0x242509(0xf0),_0x242509(0x12b),_0x242509(0x11b)+'.0'];function isIpv4Host(_0x15cb0c){const _0x5068dd=_0x242509;return/^\d{1,3}(?:\.\d{1,3}){3}$/['test'](String(_0x15cb0c||'')[_0x5068dd(0x11a)]());}export function sameHost(_0x37d769,_0x38a92d){const _0x2a5ce1=_0x242509;return String(_0x37d769||'')['trim']()[_0x2a5ce1(0xf5)+_0x2a5ce1(0xfa)]()===String(_0x38a92d||'')[_0x2a5ce1(0x11a)]()[_0x2a5ce1(0xf5)+_0x2a5ce1(0xfa)]();}export function isPrivatePrefix(_0x56fdc9){const _0x34712c=_0x242509,_0x5f0670=String(_0x56fdc9||'')[_0x34712c(0xf7)]('.')[_0x34712c(0xe8)](Number);if(_0x5f0670['length']<0x2||_0x5f0670[_0x34712c(0x129)](_0x24cc8a=>Number['isNaN'](_0x24cc8a)))return![];const [_0x14accc,_0xfb2892]=_0x5f0670;if(_0x14accc===0xa)return!![];if(_0x14accc===0xac&&_0xfb2892>=0x10&&_0xfb2892<=0x1f)return!![];if(_0x14accc===0xc0&&_0xfb2892===0xa8)return!![];return![];}export function prefixFromIpv4(_0x590a24,_0x36cfba=_0x242509(0xf1)+_0x242509(0x108)+'0'){const _0x4df02e=_0x242509,_0x689444=String(_0x590a24||'')[_0x4df02e(0xf7)]('.')[_0x4df02e(0xe8)](Number),_0x48cd44=String(_0x36cfba||_0x4df02e(0xf1)+_0x4df02e(0x108)+'0')[_0x4df02e(0xf7)]('.')['map'](Number);if(_0x689444[_0x4df02e(0xf8)]!==0x4||_0x689444['some'](_0x7b9d2d=>Number[_0x4df02e(0xe3)](_0x7b9d2d)))return'';const _0x467571=_0x689444[_0x4df02e(0xe8)]((_0x11bb0b,_0x1757bd)=>_0x11bb0b&(Number[_0x4df02e(0xe3)](_0x48cd44[_0x1757bd])?0x0:_0x48cd44[_0x1757bd]));if(_0x467571[0x0]===0xa9&&_0x467571[0x1]===0xfe)return'';return _0x467571[0x0]+'.'+_0x467571[0x1]+'.'+_0x467571[0x2];}export function parseRoutePrefixes(_0x453923){const _0xcc6e61=_0x242509,_0x527834=new Set(),_0x42c24c=String(_0x453923||''),_0x4e013=[/(\d+\.\d+\.\d+)\.0(?:\s|\/)/g,/(\d+\.\d+\.\d+)\.0\/\d+/g];for(const _0x3c3241 of _0x4e013){_0x3c3241[_0xcc6e61(0xff)+_0xcc6e61(0x127)]=0x0;let _0x38fd51;while(_0x38fd51=_0x3c3241[_0xcc6e61(0x122)](_0x42c24c)){if(isPrivatePrefix(_0x38fd51[0x1]))_0x527834[_0xcc6e61(0xe6)](_0x38fd51[0x1]);}}return[..._0x527834];}function readRouteTable(){const _0x2f1a44=_0x242509,_0x4e87e1=process[_0x2f1a44(0x10c)+'rm']===_0x2f1a44(0x116)?[[_0x2f1a44(0x113)+'t',[_0x2f1a44(0x114)]]]:[[_0x2f1a44(0x113)+'t',[_0x2f1a44(0x114)]],[_0x2f1a44(0x101),['-n']],['ip',[_0x2f1a44(0x101)]]];for(const [_0x53b5b6,_0x3f51e7]of _0x4e87e1){try{return execFileSync(_0x53b5b6,_0x3f51e7,{'encoding':'utf8','timeout':0xbb8,'stdio':[_0x2f1a44(0x10f),'pipe',_0x2f1a44(0x10f)]});}catch{}}return'';}export function discoverOnvifSubnets({ifaces:_0x509d9e,routeText:_0xe2f5b4,includeCommon:includeCommon=!![]}={}){const _0x3d66ed=_0x242509;let _0x165425=_0x509d9e;if(!_0x165425)try{_0x165425=_0x5645d7[_0x3d66ed(0xfc)+_0x3d66ed(0x12a)+'faces']();}catch{_0x165425={};}const _0x456a69=new Set();for(const [_0x4df41b,_0x46e3a0]of Object['entrie'+'s'](_0x165425||{})){for(const _0x45a20f of _0x46e3a0||[]){if(_0x45a20f[_0x3d66ed(0x10d)+'al'])continue;if(_0x45a20f[_0x3d66ed(0x11e)]!==0x4&&_0x45a20f[_0x3d66ed(0x11e)]!==_0x3d66ed(0xe9))continue;const _0x1d6a3e=prefixFromIpv4(_0x45a20f[_0x3d66ed(0x10a)+'s'],_0x45a20f[_0x3d66ed(0x12c)+'k']);if(!_0x1d6a3e||!isPrivatePrefix(_0x1d6a3e))continue;_0x456a69[_0x3d66ed(0xe6)](_0x1d6a3e);if(includeCommon)console[_0x3d66ed(0xe5)]('[onvif'+']\x20ifac'+'e\x20'+_0x4df41b+'\x20'+_0x45a20f[_0x3d66ed(0x10a)+'s']+_0x3d66ed(0x124)+_0x1d6a3e+_0x3d66ed(0x11f));}}const _0x150693=_0xe2f5b4===undefined?readRouteTable():_0xe2f5b4;for(const _0x30379c of parseRoutePrefixes(_0x150693))_0x456a69['add'](_0x30379c);if(includeCommon){for(const _0x589382 of COMMON_CAMERA_SUBNETS)_0x456a69[_0x3d66ed(0xe6)](_0x589382);}return[..._0x456a69];}export function lanPrefixesFromIfaces(_0x1f7f7b=_0x5645d7[_0x242509(0xfc)+_0x242509(0x12a)+_0x242509(0xfd)]()){return discoverOnvifSubnets({'ifaces':_0x1f7f7b,'routeText':'','includeCommon':![]});}export function hostOnLocalLan(_0xda1ecb,_0x40d47d=[]){const _0x2c15c5=_0x242509,_0x1380f4=String(_0xda1ecb||'')[_0x2c15c5(0x11a)]();if(!isIpv4Host(_0x1380f4))return![];const _0x116cca=_0x1380f4[_0x2c15c5(0xf7)]('.')[_0x2c15c5(0xf6)](0x0,0x3)[_0x2c15c5(0xea)]('.');return _0x40d47d[_0x2c15c5(0x115)+'es'](_0x116cca);}function _0x496b(_0x4aea36,_0x341062){_0x4aea36=_0x4aea36-0xe3;const _0x256172=_0x2561();let _0x496b45=_0x256172[_0x4aea36];if(_0x496b['mfDzha']===undefined){var _0x362edf=function(_0x3113f6){const _0x30bf27='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5645d7='',_0x15cb0c='';for(let _0x37d769=0x0,_0x38a92d,_0x56fdc9,_0x5f0670=0x0;_0x56fdc9=_0x3113f6['charAt'](_0x5f0670++);~_0x56fdc9&&(_0x38a92d=_0x37d769%0x4?_0x38a92d*0x40+_0x56fdc9:_0x56fdc9,_0x37d769++%0x4)?_0x5645d7+=String['fromCharCode'](0xff&_0x38a92d>>(-0x2*_0x37d769&0x6)):0x0){_0x56fdc9=_0x30bf27['indexOf'](_0x56fdc9);}for(let _0x14accc=0x0,_0xfb2892=_0x5645d7['length'];_0x14accc<_0xfb2892;_0x14accc++){_0x15cb0c+='%'+('00'+_0x5645d7['charCodeAt'](_0x14accc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15cb0c);};_0x496b['ZAkozz']=_0x362edf,_0x496b['gECReP']={},_0x496b['mfDzha']=!![];}const _0x3ef89d=_0x256172[0x0],_0x3dca0a=_0x4aea36+_0x3ef89d,_0x5ed7ab=_0x496b['gECReP'][_0x3dca0a];return!_0x5ed7ab?(_0x496b45=_0x496b['ZAkozz'](_0x496b45),_0x496b['gECReP'][_0x3dca0a]=_0x496b45):_0x496b45=_0x5ed7ab,_0x496b45;}export function deviceKey(_0x4bd4a8){const _0x57057c=_0x242509;if(!_0x4bd4a8?.['hostna'+'me'])return'';return String(_0x4bd4a8['hostna'+'me'])[_0x57057c(0x11a)]()[_0x57057c(0xf5)+_0x57057c(0xfa)]()+':'+Number(_0x4bd4a8[_0x57057c(0x10b)]||0x50)+(_0x4bd4a8[_0x57057c(0x119)]||'/onvif'+_0x57057c(0x111)+_0x57057c(0x126)+_0x57057c(0x11d));}export function mergeCameraDevices(_0x5ec3c3,_0x2aab2f){const _0x21eaae=_0x242509;if(!_0x2aab2f?.[_0x21eaae(0xf2)+'me'])return _0x5ec3c3;const _0x481de5={'hostname':String(_0x2aab2f[_0x21eaae(0xf2)+'me'])[_0x21eaae(0x11a)](),'port':Number(_0x2aab2f[_0x21eaae(0x10b)]||0x50)||0x50,'path':String(_0x2aab2f[_0x21eaae(0x119)]||_0x21eaae(0x117)+'/devic'+_0x21eaae(0x126)+_0x21eaae(0x11d))[_0x21eaae(0x11a)]()||_0x21eaae(0x117)+_0x21eaae(0x111)+_0x21eaae(0x126)+'ice','urn':_0x2aab2f[_0x21eaae(0xef)]||'','name':_0x2aab2f[_0x21eaae(0x103)]||_0x2aab2f[_0x21eaae(0xf2)+'me'],'hardware':_0x2aab2f[_0x21eaae(0xf3)+'re']||'','kind':_0x2aab2f[_0x21eaae(0xec)]||_0x21eaae(0x12d)},_0x17d19a=_0x5ec3c3[_0x21eaae(0x106)+_0x21eaae(0x127)](_0x4ccc46=>sameHost(_0x4ccc46[_0x21eaae(0xf2)+'me'],_0x481de5[_0x21eaae(0xf2)+'me']));if(_0x17d19a>=0x0){const _0x4b922e=_0x5ec3c3[_0x17d19a];if(!_0x4b922e[_0x21eaae(0xf3)+'re']&&_0x481de5[_0x21eaae(0xf3)+'re'])_0x4b922e[_0x21eaae(0xf3)+'re']=_0x481de5[_0x21eaae(0xf3)+'re'];if(_0x4b922e[_0x21eaae(0x103)]===_0x4b922e[_0x21eaae(0xf2)+'me']&&_0x481de5[_0x21eaae(0x103)]&&_0x481de5[_0x21eaae(0x103)]!==_0x481de5[_0x21eaae(0xf2)+'me'])_0x4b922e[_0x21eaae(0x103)]=_0x481de5['name'];return _0x4b922e[_0x21eaae(0x10b)]===0x50&&_0x481de5[_0x21eaae(0x10b)]!==0x50&&(_0x4b922e['port']=_0x481de5[_0x21eaae(0x10b)],_0x4b922e[_0x21eaae(0x119)]=_0x481de5['path']),_0x5ec3c3;}const _0x4fdc6c=deviceKey(_0x481de5);if(!_0x5ec3c3[_0x21eaae(0x129)](_0x2f4707=>deviceKey(_0x2f4707)===_0x4fdc6c))_0x5ec3c3[_0x21eaae(0x120)](_0x481de5);return _0x5ec3c3;}export function collectCameraDevices(_0xade0d2){const _0x558f3c=[];for(const _0x96703c of _0xade0d2||[]){for(const _0x42315e of _0x96703c||[])mergeCameraDevices(_0x558f3c,_0x42315e);}return _0x558f3c;}export function pickOnvifAdvertisement({advertised:advertised=[],sourceHost:sourceHost='',prefixes:prefixes=[]}={}){const _0x2aec46=_0x242509,_0x1ab5c1=String(sourceHost||'')['trim'](),_0x37bb6a=(advertised||[])['filter'](_0x5a72b6=>_0x5a72b6?.[_0x2aec46(0xf2)+'me']),_0x39eda0=hostOnLocalLan(_0x1ab5c1,prefixes),_0x41f230=_0x37bb6a['filter'](_0x4eeecf=>hostOnLocalLan(_0x4eeecf[_0x2aec46(0xf2)+'me'],prefixes)),_0x920dfd=_0x37bb6a[_0x2aec46(0x128)](_0x1e5748=>sameHost(_0x1e5748[_0x2aec46(0xf2)+'me'],_0x1ab5c1))||_0x41f230[0x0]||_0x37bb6a[0x0];if(_0x39eda0)return{'hostname':_0x1ab5c1,'port':Number(_0x920dfd?.[_0x2aec46(0x10b)]||0x50)||0x50,'path':_0x920dfd?.['path']||'/onvif'+_0x2aec46(0x111)+_0x2aec46(0x126)+_0x2aec46(0x11d)};if(_0x41f230[0x0])return{..._0x41f230[0x0]};if(_0x920dfd)return{..._0x920dfd};if(_0x1ab5c1)return{'hostname':_0x1ab5c1,'port':0x50,'path':'/onvif'+_0x2aec46(0x111)+_0x2aec46(0x126)+_0x2aec46(0x11d)};return null;}export function lanScanTargets(_0x2b1f30,_0x590094=ONVIF_LAN_PORTS,_0x5a8913=new Set()){const _0x422c18=_0x242509,_0x7ae221=[];for(const _0x1f1bcb of _0x2b1f30||[]){for(let _0x35c16f=0x1;_0x35c16f<=0xfe;_0x35c16f+=0x1){const _0x4d8c6e=_0x1f1bcb+'.'+_0x35c16f;if(_0x5a8913[_0x422c18(0x112)](_0x4d8c6e))continue;for(const _0x190017 of _0x590094)_0x7ae221['push']({'hostname':_0x4d8c6e,'port':_0x190017});}}return _0x7ae221;}async function mapPool(_0x5e524d,_0x53102f,_0x433a7e){const _0xfd4a63=_0x242509,_0x50e828=new Array(_0x5e524d[_0xfd4a63(0xf8)]);let _0x582691=0x0;async function _0x5757d2(){const _0x40a62b=_0xfd4a63;while(_0x582691<_0x5e524d[_0x40a62b(0xf8)]){const _0x2dfd9c=_0x582691++;_0x50e828[_0x2dfd9c]=await _0x433a7e(_0x5e524d[_0x2dfd9c],_0x2dfd9c);}}const _0x2ecbf9=Math['max'](0x1,Math['min'](_0x53102f,_0x5e524d[_0xfd4a63(0xf8)]||0x1));return await Promise[_0xfd4a63(0x105)](Array[_0xfd4a63(0x104)]({'length':_0x2ecbf9},()=>_0x5757d2())),_0x50e828;}function localIpv4s(_0x8015eb){const _0x15711a=_0x242509,_0x31f929=new Set();let _0x15d390=_0x8015eb;if(!_0x15d390)try{_0x15d390=_0x5645d7['networ'+'kInter'+'faces']();}catch{return _0x31f929;}for(const _0x330128 of Object[_0x15711a(0x110)](_0x15d390||{})){for(const _0x1da5b3 of _0x330128||[]){if(_0x1da5b3[_0x15711a(0x10d)+'al'])continue;if(_0x1da5b3[_0x15711a(0x11e)]!==0x4&&_0x1da5b3[_0x15711a(0x11e)]!==_0x15711a(0xe9))continue;if(_0x1da5b3[_0x15711a(0x10a)+'s'])_0x31f929['add'](_0x1da5b3[_0x15711a(0x10a)+'s']);}}return _0x31f929;}export async function keepReachableOnvif(_0xbfc553,_0x4e0fb5,_0x135c38=0x258){const _0xa0aef6=[];return await mapPool(_0xbfc553||[],0x18,async _0xd56bf7=>{const _0x1a090b=_0x496b;if(!_0xd56bf7?.[_0x1a090b(0xf2)+'me'])return;const _0x53db4f=await _0x4e0fb5(_0xd56bf7['hostna'+'me'],_0xd56bf7[_0x1a090b(0x10b)],_0x135c38);if(_0x53db4f)_0xa0aef6[_0x1a090b(0x120)](_0xd56bf7);}),collectCameraDevices([_0xa0aef6]);}export async function scanLanOnvifHosts({prefixes:prefixes=discoverOnvifSubnets(),ports:ports=ONVIF_LAN_PORTS,fingerprint:_0x500186,concurrency:concurrency=ONVIF_LAN_CONCURRENCY,skipHosts:skipHosts=localIpv4s()}={}){const _0x54095f=_0x242509;if(typeof _0x500186!==_0x54095f(0x123)+'on')return[];const _0x3c35dd=lanScanTargets(prefixes,ports,skipHosts);console['log'](_0x54095f(0xfb)+_0x54095f(0x100)+_0x54095f(0x125)+_0x54095f(0xee)+_0x3c35dd[_0x54095f(0xf8)]+(_0x54095f(0xeb)+'rrency'+'=')+concurrency+('\x20ports'+'=')+ports[_0x54095f(0xea)]('/')+('\x20subne'+'ts=')+(prefixes['join'](',')||'-'));const _0x3181fa=[];return await mapPool(_0x3c35dd,concurrency,async _0x158844=>{const _0xa2fc85=_0x54095f,_0x13f086=_0xa2fc85(0x117)+_0xa2fc85(0x111)+_0xa2fc85(0x126)+'ice',_0x3b0412=await _0x500186(_0x158844[_0xa2fc85(0xf2)+'me'],_0x158844[_0xa2fc85(0x10b)],_0x13f086);if(!_0x3b0412)return;mergeCameraDevices(_0x3181fa,{'hostname':_0x158844[_0xa2fc85(0xf2)+'me'],'port':_0x158844['port'],'path':_0x13f086,'name':_0x158844['hostna'+'me'],'hardware':''});}),_0x3181fa;}
|
|
1
|
+
const _0x273025=_0x1848;(function(_0x4834b7,_0x504979){const _0x34b71f=_0x1848,_0x22f9f8=_0x4834b7();while(!![]){try{const _0x3743d4=parseInt(_0x34b71f(0x1e3))/0x1+-parseInt(_0x34b71f(0x20e))/0x2*(parseInt(_0x34b71f(0x20f))/0x3)+-parseInt(_0x34b71f(0x1de))/0x4*(-parseInt(_0x34b71f(0x208))/0x5)+-parseInt(_0x34b71f(0x205))/0x6+-parseInt(_0x34b71f(0x1eb))/0x7*(parseInt(_0x34b71f(0x1f4))/0x8)+parseInt(_0x34b71f(0x1f7))/0x9+parseInt(_0x34b71f(0x1ec))/0xa;if(_0x3743d4===_0x504979)break;else _0x22f9f8['push'](_0x22f9f8['shift']());}catch(_0x524a72){_0x22f9f8['push'](_0x22f9f8['shift']());}}}(_0x2e6b,0xb56e3));import _0x5565ef from'node:os';function _0x1848(_0x18231c,_0x186aa6){_0x18231c=_0x18231c-0x1dc;const _0x2e6b55=_0x2e6b();let _0x18485c=_0x2e6b55[_0x18231c];if(_0x1848['OjRwlz']===undefined){var _0x57a88c=function(_0x988084){const _0x4c0834='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5565ef='',_0x194627='';for(let _0x32d7de=0x0,_0x4bec5f,_0x13ee81,_0x15e270=0x0;_0x13ee81=_0x988084['charAt'](_0x15e270++);~_0x13ee81&&(_0x4bec5f=_0x32d7de%0x4?_0x4bec5f*0x40+_0x13ee81:_0x13ee81,_0x32d7de++%0x4)?_0x5565ef+=String['fromCharCode'](0xff&_0x4bec5f>>(-0x2*_0x32d7de&0x6)):0x0){_0x13ee81=_0x4c0834['indexOf'](_0x13ee81);}for(let _0x55419d=0x0,_0x170191=_0x5565ef['length'];_0x55419d<_0x170191;_0x55419d++){_0x194627+='%'+('00'+_0x5565ef['charCodeAt'](_0x55419d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x194627);};_0x1848['FLAZqk']=_0x57a88c,_0x1848['jwBLue']={},_0x1848['OjRwlz']=!![];}const _0x21ae7b=_0x2e6b55[0x0],_0x3c9ced=_0x18231c+_0x21ae7b,_0x20b059=_0x1848['jwBLue'][_0x3c9ced];return!_0x20b059?(_0x18485c=_0x1848['FLAZqk'](_0x18485c),_0x1848['jwBLue'][_0x3c9ced]=_0x18485c):_0x18485c=_0x20b059,_0x18485c;}import{execFileSync}from'node:child_process';export const ONVIF_LAN_PORTS=[0x50,0x1f40,0x1f90,0x22c3,0x7e4,0x2704];export const ONVIF_LAN_SOAP_MS=0x1f4;export const ONVIF_LAN_CONCURRENCY=0x320;export const COMMON_CAMERA_SUBNETS=[_0x273025(0x209)+'8.1','192.16'+'8.0',_0x273025(0x209)+_0x273025(0x1f1),'10.0.0',_0x273025(0x21e)+'.0'];function isIpv4Host(_0x194627){const _0x4721a1=_0x273025;return/^\d{1,3}(?:\.\d{1,3}){3}$/[_0x4721a1(0x1e0)](String(_0x194627||'')[_0x4721a1(0x228)]());}export function sameHost(_0x32d7de,_0x4bec5f){const _0x3f07a4=_0x273025;return String(_0x32d7de||'')[_0x3f07a4(0x228)]()[_0x3f07a4(0x1e8)+_0x3f07a4(0x203)]()===String(_0x4bec5f||'')[_0x3f07a4(0x228)]()[_0x3f07a4(0x1e8)+_0x3f07a4(0x203)]();}export function isPrivatePrefix(_0x13ee81){const _0x370fd0=_0x273025,_0x15e270=String(_0x13ee81||'')[_0x370fd0(0x206)]('.')[_0x370fd0(0x1ed)](Number);if(_0x15e270[_0x370fd0(0x211)]<0x2||_0x15e270[_0x370fd0(0x1f6)](_0x2db6db=>Number[_0x370fd0(0x20c)](_0x2db6db)))return![];const [_0x55419d,_0x170191]=_0x15e270;if(_0x55419d===0xa)return!![];if(_0x55419d===0xac&&_0x170191>=0x10&&_0x170191<=0x1f)return!![];if(_0x55419d===0xc0&&_0x170191===0xa8)return!![];return![];}export function prefixFromIpv4(_0xebe143,_0x4cc12b=_0x273025(0x1f8)+_0x273025(0x210)+'0'){const _0x1dc5b0=_0x273025,_0x3a1cef=String(_0xebe143||'')[_0x1dc5b0(0x206)]('.')[_0x1dc5b0(0x1ed)](Number),_0x168de2=String(_0x4cc12b||_0x1dc5b0(0x1f8)+_0x1dc5b0(0x210)+'0')['split']('.')[_0x1dc5b0(0x1ed)](Number);if(_0x3a1cef[_0x1dc5b0(0x211)]!==0x4||_0x3a1cef[_0x1dc5b0(0x1f6)](_0x25c372=>Number[_0x1dc5b0(0x20c)](_0x25c372)))return'';const _0x2403de=_0x3a1cef[_0x1dc5b0(0x1ed)]((_0x54c5ac,_0xafb480)=>_0x54c5ac&(Number['isNaN'](_0x168de2[_0xafb480])?0x0:_0x168de2[_0xafb480]));if(_0x2403de[0x0]===0xa9&&_0x2403de[0x1]===0xfe)return'';return _0x2403de[0x0]+'.'+_0x2403de[0x1]+'.'+_0x2403de[0x2];}export function parseRoutePrefixes(_0x3f6468){const _0x4c7a88=_0x273025,_0x1b5381=new Set(),_0x5cd671=String(_0x3f6468||''),_0x311f67=[/(\d+\.\d+\.\d+)\.0(?:\s|\/)/g,/(\d+\.\d+\.\d+)\.0\/\d+/g];for(const _0x50aa93 of _0x311f67){_0x50aa93[_0x4c7a88(0x1ef)+_0x4c7a88(0x215)]=0x0;let _0x40ecfd;while(_0x40ecfd=_0x50aa93[_0x4c7a88(0x1ff)](_0x5cd671)){if(isPrivatePrefix(_0x40ecfd[0x1]))_0x1b5381[_0x4c7a88(0x225)](_0x40ecfd[0x1]);}}return[..._0x1b5381];}function readRouteTable(){const _0x4a97ea=_0x273025,_0x4cbcea=process[_0x4a97ea(0x1e7)+'rm']===_0x4a97ea(0x1fd)?[[_0x4a97ea(0x21c)+'t',[_0x4a97ea(0x201)]]]:[[_0x4a97ea(0x21c)+'t',[_0x4a97ea(0x201)]],[_0x4a97ea(0x227),['-n']],['ip',[_0x4a97ea(0x227)]]];for(const [_0x55c55e,_0x79830b]of _0x4cbcea){try{return execFileSync(_0x55c55e,_0x79830b,{'encoding':_0x4a97ea(0x1e5),'timeout':0xbb8,'stdio':[_0x4a97ea(0x1f3),_0x4a97ea(0x207),_0x4a97ea(0x1f3)]});}catch{}}return'';}export function discoverOnvifSubnets({ifaces:_0x2f8ad3,routeText:_0x25c3a4,includeCommon:includeCommon=!![]}={}){const _0xbe54a4=_0x273025;let _0x4cd28b=_0x2f8ad3;if(!_0x4cd28b)try{_0x4cd28b=_0x5565ef[_0xbe54a4(0x213)+_0xbe54a4(0x224)+_0xbe54a4(0x214)]();}catch{_0x4cd28b={};}const _0x3b4cf6=new Set();for(const [_0x495bca,_0xc377ee]of Object[_0xbe54a4(0x1e2)+'s'](_0x4cd28b||{})){for(const _0x27cf08 of _0xc377ee||[]){if(_0x27cf08[_0xbe54a4(0x20d)+'al'])continue;if(_0x27cf08[_0xbe54a4(0x1fa)]!==0x4&&_0x27cf08['family']!==_0xbe54a4(0x223))continue;const _0x50c4a9=prefixFromIpv4(_0x27cf08[_0xbe54a4(0x1ee)+'s'],_0x27cf08['netmas'+'k']);if(!_0x50c4a9||!isPrivatePrefix(_0x50c4a9))continue;_0x3b4cf6[_0xbe54a4(0x225)](_0x50c4a9);if(includeCommon)console[_0xbe54a4(0x204)]('[onvif'+_0xbe54a4(0x1fe)+'e\x20'+_0x495bca+'\x20'+_0x27cf08[_0xbe54a4(0x1ee)+'s']+_0xbe54a4(0x21d)+_0x50c4a9+_0xbe54a4(0x1e9));}}const _0x4cff62=_0x25c3a4===undefined?readRouteTable():_0x25c3a4;for(const _0x27be52 of parseRoutePrefixes(_0x4cff62))_0x3b4cf6['add'](_0x27be52);if(includeCommon){for(const _0x5db719 of COMMON_CAMERA_SUBNETS)_0x3b4cf6[_0xbe54a4(0x225)](_0x5db719);}return[..._0x3b4cf6];}export function lanPrefixesFromIfaces(_0x446021=_0x5565ef[_0x273025(0x213)+_0x273025(0x224)+_0x273025(0x214)]()){return discoverOnvifSubnets({'ifaces':_0x446021,'routeText':'','includeCommon':![]});}export function hostOnLocalLan(_0x565639,_0x5b2d91=[]){const _0x1661e3=_0x273025,_0x5eb8db=String(_0x565639||'')[_0x1661e3(0x228)]();if(!isIpv4Host(_0x5eb8db))return![];const _0x1d1658=_0x5eb8db[_0x1661e3(0x206)]('.')[_0x1661e3(0x1e1)](0x0,0x3)[_0x1661e3(0x1f9)]('.');return _0x5b2d91[_0x1661e3(0x212)+'es'](_0x1d1658);}export function deviceKey(_0x5b3793){const _0x514b74=_0x273025;if(!_0x5b3793?.[_0x514b74(0x1f5)+'me'])return'';return String(_0x5b3793[_0x514b74(0x1f5)+'me'])[_0x514b74(0x228)]()[_0x514b74(0x1e8)+_0x514b74(0x203)]()+':'+Number(_0x5b3793[_0x514b74(0x226)]||0x50)+(_0x5b3793[_0x514b74(0x218)]||_0x514b74(0x200)+_0x514b74(0x1df)+_0x514b74(0x219)+_0x514b74(0x221));}export function mergeCameraDevices(_0x439c51,_0x47af2c){const _0x1ff9ca=_0x273025;if(!_0x47af2c?.['hostna'+'me'])return _0x439c51;const _0x173265={'hostname':String(_0x47af2c[_0x1ff9ca(0x1f5)+'me'])[_0x1ff9ca(0x228)](),'port':Number(_0x47af2c[_0x1ff9ca(0x226)]||0x50)||0x50,'path':String(_0x47af2c[_0x1ff9ca(0x218)]||_0x1ff9ca(0x200)+_0x1ff9ca(0x1df)+_0x1ff9ca(0x219)+_0x1ff9ca(0x221))[_0x1ff9ca(0x228)]()||'/onvif'+_0x1ff9ca(0x1df)+_0x1ff9ca(0x219)+_0x1ff9ca(0x221),'urn':_0x47af2c[_0x1ff9ca(0x1dd)]||'','name':_0x47af2c[_0x1ff9ca(0x21f)]||_0x47af2c[_0x1ff9ca(0x1f5)+'me'],'hardware':_0x47af2c[_0x1ff9ca(0x21a)+'re']||'','kind':_0x47af2c['kind']||_0x1ff9ca(0x1fb)},_0x47d52b=_0x439c51['findIn'+_0x1ff9ca(0x215)](_0x2d54ce=>sameHost(_0x2d54ce['hostna'+'me'],_0x173265[_0x1ff9ca(0x1f5)+'me']));if(_0x47d52b>=0x0){const _0x83c59f=_0x439c51[_0x47d52b];if(!_0x83c59f['hardwa'+'re']&&_0x173265['hardwa'+'re'])_0x83c59f[_0x1ff9ca(0x21a)+'re']=_0x173265[_0x1ff9ca(0x21a)+'re'];if(_0x83c59f[_0x1ff9ca(0x21f)]===_0x83c59f[_0x1ff9ca(0x1f5)+'me']&&_0x173265[_0x1ff9ca(0x21f)]&&_0x173265[_0x1ff9ca(0x21f)]!==_0x173265[_0x1ff9ca(0x1f5)+'me'])_0x83c59f[_0x1ff9ca(0x21f)]=_0x173265['name'];return _0x83c59f[_0x1ff9ca(0x226)]===0x50&&_0x173265[_0x1ff9ca(0x226)]!==0x50&&(_0x83c59f[_0x1ff9ca(0x226)]=_0x173265[_0x1ff9ca(0x226)],_0x83c59f[_0x1ff9ca(0x218)]=_0x173265[_0x1ff9ca(0x218)]),_0x439c51;}const _0x418987=deviceKey(_0x173265);if(!_0x439c51[_0x1ff9ca(0x1f6)](_0x1e5e14=>deviceKey(_0x1e5e14)===_0x418987))_0x439c51['push'](_0x173265);return _0x439c51;}function _0x2e6b(){const _0x2a8d87=['xsbZB2fW','oc4Y','BwLU','AwDUB3jL','nteWotzzz1vyuu8','Ag9ZDg5H','C29Tzq','nJm3nJG4n1rtAMXgDW','mJu1lJi1','AM9PBG','zMfTAwX5','B252Awy','ChvZAa','D2LUmZi','xsbPzMfJ','zxHLyW','l29UDMLM','lxjU','AgfZ','CKnHC2u','Bg9N','mZG1oteYohn2s3jiCq','C3bSAxq','CgLWzq','mJy1z2LyueTX','mtKYlJe2','zNvUy3rP','zNjVBq','Axnoyu4','Aw50zxjU','nNzpAvzjsa','mZCXote2v2zIy1bM','ns4YntuU','BgvUz3rO','Aw5JBhvK','BMv0D29Y','zMfJzxm','zgv4','ignVBMn1','zMLSDgvY','Cgf0Aa','zv9Zzxj2','AgfYzhDH','Dhm9','BMv0C3rH','ic0+ia','mtCYlJe2','BMfTzq','ihnJyw4G','AwnL','ihbVCNrZ','svb2na','A0LUDgvY','ywrK','Cg9YDa','CM91Dgu','DhjPBq','w29UDMLM','DxjU','nde2otjyANvxs0i','l2rLDMLJ','DgvZDa','C2XPy2u','zw50CMLL','odm3mZi0DhvquNnT','zMLUza','DxrMoa','ywXS','CgXHDgzV','Dg9mB3DL','lJaVmJq','Bwf4','mtqYoeL5BLjqzq','otyYota1mhPHy2XPuq','BwfW','ywrKCMvZ','BgfZDeLU'];_0x2e6b=function(){return _0x2a8d87;};return _0x2e6b();}export function collectCameraDevices(_0x53a82e){const _0x51f723=[];for(const _0x40e4a3 of _0x53a82e||[]){for(const _0x548119 of _0x40e4a3||[])mergeCameraDevices(_0x51f723,_0x548119);}return _0x51f723;}export function pickOnvifAdvertisement({advertised:advertised=[],sourceHost:sourceHost='',prefixes:prefixes=[]}={}){const _0x3ed30c=_0x273025,_0x193b6e=String(sourceHost||'')[_0x3ed30c(0x228)](),_0x3ee508=(advertised||[])['filter'](_0x4bc4f1=>_0x4bc4f1?.[_0x3ed30c(0x1f5)+'me']),_0x54b6a5=hostOnLocalLan(_0x193b6e,prefixes),_0x8fc006=_0x3ee508[_0x3ed30c(0x217)](_0x22eedd=>hostOnLocalLan(_0x22eedd[_0x3ed30c(0x1f5)+'me'],prefixes)),_0x205200=_0x3ee508[_0x3ed30c(0x1e4)](_0x161121=>sameHost(_0x161121[_0x3ed30c(0x1f5)+'me'],_0x193b6e))||_0x8fc006[0x0]||_0x3ee508[0x0];if(_0x54b6a5)return{'hostname':_0x193b6e,'port':Number(_0x205200?.['port']||0x50)||0x50,'path':_0x205200?.[_0x3ed30c(0x218)]||_0x3ed30c(0x200)+'/devic'+_0x3ed30c(0x219)+_0x3ed30c(0x221)};if(_0x8fc006[0x0])return{..._0x8fc006[0x0]};if(_0x205200)return{..._0x205200};if(_0x193b6e)return{'hostname':_0x193b6e,'port':0x50,'path':_0x3ed30c(0x200)+_0x3ed30c(0x1df)+_0x3ed30c(0x219)+_0x3ed30c(0x221)};return null;}export function lanScanTargets(_0x17b369,_0x779bff=ONVIF_LAN_PORTS,_0x57f7c4=new Set()){const _0x4f9f93=_0x273025,_0x400df1=[];for(const _0x26baa7 of _0x17b369||[]){for(let _0x482899=0x1;_0x482899<=0xfe;_0x482899+=0x1){const _0x4044cb=_0x26baa7+'.'+_0x482899;if(_0x57f7c4[_0x4f9f93(0x202)](_0x4044cb))continue;for(const _0x56151f of _0x779bff)_0x400df1[_0x4f9f93(0x1fc)]({'hostname':_0x4044cb,'port':_0x56151f});}}return _0x400df1;}async function mapPool(_0x17da0d,_0x19b078,_0x1cec66){const _0x3657ec=_0x273025,_0x413a94=new Array(_0x17da0d[_0x3657ec(0x211)]);let _0x54bae2=0x0;async function _0x205862(){const _0x4d62ff=_0x3657ec;while(_0x54bae2<_0x17da0d[_0x4d62ff(0x211)]){const _0x4d8210=_0x54bae2++;_0x413a94[_0x4d8210]=await _0x1cec66(_0x17da0d[_0x4d8210],_0x4d8210);}}const _0x37d8f7=Math[_0x3657ec(0x1ea)](0x1,Math[_0x3657ec(0x1f2)](_0x19b078,_0x17da0d[_0x3657ec(0x211)]||0x1));return await Promise[_0x3657ec(0x1e6)](Array[_0x3657ec(0x20b)]({'length':_0x37d8f7},()=>_0x205862())),_0x413a94;}function localIpv4s(_0x1a4e06){const _0x43910f=_0x273025,_0x237642=new Set();let _0x1f1db5=_0x1a4e06;if(!_0x1f1db5)try{_0x1f1db5=_0x5565ef[_0x43910f(0x213)+_0x43910f(0x224)+_0x43910f(0x214)]();}catch{return _0x237642;}for(const _0xe75bbb of Object['values'](_0x1f1db5||{})){for(const _0x3243e8 of _0xe75bbb||[]){if(_0x3243e8['intern'+'al'])continue;if(_0x3243e8['family']!==0x4&&_0x3243e8[_0x43910f(0x1fa)]!==_0x43910f(0x223))continue;if(_0x3243e8['addres'+'s'])_0x237642[_0x43910f(0x225)](_0x3243e8[_0x43910f(0x1ee)+'s']);}}return _0x237642;}export async function keepReachableOnvif(_0x405fe4,_0x287c19,_0x394f0b=0x258){const _0x1a6103=[];return await mapPool(_0x405fe4||[],0x18,async _0x54fa12=>{const _0x541e6e=_0x1848;if(!_0x54fa12?.[_0x541e6e(0x1f5)+'me'])return;const _0x12c026=await _0x287c19(_0x54fa12[_0x541e6e(0x1f5)+'me'],_0x54fa12[_0x541e6e(0x226)],_0x394f0b);if(_0x12c026)_0x1a6103['push'](_0x54fa12);}),collectCameraDevices([_0x1a6103]);}export async function scanLanOnvifHosts({prefixes:prefixes=discoverOnvifSubnets(),ports:ports=ONVIF_LAN_PORTS,fingerprint:_0x3d2de2,concurrency:concurrency=ONVIF_LAN_CONCURRENCY,skipHosts:skipHosts=localIpv4s()}={}){const _0x4038aa=_0x273025;if(typeof _0x3d2de2!==_0x4038aa(0x20a)+'on')return[];const _0x5b041b=lanScanTargets(prefixes,ports,skipHosts);console[_0x4038aa(0x204)](_0x4038aa(0x1dc)+_0x4038aa(0x1f0)+_0x4038aa(0x220)+'tasks='+_0x5b041b[_0x4038aa(0x211)]+(_0x4038aa(0x216)+'rrency'+'=')+concurrency+(_0x4038aa(0x222)+'=')+ports[_0x4038aa(0x1f9)]('/')+('\x20subne'+_0x4038aa(0x21b))+(prefixes['join'](',')||'-'));const _0x6f142e=[];return await mapPool(_0x5b041b,concurrency,async _0x23125e=>{const _0x1d6e42=_0x4038aa,_0x45f351=_0x1d6e42(0x200)+'/devic'+'e_serv'+_0x1d6e42(0x221),_0xb28e59=await _0x3d2de2(_0x23125e[_0x1d6e42(0x1f5)+'me'],_0x23125e[_0x1d6e42(0x226)],_0x45f351);if(!_0xb28e59)return;mergeCameraDevices(_0x6f142e,{'hostname':_0x23125e[_0x1d6e42(0x1f5)+'me'],'port':_0x23125e[_0x1d6e42(0x226)],'path':_0x45f351,'name':_0x23125e['hostna'+'me'],'hardware':''});}),_0x6f142e;}
|