Torna agli aggiornamenti
New releaseSep 7, 2026

yj_nearbyglasses v1.0.10

tenta di rilevare occhiali intelligenti nelle vicinanze e avvisarti

Condividi

yj_nearbyglasses

tenta di rilevare occhiali smart nelle vicinanze e avvisarti.

⚠ ATTENZIONE! ⚠

nearby-glasses-alert.pages.dev NON È COLLEGATO AL MIO PROGETTO. Molte app su Play Store e App Store sembrano o si chiamano addirittura in modo molto simile a Nearby Glasses. Sembrano aver dirottato il nome e cercano di trarre un rapido profitto da esso. Non rispettano la licenza AGPL e non offrono alcuna garanzia. Non le approvo.

Screenshot Nearby Glasses classic Screenshot Nearby Glasses canary mode

⚠ ATTENZIONE! ⚠

MOLESTARE qualcuno perché pensi che indossi un dispositivo di sorveglianza nascosto può costituire reato. Potrebbe persino essere un reato più grave rispetto all'uso di tale dispositivo. Ti preghiamo di consultare un avvocato riguardo alle leggi locali in materia.

⚠ NON MOLESTARE NESSUNO, MAI ⚠


Nearby Glasses

L'app, chiamata Nearby Glasses, ha un unico scopo: cercare occhiali smart nelle vicinanze e avvisarti.

Get It On Google Play Get it at IzzyOnDroid Get it on Obtainium Download on the App Store

Indice dei contenuti

Questa app ti avvisa quando ci sono occhiali smart nelle vicinanze. Utilizza gli identificativi aziendali nei dati Bluetooth trasmessi da questi dispositivi. Pertanto, è probabile che ci siano falsi positivi (ad es. da visori VR). Quindi, procedi con cautela quando ti avvicini a una persona che indossa occhiali. Potrebbero essere semplicemente occhiali normali, nonostante l'avviso di questa app.

L'autore dell'app Yves Jeanrenaud non si assume alcuna responsabilità per questa app né per il suo funzionamento. Usala a tuo rischio e pericolo. Per progettazione tecnica, il rilevamento dei dispositivi Bluetooth LE potrebbe a volte semplicemente non funzionare come previsto. Non sono uno sviluppatore laureato. Tutto è stato scritto nel mio tempo libero e con conoscenze che ho imparato da autodidatta.
I falsi positivi sono probabili. Ciò significa che l'app Nearby Glasses potrebbe avvisarti della presenza di occhiali smart nelle vicinanze quando in realtà potrebbe esserci un visore VR dello stesso produttore o un altro prodotto della stessa azienda. Potrebbe anche non rilevare occhiali smart nelle vicinanze. Ribadisco: non sono uno sviluppatore professionista.
Tuttavia, questa app è gratuita e open source: puoi esaminare il codice, modificarlo e riutilizzarlo (secondo la licenza).
L'app Nearby Glasses non memorizza alcun dato su di te né raccoglie informazioni su di te o sul tuo telefono. Non ci sono telemetria, pubblicità o altre seccature. Se installi l'app tramite Play Store, Google potrebbe sapere qualcosa su di te e raccogliere alcune statistiche. Ma l'app in sé non lo fa.
Se scegli di salvare (esportare) il file di log, dipende interamente da te e dalla tua responsabilità dove finiscono questi dati. I log vengono registrati solo localmente e non vengono condivisi automaticamente con nessuno. Contengono pochi dati sensibili; in effetti, solo i codici identificativi del produttore dei dispositivi BLE incontrati.

Usala con estrema cautela! Come già detto: non c'è alcuna garanzia che gli occhiali smart rilevati siano davvero nelle vicinanze. Potrebbe trattarsi di un altro dispositivo tecnicamente simile (a livello di annunci BLE) agli occhiali smart.
Ti preghiamo di non agire impulsivamente. Pensa prima di agire in base a qualsiasi messaggio (non solo di questa app).

Perché?

  • Perché considero gli occhiali smart un'intrusione intollerabile, una tecnologia che ignora il consenso e un orribile pezzo di tecnologia già utilizzata per creare vari e innumerevoli contenuti altrettanto disgustosi. 1, 2
  • Alcuni occhiali smart hanno un piccolo LED che segnala che è in corso una registrazione. Ma questo può essere facilmente disattivato, mentre i produttori affermano di prevenirlo e non si assumono alcuna responsabilità (la tecnologia tende a fare questo da decenni). 3
  • Gli occhiali smart sono già stati utilizzati per il riconoscimento facciale istantaneo 4 e, secondo quanto riferito, lo avranno integrato 5. Questo mette molte persone in pericolo.
  • I dati vengono utilizzati per addestrare l'IA, il che significa che le persone esamineranno le registrazioni e vedranno, probabilmente, gli aspetti più intimi. 6
  • Spero che questa app sia utile a qualcuno.

