
Versucht, Smart Glasses in der Nähe zu erkennen und dich zu warnen
# yj_nearbyglasses
Versuch, Smart Glasses in der Nähe zu erkennen und dich zu warnen.
# ⚠ WARNUNG! ⚠
*nearby-glasses-alert.pages.dev* STEHT IN KEINER VERBINDUNG ZU MEINEM PROJEKT. Viele Apps im Play Store und App Store sehen ähnlich aus oder heißen sogar fast genauso wie *Nearby Glasses*. Sie scheinen den Namen zu kapern und versuchen, daraus schnellen Profit zu schlagen. Sie halten sich nicht an die AGPL-Lizenz und geben keinerlei [Angaben]. Ich unterstütze dies nicht.
---
<img width="135" height="300" align ="right" alt="Screenshot Nearby Glasses classic" src="https://assets.kitploit.com/production/public/readmes/12083/e76b27744afcd0893efe1992c440e28c6606e742fa390f1b2c9a79a34e5600d1.png" />
<img width="135" height="300" align ="right" alt="Screenshot Nearby Glasses canary mode" src="https://assets.kitploit.com/production/public/readmes/12083/29c66ac6f3e7327f73700e7241c0ca93860a8f5cc3efdfdc619b8ee91873473a.png" />
# ⚠ WARNUNG! ⚠
**JEMANDEN ZU BELÄSTIGEN, weil du glaubst, dass er ein verdecktes Überwachungsgerät trägt, kann eine Straftat sein. Es kann sogar eine schwerwiegendere Straftat sein als die Verwendung eines solchen Geräts. Bitte hole rechtlichen Rat zu den geltenden Gesetzen an deinem Wohnort ein.**
---
## ⚠ BELÄSTIGE AUF KEINEN FALL IRGENDJEMANDEN ⚠
---
# Nearby Glasses
Die App mit dem Namen *Nearby Glasses* hat einen einzigen Zweck: Nach Smart Glasses in der Nähe zu suchen und dich zu warnen.
<a href="https://play.google.com/store/apps/details?id=ch.pocketpc.nearbyglasses" target="_blank"><img width="239" height="71" alt="Get It On Google Play" src="https://assets.kitploit.com/production/public/readmes/12083/a7dbeba4623dd255798dd1159e543cdbeeb9e43faa6db7f859b0f9ed3699932c.png" /></a> <a href="https://apt.izzysoft.de/packages/ch.pocketpc.nearbyglasses" taget="_blank"><img height="71" src="https://assets.kitploit.com/production/public/readmes/12083/75659b864e0f38bedce979c2097721b9beae838a06434eaacb0e93815468735a.png" alt="Get it at IzzyOnDroid" /></a> <a href="https://apps.obtainium.imranr.dev/redirect?r=obtainium://add/https://github.com/yjeanrenaud/yj_nearbyglasses/"><img width="239" height="71" alt="Get it on Obtainium" src="https://assets.kitploit.com/production/public/readmes/12083/33e5685bdfff51e02830f2a18b5df5df986e73c2c8ae0f7cf031ebc791e5f771.png"/></a> <a href="https://f-droid.org/en/packages/ch.pocketpc.nearbyglasses/"><img src="https://raw.githubusercontent.com/yjeanrenaud/yj_nearbyglasses/main/img/get-it-on-fdroid.png?raw=true" alt="Get it on F-Droid" width="213" /></a> <a href="https://apps.apple.com/us/app/nearby-glasses-original/id6761056896"><img width="213" height="71" alt="Download on the App Store" src="https://assets.kitploit.com/production/public/readmes/12083/a6fa504b048d52b4e9f5108021dce33af0d96b8b78c34095072971f4a34471fa.png" /></a>
# Inhaltsverzeichnis
* [Nearby Glasses](#Nearby-Glasses)
* [Warum?](#why)
* [Wie?](#how)
* [Funktionen](#features)
* [Was ist RSSI?](#whats-rssi)
* [iOS und Android](#ios-and-android)
* [Verwendung](#usage)
* [ToDos](#todos)
* [Tech-Solutionism?](#tech-solutionism)
* [Aus dem Quellcode bauen](#build-from-source)
* [Danksagungen](#shoutouts)
* [Lizenz und Credits](#license-and-credits)
Diese App benachrichtigt dich, wenn Smart Glasses in der Nähe sind. Sie nutzt Firmenidentifikatoren in den Bluetooth-Daten, die von diesen ausgesendet werden. Daher sind wahrscheinlich Fehlalarme möglich (z. B. durch VR-Headsets). Gehe deshalb bitte vorsichtig vor, wenn du dich einer Person in der Nähe näherst, die eine Brille trägt. Es könnte sich trotz der Warnung dieser App um eine ganz normale Brille handeln.
Der Autor der App, [Yves Jeanrenaud](https://yves.app), übernimmt keinerlei Haftung für diese App oder ihre Funktionalität. Die Nutzung erfolgt auf eigenes Risiko. Aufgrund der technischen Beschaffenheit kann die Erkennung von Bluetooth-LE-Geräten manchmal einfach nicht wie erwartet funktionieren. Ich bin kein ausgebildeter Entwickler. All dies ist in meiner Freizeit und mit selbst angeeignetem Wissen entstanden.<br/>
**Falschmeldungen sind wahrscheinlich.** Das bedeutet, die App *Nearby Glasses* kann Sie auf Smart Glasses in der Nähe hinweisen, obwohl es sich tatsächlich um ein VR-Headset desselben Herstellers oder ein anderes Produkt dieser Marke handeln könnte. Sie kann Smart Glasses in der Nähe auch übersehen. Nochmals: Ich bin kein professioneller Entwickler.<br/>
Allerdings ist diese App **kostenlos und quelloffen**, Sie können den Code einsehen, ändern und wiederverwenden (unter der [Lizenz](https://github.com/yjeanrenaud/yj_nearbyglasses/blob/main/LICENSE)).<br/>
Die App *Nearby Glasses* speichert keine Details über Sie und sammelt keine Informationen über Sie oder Ihr Telefon. Es gibt keine Telemetrie, keine Werbung und keine anderen Belästigungen. Wenn Sie die App über den Play Store installieren, könnte Google etwas über Sie erfahren und einige Statistiken sammeln. Die App selbst tut dies jedoch nicht. <br/>
Wenn Sie sich entscheiden, die Logdatei zu speichern (zu exportieren), liegt das ganz bei Ihnen und in Ihrer Verantwortung, wohin diese Daten gelangen. Die Protokolle werden nur lokal aufgezeichnet und nicht automatisch mit jemandem geteilt. Sie enthalten wenige sensible Daten; tatsächlich nur die Hersteller-ID-Codes der angetroffenen BLE-Geräte.<br/>
<br/>
**Mit äußerster Vorsicht verwenden!** Wie bereits erwähnt: Es gibt keine Garantie, dass erkannte Smart Glasses sich wirklich in der Nähe befinden. Es könnte sich um ein anderes Gerät handeln, das technisch (auf BLE-Adv-Ebene) Smart Glasses ähnelt.<br/>
Bitte handeln Sie nicht voreilig. **Denken Sie nach, bevor Sie aufgrund von Meldungen handeln** (nicht nur von dieser App).<br/>
<br/>
## Warum?
- Weil ich Smart Glasses für einen unerträglichen Eingriff halte, ein Einwilligung missachtendes, schreckliches Stück Technik, das bereits dazu genutzt wird, um verschiedenste und massenhaft ebenso wahrhaft widerwärtige „Inhalte" zu produzieren. [1](https://www.404media.co/border-patrol-agent-recorded-raid-with-metas-ray-ban-smart-glasses/), [2](https://www.404media.co/metas-ray-ban-glasses-users-film-and-harass-massage-parlor-workers/)
- Einige Smart Glasses verfügen über eine kleine LED, die anzeigt, dass eine Aufnahme läuft. Diese lässt sich jedoch leicht deaktivieren, während Hersteller behaupten, dies zu verhindern, und überhaupt keine Verantwortung übernehmen (Technik neigt seit Jahrzehnten dazu). [3](https://www.404media.co/how-to-disable-meta-rayban-led-light/)
- Smart Glasses wurden bereits für sofortige Gesichtserkennung eingesetzt [4](https://www.404media.co/someone-put-facial-recognition-tech-onto-metas-smart-glasses-to-instantly-dox-strangers/) und werden Berichten zufolge ab Werk damit ausgestattet sein [5](https://www.nytimes.com/2026/02/13/technology/meta-facial-recognition-smart-glasses.html). Dies bringt viele Menschen in Gefahr.
- Die Daten werden zum Trainieren von KI verwendet, was bedeutet, dass Menschen die Aufnahmen durchsehen und wahrscheinlich die intimsten Einblicke sehen werden [6](https://www.svd.se/a/K8nrV4/metas-ai-smart-glasses-and-data-privacy-concerns-workers-say-we-see-everything)
- Ich hoffe, diese App ist für jemanden nützlich.
## Wie?
- Es ist ein einfacher, eher heuristischer Ansatz. Da BLE randomisierte MAC-Adressen verwendet und die OSSID nicht stabil sind, ebenso wenig wie die UUID der Service-Ankündigungen, kann man nicht einfach nach den Bluetooth-Beacons scannen. Und um die Sache noch schlimmer zu machen: Einige, wie zum Beispiel Meta, verwenden proprietäre Bluetooth-Dienste, und UUIDs sind nicht persistent, ~~wir können uns vorerst nur auf die übermittelten Gerätenamen verlassen~~.
- Der derzeit **praktikabelste Ansatz** stammt aus dem [Bluetooth SIG assigned numbers repo](https://www.bluetooth.com/specifications/assigned-numbers/). Demnach erscheint der Name des Herstellerunternehmens als Zahlencode im Paket-Advertisement-Header (ADV) von BLE-Beacons.
- so sehen BLE-Advertisement-Frames aus:
```
Frame 1: Advertising (ADV_IND)
Time: 0.591232 s
Address: C4:7C:8D:1E:2B:3F (Random Static)
RSSI: -58 dBm
Flags:
02 01 06
Flags: LE General Discoverable Mode, BR/EDR Not Supported
Manufacturer Specific Data:
Length: 0x1A
Type: Manufacturer Specific Data (0xFF)
Company ID: 0x058E (Meta Platforms Technologies, LLC)
Data: 4D 45 54 41 5F 52 42 5F 47 4C 41 53 53
Service UUIDs:
Complete List of 16-bit Service UUIDs
0xFEAA
```
- Laut dem [Bluetooth SIG assigned numbers repo](https://github.com/yjeanrenaud/yj_nearbyglasses/blob/main/www.bluetooth.com/specifications/assigned-numbers) dürfen wir diese Company IDs verwenden:
- `0x01AB` für `Meta Platforms, Inc. (formerly Facebook)`
- `0x058E` für `Meta Platforms Technologies, LLC`
- `0x0D53` für `Luxottica Group S.p.A` (die Herstellerin der Meta Ray-Bans)
- `0x03C2` für `Snapchat, Inc.` (die Herstellerin der SNAP Spectacles)
- `0x05D6` für `Zhuhai Jieli Technology Co` (die Herstellerin von Rogbird VisionPro und Rollme VistaView)
Sie sind **unveränderlich und verbindlich**. Natürlich haben Meta und andere Hersteller auch andere Produkte mit Bluetooth und daher ihre ID, z. B. VR-Headsets. Daher ist die Verwendung dieser Company-ID-Codes für den Scanvorgang der App anfällig für Fehlalarme. Aber wenn Sie niemanden in Ihrer Umgebung ein Occulus Rift tragen sehen und es keine Gebäude gibt, in denen sich jemand verstecken könnte, ist die Wahrscheinlichkeit hoch, dass es sich stattdessen um eine Smart Glasses handelt.
- Während des Pairings senden die Smart Glasses in der Regel ihren Produktnamen aus, sodass wir auch danach scannen können. Aber es ist selten, dass wir das im Feld sehen werden. Personen, die Smart Glasses in Bars, Pubs, auf der Straße und anderswo nutzen wollen, bereiten sich in der Regel vorher darauf vor.
- Wenn die App ein Bluetooth Low Energy (BLE)-Gerät mit ausreichender Signalstärke erkennt (siehe RSI unten), sendet sie eine Warnmeldung. Dies soll Ihnen helfen, entsprechend zu handeln.
- Darüber hinaus scannen wir nach ausgestrahlten Gerätenamen, z. B. `rayban`, `ray-ban` oder `HeyCyan`. `HeyCyan` ist [ein bekanntes SDK für Smart Glasses verschiedener Marken](https://github.com/ebowwa/HeyCyanSmartGlassesSDK). Unter diesen *HeyCyan*-Geräten finden Sie möglicherweise auch die Nilox Smart AI Glasses, die von ALDI und Hofer (in Österreich) verkauft werden. Um dies abzusichern, suchen wir auch nach der `primary_UUID`, einer Dienstkennung, die auf der Softwareseite dieser Brillen fest vorgegeben ist (`7905FFF0-B5CE-4E99-A40F-4B1E122D00D0`). Obwohl sich dies in Zukunft ändern könnte, ist es unwahrscheinlich, da es ältere Geräte unbrauchbar machen würde; daher würden wir dann einfach weitere UUIDs zur Scanroutine hinzufügen.
## Funktionen
- Die App *Nearby Glasses* zeigt eine Benachrichtigung an, wenn Smart Glasses in der Nähe sind (das heißt, ein BLE-Gerät mit einer der oben genannten Company IDs)
- **In der Nähe** bedeutet, dass der RSSI (Signalstärke) kleiner oder gleich einem bestimmten Wert ist: standardmäßig -75 dBm. Dieser Standardwert entspricht einer mittleren Entfernung und einem einigermaßen akzeptablen Signal.
### Was ist RSSI?
- Lassen Sie mich ein wenig erklären, was der RSSI-Wert ist:<br/>
RSSI ist die Abkürzung für Received Signal Strength Indication (Empfangene Signalstärkeanzeige). Der Wert ist ein Indikator für die Empfangsfeldstärke von drahtlosen Kommunikationsanwendungen. [Wikipedia hat einen recht guten Artikel](https://en.wikipedia.org/wiki/Received_signal_strength_indicator) darüber.
Kurz gesagt, RSSI hängt hauptsächlich ab von:<br/>
- Sendeleistung des Geräts
- Antennendesign
- Wänden und Hindernissen
- Menschlichen Körpern, die Signale absorbieren
- Reflexion und Interferenz
- Ausrichtung des Geräts<br/>
Aber in typischen BLE-Szenarien (Bluetooth Low Energy) entspricht RSSI grob folgenden Entfernungen (freie Fläche): <br/>
- -60 dBm ~ 1 – 3 m<br/>
- -70 dBm ~ 3 – 10 m<br/>
- -80 dBm ~ 10 – 20 m<br/>
- -90 dBm ~ 20 – 40 m<br/>
- -100 dBm ~ 30 – 100+ m oder nahe am Signalverlust<br/>
In Innenräumen sind die Entfernungen oft deutlich kürzer.<br/>
RSSI fällt ungefähr gemäß<br/>
`RSSI ≈ -10 * n * log10(distance) + constant`<br/>
- Daher entspricht der standardmäßige RSSI-Schwellenwert von -75 dBm etwa 10 bis 15 Metern im Freien und 3 bis 10 Metern in Innenräumen oder in überfüllten Bereichen. Sie haben also gute Chancen, eine Person mit einer solchen Smart Glasses zu entdecken.
- *Nearby Glasses* zeigt ein optionales Debug-Log an, das exportierbar ist (als txt-Datei) und eine Kopieren&Einfügen-Funktion bietet. Diese sind für fortgeschrittene Benutzer (Nerds) und für weiteres Debugging gedacht.
- Unter *Einstellungen* können Sie die Log-Länge und das Debugging festlegen (alle Scan-Elemente oder nur ADV-Frames anzeigen).
- Sie können auch einige **Company IDs** als Hex-Wert-String eingeben, z. B. `0x01AB,0x058E,0x0D53`. Dies überschreibt die integrierte Erkennung, sodass Ihre Benachrichtigung für die neuen Werte angezeigt wird.
- Für bessere Persistenz verwendet es Androids *Foreground Service*. Sie können dies unter *Einstellungen* deaktivieren, wenn Sie es nicht benötigen.
- Die *Notification Cooldown* unter *Einstellungen* legt fest, wie viel Zeit zwischen zwei Warnungen vergehen muss. Der Standardwert ist 10000 ms, also 10 s. Dies gilt auch für den Kanarienvogel, d. h. 10 s bedeuten, dass er 10 s lang alarmiert bleibt, bevor er sich wieder beruhigt.
- Es ist jetzt etwas stärker lokalisiert: <img src="https://raw.githubusercontent.com/yjeanrenaud/yj_nearbyglasses/HEAD/img/canary_hide.svg" align="right" alt="Zeichnung eines Kanarienvogels, der sich unter einem Flügel versteckt" height="100" width="100">
- Englisch
- Deutsch
- Schweizerdeutsch
- Französisch
- Spanisch
- Chinesisch
- Italienisch
- Portugiesisch (Brasilien)
- Russisch
- Türkisch
- weitere folgen eventuell ([unterstützen Sie dieses Projekt, indem Sie in Ihrer Sprache beitragen!](https://github.com/yjeanrenaud/yj_nearbyglasses/issues/3))
- Der Hintergrund des App-Symbols ist jetzt nicht mehr transparent
- Jetzt scannen wir auch nach UUIDs
- *Nearby Glasses* unterstützt jetzt den Dunkelmodus (über die Systemeinstellungen)
- Das Edge-to-Edge-Layout-Problem sollte ab [v1.0.4](https://github.com/yjeanrenaud/yj_nearbyglasses/releases) behoben sein.
- Neu lizenziert unter AGPL 3.0
- Ich habe beschlossen, auf die CLA zu verzichten. Nach einigen Diskussionen mit Personen, die sich mit kollaborativen Projekten besser auskannten als ich, bin ich zu der Erkenntnis gelangt, dass dies ein unnötiger Schritt war.
- Es hat jetzt ein etwas anderes Symbol, um die AGPL 3.0 strenger einzuhalten.
## iOS und Android
- Endlich, nach drei Wochen, ist der iOS-Port verfügbar. Er sollte auf den meisten iPhones und iPads funktionieren; sogar auf älteren (bis zurück zu iOS 16). [Quellcode und Projektdateien werden ebenfalls bereitgestellt](https://github.com/yjeanrenaud/yj_nearbyglasses/blob/main/iOS). Der Code ist hässlich und unorthodox. Viele Ansätze sind schnell und schmutzig (z. B. verwende ich die json-Dateien der Android-Lokalisierung wieder), aber bisher funktioniert es. *Nearby Glasses* ist über den [Apple App Store](https://apps.apple.com/us/app/nearby-glasses-original/id6761056896) verfügbar. (Er heißt original, um ihn von diesen Nachahmern unterscheidbar zu machen). Eine .ipa ist zum Sideloading unter [releases](https://github.com/yjeanrenaud/yj_nearbyglasses/releases) verfügbar.
Die iOS-App funktioniert nicht im Hintergrund, da ich aufgrund von iOS-Einschränkungen keine Möglichkeit gefunden habe, etwas Ähnliches wie `ForegroundServices` zu verwenden, um dauerhaft nach BTLE ADV zu scannen. Daher gibt es unter iOS in *Nearby Glasses* nur einen *Canary Mode*. Wenn du Swift und iOS besser kennst als ich (was wahrscheinlich ist), bitte trage bei!
- Da dieses Repository sowohl Android- als auch iOS-App-Code enthält, habe ich die Ordner neu organisiert. Daher gibt es [/iOS](https://github.com/yjeanrenaud/yj_nearbyglasses/blob/main/iOS) und [/Android](https://github.com/yjeanrenaud/yj_nearbyglasses/blob/main/Android).
## Verwendung
- Siehe [Releases](https://github.com/yjeanrenaud/yj_nearbyglasses/releases) für die APK zum Herunterladen oder nutze den Google Play Store. F-Droid und/oder Accrescent könnten folgen.
<img width="135" height="300" align ="right" alt="Screenshot Nearby Glasses: Einstellungen" src="https://assets.kitploit.com/production/public/readmes/12083/71a0271ff9172cad52e8d83ed9a29ba43b509c7b250be2a0254a5a4371ee3401.png" />
<a href="https://play.google.com/store/apps/details?id=ch.pocketpc.nearbyglasses" target="_blank"><img width="239" height="71" alt="Get It On Google Play" src="https://assets.kitploit.com/production/public/readmes/12083/a7dbeba4623dd255798dd1159e543cdbeeb9e43faa6db7f859b0f9ed3699932c.png" /></a> <a href="https://apps.apple.com/us/app/nearby-glasses-original/id6761056896"><img width="213" height="71" alt="Download on the App Store" src="https://assets.kitploit.com/production/public/readmes/12083/a6fa504b048d52b4e9f5108021dce33af0d96b8b78c34095072971f4a34471fa.png" /></a>
1. Installiere die App (vorerst aus den [Releases](https://github.com/yjeanrenaud/yj_nearbyglasses/releases) oder von [Google Play](https://play.google.com/store/apps/details?id=ch.pocketpc.nearbyglasses)) oder aus dem [Apple App Store](https://apps.apple.com/us/app/nearby-glasses-original/id6761056896) und öffne sie
2. Tippe auf die Schaltfläche *Start Scanning*
3. Erteile die Berechtigungen, um Bluetooth zu aktivieren (falls noch nicht aktiviert) und um auf Geräte in der Nähe zuzugreifen. Bei einigen Android-Versionen musst du zusätzlich Berechtigungen für den Standortzugriff erteilen (vor Version 13 meistens). *Nearby Glasses* macht nichts mit deinen Standortdaten. Wenn du mir nicht glaubst, schau dir bitte den [Code](https://github.com/yjeanrenaud/yj_nearbyglasses/tree/main/app) an
4. Wenn du siehst, dass der Scan nicht startet, musst du möglicherweise den *Foreground Service* auf deinem jeweiligen Telefon im Menü *Settings* aktivieren (siehe unten)
5. Fertig! Wenn Smart Glasses in der Nähe erkannt werden, erscheint eine Benachrichtigung. Das geschieht so lange, bis du auf *Stop Scanning* tippst oder die App endgültig beendest
7. Im Menü (oben rechts, das Zahnrad) kannst du einige *Settings* vornehmen:
1. *Enable Foreground Service*: Damit verhinderst du, dass Android die App pausiert und dich dadurch nicht mehr benachrichtigt. Ich empfehle, dies aktiviert zu lassen
2. *RSSI threshold*: Diese negative Zahl legt fest, wie weit ein Gerät entfernt sein darf, damit *Nearby Glasses* einen Alarm auslöst. Technisch gesehen bezieht sie sich darauf, wie stark das Signal empfangen wird. Näher an null bedeutet ein besseres Signal, also einen geringeren Abstand zwischen deinem Telefon und den Smart Glasses. Siehe [RSSI oben für Erklärungen und Hinweise](#how). Ich empfehle, den Wert auf -75 zu belassen
3. *Enable Notifications*: Das möchtest du wohl nicht deaktivieren
4. Canary Mode. Dies ist der neue Standard. Damit erhältst du keine Systembenachrichtigungen, die dich auf Smart Glasses in der Nähe hinweisen, sondern du siehst stattdessen einen Kanarienvogel, der anzeigt, dass keine Smart Glasses in der Nähe sind. Die iOS-App hat aus technischen Gründen nur einen Canary Mode. <img src="https://raw.githubusercontent.com/yjeanrenaud/yj_nearbyglasses/HEAD/img/canary.svg" alt="Zeichnung eines Kanarienvogels" width="100" height="100" alignt="left">
5. *Notification/Canary Cooldown*: Hier legst du fest, wie viele Benachrichtigungen über gefundene Smart Glasses in der Nähe du erhalten möchtest oder wie lange sich der Kanarienvogel verstecken soll. Ich habe 10 Sekunden (10000 ms) als Standardwert gewählt. So verpasst du die Benachrichtigung nicht, wirst aber gleichzeitig nicht zu sehr davon gestört und der Akku wird nicht zu schnell entladen
6. *Enable Log Display*: Das Deaktivieren kann dir etwas Akku sparen. Dies ist im Canary Mode deaktiviert.
7. *Debug*: Wird benötigt, um im Log-Anzeigebereich mehr als nur die passenden BLE-Frames zu sehen. Es ist nützlich, um zu prüfen, ob alles funktioniert. Dies ist im Canary Mode deaktiviert.
8. *Max log lines*: Wie lang das Log werden darf. 200 scheint ein guter Kompromiss zwischen Akkulaufzeit und Nutzbarkeit des Logs zu sein (für Nerds wie mich). Dies ist im Canary Mode deaktiviert.
9. *BLE ADV only*: Dies schließt andere Bluetooth-LE-Frames aus dem Log aus, um die Lesbarkeit zu verbessern. Dies ist im Canary Mode deaktiviert.
10. *Override Company IDs*: Wenn du möchtest, kannst du *Nearby Glasses* so einstellen, dass du bei anderen Geräten als den oben angegebenen benachrichtigt wirst. Nützlich zum Debuggen, zumindest für mich. Lass es leer, wenn du es nicht brauchst oder nicht weißt, was du damit anfangen sollst
11. Jede Einstellung wird gespeichert und ist sofort wirksam. Um zurückzugehen, verwende die Zurück-Taste oder -Geste
8. Mit der Exportfunktion kannst du eine Textdatei mit dem Log der App teilen. Für Nerds wie mich
9. Du kannst das Log auch kopieren und einfügen, indem du auf den Log-Anzeigebereich tippst
## ToDos
- **Es funktioniert jetzt in der Praxis!** Ich habe einige Leute dazu gebracht, es mit verifizierten Smart Glasses in ihrer Umgebung zu testen. Besonderer Dank an Lena!
- Siehe [Releases](https://github.com/yjeanrenaud/yj_nearbyglasses/releases) für die herunterladbare APK.
- Ich habe [*Nearby Glasses* auch bei Google Play veröffentlicht](https://play.google.com/store/apps/details?id=ch.pocketpc.nearbyglasses). Ich werde jedoch immer [Releases hier auf GitHub](https://github.com/yjeanrenaud/yj_nearbyglasses/releases) und [anderswo](https://yves.app/nearbyglasses/latest.apk) veröffentlichen, für diejenigen, die Google Play meiden.
---
- Eine Option hinzufügen, um Fehlalarme auf eine Ignorierliste zu setzen. Vielleicht in der Benachrichtigung?
- Ich bin überhaupt kein BT- oder Android-Experte. Nach dem, was ich gelernt habe, könnte man auch tiefer in die Kommunikation der Smart Glasses eindringen, indem man den BLE-Verkehr mitschneidet. Dadurch müssten wir uns wahrscheinlich nicht darauf verlassen, dass sich das Gerät gemäß den BT-Spezifikationen verhält, sondern könnten auch Heuristiken auf die verschlüsselten Übertragungen anwenden, ohne viele Fehlalarme. Aber ich habe mir seit über zehn Jahren keine BT-Verkehrspakete mehr angesehen. Ich bin froh, dass ich mich an ADV-Frames erinnert habe... Wenn also jemand dabei helfen könnte, wäre das sehr willkommen!
---
- **Weitere Hersteller-IDs** von Smart Glasses hinzufügen. Derzeit sind es Meta, Oakley und Snap. Eine Liste von Smart Glasses mit Kameras wäre ebenfalls hilfreich. Ich habe dafür ein [ISSUE eröffnet](https://github.com/yjeanrenaud/yj_nearbyglasses/issues/56), damit Leute **helfen** können, indem sie ihre Logs (die meiner Meinung nach völlig unbedenklich sind) einsenden, wenn sie andere aufzeichnende Smart Glasses antreffen
- seit dem 24. März 2026 ist auch die iOS-Version verfügbar.
- Das **Layout-Problem** bei **Google Pixel-Geräten** scheint ab Version 1.0.3 behoben zu sein. Falls Sie das Menü immer noch nicht erreichen können, weil es irgendwie mit der Statusleiste vermischt ist. Ich werde das so schnell wie möglich untersuchen. Versuchen Sie in der Zwischenzeit, Ihren Bildschirm in den Querformat-Modus zu versetzen und *im Uhrzeigersinn (nach rechts)* zu drehen.
## Tech-Solutionismus?
Ich weiß, das ist vielleicht ein seltsamer Ort dafür, aber hören Sie mir kurz zu. Mir ist bewusst, dass dies eine technische Lösung für ein gesellschaftliches Problem ist, das selbst durch Technik verstärkt wird.
Ich möchte weder Tech-Solutionismus fördern noch dass sich Menschen fälschlicherweise sicher fühlen. Es ist immer noch ein unvollkommener Ansatz und wird es wahrscheinlich immer bleiben. Es ist nicht alles gut, nur weil diese App jetzt existiert. Wir brauchen bessere Lösungen, um Überwachungstechnik und Eingriffe in die Privatsphäre einzudämmen.
## Aus dem Quellcode bauen
Da *Nearby Glasses* Open Source ist, können Sie die App auch selbst aus dem Quellcode bauen. Dadurch wird sichergestellt, dass keine anderen Bibliotheken in der APK enthalten sind und Sie genau das bekommen, was Sie wollen.
Bitte beachten Sie, dass diese App auf Folgendem aufbaut:
- Gradle Wrapper: 9.3.1
- Android Gradle Plugin: 8.13.2
- Kotlin: 1.9.22
- compileSdk: 36
- targetSdk: 36
- minSdk: 26
- Keine Produkt-Flavors
- Repositories: nur google() und mavenCentral()
- Keine Google Services- oder Firebase-Plugins
### Voraussetzungen
- **JDK 17** (erforderlich — das Projekt zielt auf Java 17 ab)
- **Android SDK Platform 35** installiert
- compileSdk = 35
- targetSdk = 35
- Git
### APK Schritt für Schritt bauen
```bash
#Verify Java version:
$java -version
#It must report Java 17.
#Get the source code
$git clone https://github.com/yjeanrenaud/yj_nearbyglasses
$cd yj_nearbyglasses
#Build Debug
$./gradlew clean assembleDebug
#Build Release (with your own signature cert)
$./gradlew clean assembleRelease
#Build unsigned Release for IzzyOnDroid / F-Droid
$./gradlew clean izziFdroid
#Run and Test
$./gradlew test lint
```
## Danksagungen
- [@[email protected]](https://social.tchncs.de/@vfrmedia) für die Hilfe bei den Warnungen
- [@[email protected]](https://meow.social/@mewsleah) für den Hinweis auf die Idee eines Canary-Modus
- [@pojntfx](https://github.com/pojntfx) für den Hinweis auf meine Missverständnisse bezüglich der Lizenzierung
- Sarah-Jane B. für UX-Design-Tipps
- Lena Radau für die Übersetzung ins Spanische
- Marcel L. für Feedback und das Testen der iOS-App
- Lena Hansen für Feldtests
- Alle anderen, die bereits Feedback zur App gegeben haben!
## Lizenz und Credits
**App-Icon**: Das Icon basiert auf <a href="https://www.svgrepo.com/svg/434090/glasses" title="Glasses SVG Vector">Glasses SVG Vector von sensa, lizenziert unter CC0 1.0 Universal</a>.<br/><br/><br/>
**Lizenz**: Diese App *Nearby Glasses* ist unter der [AGPL-3.0-Lizenz](https://github.com/yjeanrenaud/yj_nearbyglasses/blob/main/LICENSE) lizenziert.<br/>
**Canary**: Die Canary-Zeichnungen wurden von mir erstellt und sind unter [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/) lizenziert. Ich habe sie als rohe SVG-Dateien bereitgestellt (erstellt in [InkScape](https://inkscape.org/)) und, natürlich, für die Ressourcen der App in XML konvertiert<br/>