diff --git a/www/icons/mihome.webp b/www/icons/mihome.webp new file mode 100644 index 0000000..869a778 Binary files /dev/null and b/www/icons/mihome.webp differ diff --git a/www/index.html b/www/index.html index 17f39ae..e3d277b 100644 --- a/www/index.html +++ b/www/index.html @@ -327,6 +327,11 @@ return; } + if (data.type === 'xiaomi') { + navigateXiaomi(ip, data); + return; + } + if (data.type === 'standard' || data.reachable) { navigateStandard(ip, data); return; @@ -411,6 +416,36 @@ window.location.href = 'standard.html?' + p.toString(); } + function navigateXiaomi(ip, data) { + var p = new URLSearchParams(); + p.set('ip', ip); + + var probes = data.probes || {}; + + if (probes.ports && probes.ports.open && probes.ports.open.length) { + p.set('ports', probes.ports.open.join(',')); + } + if (probes.arp) { + if (probes.arp.mac) p.set('mac', probes.arp.mac); + if (probes.arp.vendor) p.set('vendor', probes.arp.vendor); + } + if (probes.http && probes.http.server) { + p.set('server', probes.http.server); + } + if (probes.dns && probes.dns.hostname) { + p.set('hostname', probes.dns.hostname); + } + if (probes.ping && probes.ping.latency_ms) { + p.set('latency', Math.round(probes.ping.latency_ms)); + } + if (probes.xiaomi) { + if (probes.xiaomi.device_id) p.set('xiaomi_device_id', probes.xiaomi.device_id); + if (probes.xiaomi.stamp) p.set('xiaomi_stamp', probes.xiaomi.stamp); + } + + window.location.href = 'xiaomi.html?' + p.toString(); + } + function navigateHomeKit(ip, data) { var p = new URLSearchParams(); p.set('ip', ip); diff --git a/www/xiaomi.html b/www/xiaomi.html new file mode 100644 index 0000000..d2d3eb0 --- /dev/null +++ b/www/xiaomi.html @@ -0,0 +1,760 @@ + + + + + + + Strix - Xiaomi Camera + + + + +
+ +
+ +
+
+
+ +

Xiaomi Camera

+
+ +
+ + +
+
+
+
Loading...
+
+
+ + +
+
+
+ + +
+ +
+ + +
+ + +
+ +
+ + +
+
+
+ + captcha + +
+ +
+ +
+ + +
+
+
+ +
+ +
+ +
+ +
+ + +
+
+ + +
+ + +
+ + +
+ + +
+ + +
+
+
Camera not found
+

No camera with IP

+

in this Mi Home account / region.

+
+ + +
+
+
+ + + + + + +