Come?

  • È un approccio semplice e piuttosto euristico. Poiché il BLE utilizza MAC casuali e gli OSSID non sono stabili, né lo sono gli UUID degli annunci di servizio, non puoi semplicemente scansionare i beacon Bluetooth. E, per rendere le cose ancora più difficili, alcuni come Meta, ad esempio, utilizzano servizi Bluetooth proprietari e gli UUID non sono persistenti, per ora possiamo fare affidamento solo sui nomi dei dispositivi comunicati.
  • L'approccio attualmente più valido proviene dal repository dei numeri assegnati Bluetooth SIG. In base a questo, il nome dell'azienda produttrice appare come codice numerico nell'intestazione del pacchetto pubblicitario (ADV) dei beacon BLE.
  • ecco come appaiono i frame pubblicitari BLE:``` 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

- Secondo il [repository dei numeri assegnati del Bluetooth SIG](https://github.com/yjeanrenaud/yj_nearbyglasses/blob/main/www.bluetooth.com/specifications/assigned-numbers), possiamo usare questi ID aziendali:
  - `0x01AB` per `Meta Platforms, Inc. (ex Facebook)`
  - `0x058E` per `Meta Platforms Technologies, LLC`
  - `0x0D53` per `Luxottica Group S.p.A` (che produce i Meta Ray-Ban)
  - `0x03C2` per `Snapchat, Inc.` (che produce i SNAP Spectacles)
  - `0x05D6` per `Zhuhai Jieli Technology Co` (che produce Rogbird VisionPro e Rollme VistaView)
  Sono **immutabili e obbligatori**. Ovviamente, Meta e altri produttori hanno anche altri prodotti con Bluetooth e quindi il loro ID, ad es. visori VR. Pertanto, usare questi codici ID aziendali per il processo di scansione dell'app è soggetto a falsi positivi. Ma se non vedi nessuno che indossa un Occulus Rift intorno a te e non ci sono edifici dove potrebbero nascondersi, è probabile che si tratti di smart glasses.
- Durante l'associazione, gli smart glasses di solito emettono il nome del prodotto, quindi possiamo cercare anche quello. Ma è raro vederlo sul campo. Le persone che intendono usare smart glasses in bar, pub, per strada e altrove di solito si preparano in anticipo.
- Quando l'app riconosce un dispositivo Bluetooth Low Energy (BLE) con una potenza del segnale sufficiente (vedi RSSI sotto), invierà un messaggio di avviso. Questo dovrebbe aiutarti ad agire di conseguenza.
- Inoltre, cerchiamo nomi di dispositivi trasmessi, ad es. `rayban`, `ray-ban` o `HeyCyan`. `HeyCyan` è [un famoso SDK per smart glasses di vari marchi](https://github.com/ebowwa/HeyCyanSmartGlassesSDK). Tra quei dispositivi *HeyCyan*, potresti trovare anche i Nilox Smart AI Glasses venduti da ALDI e Hofer (in Austria). Per rafforzare questo, cerchiamo anche il `primary_UUID`, un identificatore di servizio fissato al lato software di quegli occhiali (`7905FFF0-B5CE-4E99-A40F-4B1E122D00D0`). Anche se questo potrebbe cambiare in futuro, è improbabile poiché renderebbe inutilizzabili i dispositivi più vecchi, quindi potremmo semplicemente aggiungere più UUID alla routine di scansione.
## Funzionalità
- L'app *Nearby Glasses* mostra una notifica quando gli smart glasses sono nelle vicinanze (cioè un dispositivo BLE con uno di quegli ID aziendali menzionati sopra)
- **Nelle vicinanze** significa che l'RSSI (potenza del segnale) è minore o uguale a un valore dato: -75 dBm di default. Questo valore predefinito corrisponde a una distanza media e a un segnale abbastanza buono.
  ### Cos'è l'RSSI?
- Lascia che spieghi un po' quel valore RSSI:<br/>
RSSI è l'acronimo di Received Signal Strength Indication (indicazione della potenza del segnale ricevuto). Il valore è un'indicazione dell'intensità del campo di ricezione per applicazioni di comunicazione wireless. [Wikipedia ha un articolo abbastanza buono](https://en.wikipedia.org/wiki/Received_signal_strength_indicator) al riguardo.
In breve, l'RSSI dipende principalmente da:<br/>
  - Potenza di trasmissione del dispositivo
  - Design dell'antenna
  - Muri e ostacoli
  - Corpi umani che assorbono il segnale
  - Riflessione e interferenza
  - Orientamento del dispositivo<br/>
Ma negli scenari tipici BLE (Bluetooth Low Energy), la distanza approssimativa dell'RSSI (spazio aperto) è: <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 o quasi perdita del segnale<br/>
Al chiuso, le distanze sono spesso molto più brevi.<br/>
L'RSSI diminuisce approssimativamente secondo<br/>
    `RSSI ≈ -10 * n * log10(distanza) + costante`<br/>
- Pertanto, la soglia RSSI predefinita di -75 dBm corrisponde a circa 10-15 metri in spazio aperto e 3-10 metri al chiuso o in spazi affollati. Hai buone possibilità di individuare la persona che indossa quegli smart glasses.
- *Nearby Glasses* mostra un log di debug opzionale esportabile (come file txt) e dispone di una funzione copia&incolla. Queste sono per utenti avanzati (nerd) e per ulteriore debug.
- In *Impostazioni*, puoi specificare la lunghezza del log, il debug (mostrare tutti gli elementi di scansione o solo i frame ADV).
- Puoi anche inserire alcuni **ID aziendali** come stringa di valori esadecimali, ad es. `0x01AB,0x058E,0x0D53`. Questo sovrascrive il rilevamento integrato, quindi la tua notifica apparirà per i nuovi valori.
- Per una migliore persistenza, usa il *Foreground Service* di Android. Puoi disabilitarlo in *Impostazioni* se non ti serve.
- Il *Notification Cooldown* in *Impostazioni* specifica quanto tempo deve passare tra due avvisi. Il default è 10000 ms, cioè 10 s. Questo vale anche per il canarino, ad es. 10s significa che resterà in allerta per 10s prima di calmarsi di nuovo.
- Ora è un po' più localizzato: <img src="https://raw.githubusercontent.com/yjeanrenaud/yj_nearbyglasses/HEAD/img/canary_hide.svg" align="right" alt="Disegno di un canarino che si nasconde sotto un'ala" height="100" width="100">
   - Inglese
   - Tedesco
   - Svizzero tedesco
   - Francese
   - Spagnolo
   - Cinese
   - Italiano
   - Portoghese (Brasile)
   - Russo
   - Turco
   - altri in arrivo, eventualmente ([supporta questo progetto contribuendo nella tua lingua!](https://github.com/yjeanrenaud/yj_nearbyglasses/issues/3))
- Ora lo sfondo dell'icona dell'app non è più trasparente
- Ora cerchiamo anche gli UUID
- *Nearby Glasses* ora supporta la modalità scura (tramite le impostazioni di sistema)
- Il problema di layout edge-to-edge dovrebbe essere risolto dalla [v1.0.4](https://github.com/yjeanrenaud/yj_nearbyglasses/releases) in poi.
- Nuovamente concesso in licenza sotto AGPL 3.0
- Ho deciso di rinunciare al CLA. Dopo alcune discussioni con persone che ne sapevano più di me sui progetti collaborativi, ho capito che era un passaggio non necessario.
## iOS e Android
- Finalmente, dopo tre settimane, la versione iOS è disponibile. Dovrebbe funzionare sulla maggior parte degli iPhone e iPad; anche quelli più vecchi (fino a iOS 16). [Anche il codice sorgente e i file di progetto sono forniti](https://github.com/yjeanrenaud/yj_nearbyglasses/blob/main/iOS). Il codice è brutto e non ortodosso. Molti approcci sono rapidi e sporchi (ad es. riutilizzo i file json dalla localizzazione Android), ma finora funziona. *Nearby Glasses* è disponibile tramite l'[Apple App Store](https://apps.apple.com/us/app/nearby-glasses-original/id6761056896). (Si chiama original per distinguerlo da quei cloni). Un file .ipa è disponibile per il sideloading in [releases](https://github.com/yjeanrenaud/yj_nearbyglasses/releases).
  L'app iOS non funziona in background, perché non ho trovato alcuna possibilità di usare qualcosa di simile ai `ForegroundServices` per scansionare permanentemente i frame BTLE ADV a causa delle restrizioni iOS. Quindi, in *Nearby Glasses* su iOS è disponibile solo la *Canary Mode*. Se conosci Swift e iOS meglio di me (il che è probabile), contribuisci!
- Poiché questo repository contiene sia il codice dell'app Android che quello iOS, ho riorganizzato le cartelle. Quindi, ci sono [/iOS](https://github.com/yjeanrenaud/yj_nearbyglasses/blob/main/iOS) e [/Android](https://github.com/yjeanrenaud/yj_nearbyglasses/blob/main/Android).

## Utilizzo

- Vedi [Releases](https://github.com/yjeanrenaud/yj_nearbyglasses/releases) per scaricare l'APK o usa Google Play Store. F-Droid e/o Accrescent potrebbero seguire.
<img width="135" height="300" align ="right" alt="Screenshot Nearby Glasses: Impostazioni" 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. Installa l'app (da [Releases](https://github.com/yjeanrenaud/yj_nearbyglasses/releases) o da [Google Play](https://play.google.com/store/apps/details?id=ch.pocketpc.nearbyglasses), per ora) o dall'[Apple App Store](https://apps.apple.com/us/app/nearby-glasses-original/id6761056896), e aprila
2. Premi il pulsante *Start Scanning*
3. Concedi le autorizzazioni per attivare il Bluetooth (se non già abilitato) e per accedere ai dispositivi nelle vicinanze. Alcune versioni di Android richiedono anche di concedere l'autorizzazione per accedere alla tua posizione (soprattutto prima della versione 13). *Nearby Glasses* non fa nulla con le tue informazioni di posizione. Se non mi credi, guarda il [codice](https://github.com/yjeanrenaud/yj_nearbyglasses/tree/main/app)
4. se non vedi la scansione iniziare, potresti dover abilitare il *Foreground Service* sul tuo specifico telefono nel menu *Impostazioni* (vedi sotto)
5. Tutto pronto! Quando gli smart glasses vengono rilevati nelle vicinanze, apparirà una notifica. Continuerà finché non premi *Stop Scanning* o non chiudi definitivamente l'app
7. Nel menu (in alto a destra, l'ingranaggio), puoi effettuare alcune *Impostazioni*:
   1. *Enable Foreground Service*: In questo modo impedisci ad Android di mettere in pausa l'app impedendole di avvisarti. Consiglio di lasciarlo abilitato
   2. *RSSI threshold*: Questo numero negativo specifica quanto lontano può essere un dispositivo per essere motivo di avviso da parte di *Nearby Glasses*. Tecnicamente, si riferisce a quanto forte viene ricevuto il segnale. Più vicino a zero significa segnale migliore, quindi meno distanza tra il tuo telefono e gli smart glasses. Vedi [RSSI sopra per spiegazioni e indicazioni](#how). Consiglio di lasciarlo a -75
   3. *Enable Notifications*: Non vorresti disabilitarlo
   4. Canary Mode. Questo è il nuovo default. Con questo, non riceverai notifiche di sistema che ti avvisano di smart glasses nelle vicinanze, ma invece vedrai un canarino che indica che non ci sono smart glasses in giro. L'app iOS ha solo la canary mode a causa di vincoli tecnici. <img src="https://raw.githubusercontent.com/yjeanrenaud/yj_nearbyglasses/HEAD/img/canary.svg" alt="Disegno di un canarino" width="100" height="100" alignt="left">
   5. *Notification/Canary Cooldown*: Qui specifichi quante notifiche sugli smart glasses trovati nelle vicinanze vuoi ricevere o per quanto tempo il canarino dovrebbe nascondersi. Ho scelto 10 secondi (10000 ms) come valore predefinito. In questo modo, non perderai la notifica mentre allo stesso tempo non sarai troppo disturbato o non scaricherai la batteria troppo in fretta
   6. *Enable Log Display*: Disabilitarlo potrebbe farti risparmiare un po' di batteria. È disabilitato in canary mode.
   7. *Debug*: Serve per vedere più dei soli frame BLE corrispondenti nel frame di visualizzazione del log. È utile per vedere se le cose funzionano. È disabilitato in canary mode.
   8. *Max log lines*: Quanto può diventare lungo il log. 200 sembra un buon equilibrio tra durata della batteria e usabilità del log (per nerd come me). È disabilitato in canary mode.
   9. *BLE ADV only*: Questo esclude altri frame Bluetooth LE dal log per una migliore leggibilità. È disabilitato in canary mode.
   10. *Override Company IDs*: Se vuoi, puoi far sì che *Nearby Glasses* ti avvisi di altri dispositivi oltre a quelli specificati sopra. Utile per il debug, almeno per me. Lascialo vuoto se non ti serve o non sai cosa farci
   11. Ogni impostazione viene salvata ed è effettiva immediatamente. Per tornare indietro, usa il pulsante indietro o il gesto
8. La funzione di esportazione ti consente di condividere un file di testo del log dell'app. Per nerd come me
9. Puoi anche copiare&incollare il log toccando il frame di visualizzazione del log

## ToDo
- **Ora funziona sul campo!** Sono riuscito a far testare l'app ad alcune persone con smart glasses verificati intorno a loro. Un ringraziamento speciale a Lena!
- Vedi [Releases](https://github.com/yjeanrenaud/yj_nearbyglasses/releases) per scaricare l'APK.
- Ho pubblicato anche [*Nearby Glasses* su Google Play](https://play.google.com/store/apps/details?id=ch.pocketpc.nearbyglasses). Tuttavia, pubblicherò sempre [le release qui su GitHub](https://github.com/yjeanrenaud/yj_nearbyglasses/releases) e [altrove](https://yves.app/nearbyglasses/latest.apk), per chi evita Google Play.

---

- Aggiungere un'opzione per mettere i falsi positivi in una lista di ignorati. Forse nella notifica?
- Non sono affatto un esperto di BT o Android. Per quello che ho imparato, si potrebbe anche approfondire la comunicazione degli smart glasses sniffando il traffico BLE. In questo modo, probabilmente non avremmo bisogno di fare affidamento sul fatto che il dispositivo si comporti secondo le specifiche BT, ma potremmo anche usare euristiche sulle trasmissioni di traffico crittografato senza troppi falsi positivi. Ma non guardo i pacchetti di traffico BT da più di dieci anni. Sono contento di essermi ricordato dei frame ADV... Quindi se qualcuno potesse aiutare su questo, sarebbe molto apprezzato!
---
- Aggiungere **più ID di produttori** di smart glasses. Al momento, ci sono Meta, Oakley e Snap. Anche un elenco di smart glasses con fotocamere disponibili aiuterebbe. Ho aperto un [ISSUE per questo](https://github.com/yjeanrenaud/yj_nearbyglasses/issues/56), così le persone potrebbero **aiutare** inviando i loro log (che sono perfettamente sicuri, secondo me) quando incontrano altri smart glasses con registrazione
- a partire dal 24 marzo 2026, è disponibile anche la versione iOS.
- Il **problema di layout** con **dispositivi Google Pixel** sembra risolto dalla versione 1.0.3. Se ancora non riesci a raggiungere il menu perché in qualche modo si mescola con la barra di stato. Ci guarderò al più presto. Nel frattempo, prova a mettere lo schermo in modalità landscape e ruota *in senso orario (a destra)*.

## Tech-Solutionism?
Lo so, potrebbe essere un posto strano per farlo, ma ascoltami su questo. Sono consapevole che questa è una soluzione tecnica a un problema sociale, che è esso stesso amplificato dalla tecnologia.
Non voglio promuovere il techsolutionism né voglio che le persone si sentano falsamente al sicuro. È ancora un approccio imperfetto e probabilmente lo sarà sempre. Non è tutto positivo solo perché questa app esiste ora. Abbiamo bisogno di soluzioni migliori per frenare la tecnologia di sorveglianza e l'intrusione nella privacy.

## Build dal sorgente
Poiché *Nearby Glasses* è open source, puoi anche compilare l'app da solo dal codice sorgente. Questo garantisce che non siano incluse altre librerie nell'APK e ottieni ciò che vuoi.

Nota che questa app si basa su:
- Gradle Wrapper: 9.3.1
- Android Gradle Plugin: 8.13.2
- Kotlin: 1.9.22
- compileSdk: 36
- targetSdk: 36
- minSdk: 26
- Nessun product flavor
- Repository: solo google() e mavenCentral()
- Nessun Google Services o plugin Firebase

### Requisiti

- **JDK 17** (richiesto — il progetto ha come target Java 17)
- **Android SDK Platform 35** installato
  - compileSdk = 35
  - targetSdk = 35
- Git
### Compilazione APK passo dopo passo```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

Ringraziamenti

  • @[email protected] per avermi aiutato con gli avvisi
  • @[email protected] per aver suggerito l'idea di una modalità canary
  • @pojntfx per aver chiarito i miei fraintendimenti sulle licenze
  • Sarah-Jane B. per i consigli di UX design
  • Lena Radau per la traduzione in spagnolo
  • Marcel L. per il feedback e i test dell'app iOS
  • Lena Hansen per i test sul campo
  • Tutti gli altri che hanno già fornito feedback sull'app!

Licenza e crediti

Icona dell'app: L'icona si basa su Eyeglass icons created by Freepik - Flaticon
Licenza: Questa app Nearby Glasses è concessa in licenza sotto la licenza AGPL-3.0.
Canary: I disegni del canarino sono stati realizzati da me e sono concessi in licenza sotto CC BY-SA 4.0. Li ho forniti come file svg grezzi (realizzati in InkScape) e convertiti in xml, ovviamente, per le risorse dell'app

Categorie