Volver a actualizaciones
Nuevo releaseSep 7, 2026

yj_nearbyglasses v1.0.10

intentando detectar gafas inteligentes cercanas y advertirte

Compartir

yj_nearbyglasses

intentando detectar gafas inteligentes cerca y avisarte.

⚠ ¡ADVERTENCIA! ⚠

nearby-glasses-alert.pages.dev NO ESTÁ RELACIONADO CON MI PROYECTO. Muchas aplicaciones en Play Store y App Store se parecen o incluso se llaman de forma muy similar a Nearby Glasses. Parecen apropiarse del nombre e intentar sacar un beneficio rápido. No respetan la licencia AGPL, no dan nada a cambio. No lo respaldo.

Screenshot Nearby Glasses classic Screenshot Nearby Glasses canary mode

⚠ ¡ADVERTENCIA! ⚠

⚠ NO ACOSES A NADIE EN ABSOLUTO ⚠


Nearby Glasses

La aplicación, llamada Nearby Glasses, tiene un único propósito: buscar gafas inteligentes cerca y avisarte.

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

Tabla de contenidos

Esta aplicación te notifica cuando hay gafas inteligentes cerca. Utiliza los identificadores de empresa en los datos Bluetooth que emiten. Por lo tanto, es probable que haya falsos positivos (por ejemplo, de cascos de VR). Por ello, procede con precaución al acercarte a una persona que lleve gafas cerca. Podrían ser simplemente gafas normales, a pesar de la advertencia de esta aplicación.

El autor de la aplicación, Yves Jeanrenaud, no asume ninguna responsabilidad por esta aplicación ni por su funcionalidad. Úsala bajo tu propio riesgo. Por diseño técnico, la detección de dispositivos Bluetooth LE a veces puede simplemente no funcionar como se espera. No soy un desarrollador titulado. Todo esto está escrito en mi tiempo libre y con conocimientos que aprendí por mi cuenta.
Es probable que haya falsos positivos. Esto significa que la aplicación Nearby Glasses puede notificarte de gafas inteligentes cerca cuando en realidad podría haber un casco de VR del mismo fabricante u otro producto de esa empresa. También puede pasar por alto gafas inteligentes cercanas. De nuevo: no soy un desarrollador profesional.
Sin embargo, esta aplicación es gratuita y de código abierto, puedes revisar el código, modificarlo y reutilizarlo (bajo la licencia).
La aplicación Nearby Glasses no almacena ningún detalle sobre ti ni recopila ninguna información sobre ti o tu teléfono. No hay telemetría, ni anuncios, ni otras molestias. Si instalas la aplicación a través de Play Store, Google puede saber algo sobre ti y recopilar algunas estadísticas. Pero la aplicación en sí no lo hace.
Si decides almacenar (exportar) el archivo de registro, eso depende completamente de ti y de tu responsabilidad sobre adónde van esos datos. Los registros se graban solo localmente y no se comparten automáticamente con nadie. Contienen pocos datos sensibles; de hecho, solo los códigos de identificación del fabricante de los dispositivos BLE encontrados.

¡Úsala con extrema precaución! Como se indicó antes: no hay garantía de que las gafas inteligentes detectadas estén realmente cerca. Podría ser otro dispositivo técnicamente similar (a nivel de BLE adv) a las gafas inteligentes.
Por favor, no actúes precipitadamente. Piensa antes de actuar ante cualquier mensaje (no solo de esta aplicación).

¿Por qué?

  • Porque considero que las gafas inteligentes son una intrusión intolerable, una horrible pieza de tecnología que ignora el consentimiento y que ya se usa para crear diversos y montones de 'contenidos' igualmente repugnantes. 1, 2
  • Algunas gafas inteligentes incluyen un pequeño LED que indica que se está grabando. Pero esto se puede desactivar fácilmente, mientras que los fabricantes afirman evitarlo y no asumen ninguna responsabilidad (la tecnología tiende a hacer eso desde hace décadas). 3
  • Las gafas inteligentes ya se han usado para reconocimiento facial instantáneo 4 y según se informa lo incluirán de serie 5. Esto pone en peligro a mucha gente.
  • Sus datos se usan para entrenar IA, lo que significa que habrá personas que revisen las grabaciones y vean, probablemente, los detalles más íntimos 6
  • Espero que esta aplicación le sea útil a alguien.

¿Cómo?

  • Es un enfoque simple y bastante heurístico. Como BLE usa MAC aleatorizadas y los OSSID no son estables, ni tampoco el UUID de los anuncios de servicio, no puedes simplemente escanear los beacons Bluetooth. Y, para complicarlo aún más, algunos como Meta, por ejemplo, usan servicios Bluetooth propietarios y los UUID no son persistentes, por ahora solo podemos confiar en los nombres de dispositivo comunicados.
  • El enfoque actualmente más viable proviene del repositorio de números asignados del Bluetooth SIG. Siguiendo esto, el nombre de la empresa fabricante aparece como códigos numéricos en el encabezado de anuncio de paquete (ADV) de los beacons BLE.
  • así es como se ven las tramas de anuncio 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

- Según el [repositorio de números asignados del Bluetooth SIG](https://github.com/yjeanrenaud/yj_nearbyglasses/blob/main/www.bluetooth.com/specifications/assigned-numbers), podemos usar estos IDs de empresa:
  - `0x01AB` para `Meta Platforms, Inc. (formerly Facebook)`
  - `0x058E` para `Meta Platforms Technologies, LLC`
  - `0x0D53` para `Luxottica Group S.p.A` (quien fabrica las Meta Ray-Bans)
  - `0x03C2` para `Snapchat, Inc.` (que fabrica las SNAP Spectacles)
  - `0x05D6` para `Zhuhai Jieli Technology Co` (quien fabrica las Rogbird VisionPro y Rollme VistaView)
  Son **inmutables y obligatorios**. Por supuesto, Meta y otros fabricantes también tienen otros productos que vienen con Bluetooth y por lo tanto su ID, por ejemplo, cascos de VR. Por lo tanto, usar estos códigos de ID de empresa para el proceso de escaneo de la app es propenso a falsos positivos. Pero si no puedes ver a alguien usando un Occulus Rift a tu alrededor y no hay edificios donde puedan esconderse, es probable que sean gafas inteligentes en su lugar.
- Durante el emparejamiento, las gafas inteligentes normalmente emiten su nombre de producto, así que también podemos escanear eso. Pero es raro que veamos eso en el campo. Las personas con la intención de usar gafas inteligentes en bares, pubs, en la calle y en otros lugares normalmente se preparan para eso de antemano.
- Cuando la app reconoce un dispositivo Bluetooth Low Energy (BLE) con una intensidad de señal suficiente (ver RSI abajo), enviará un mensaje de alerta. Esto te ayudará a actuar en consecuencia.
- Además, escaneamos los nombres de dispositivos emitidos, por ejemplo `rayban`, `ray-ban` o `HeyCyan`. `HeyCyan` es [un famoso SDK para gafas inteligentes de varias marcas](https://github.com/ebowwa/HeyCyanSmartGlassesSDK). Entre esos dispositivos *HeyCyan*, también puedes encontrar las Nilox Smart AI Glasses que son vendidas por ALDI y Hofer (en Austria). Para reforzar esto, también buscamos el `primary_UUID`, un identificador de servicio que está fijado al lado del software de esas gafas (`7905FFF0-B5CE-4E99-A40F-4B1E122D00D0`). Aunque esto podría cambiar en el futuro, es poco probable ya que haría inutilizables los dispositivos más antiguos, por lo tanto, podríamos simplemente añadir más UUIDs a la rutina de escaneo entonces.
## Características
- La app *Nearby Glasses* muestra una notificación cuando hay gafas inteligentes cerca (es decir, un dispositivo BLE de uno de esos IDs de empresa mencionados arriba)
- **Cerca** significa que el RSSI (intensidad de señal) es menor o igual a un valor dado: -75 dBm por defecto. Este valor por defecto corresponde a una distancia media y una señal aceptable.
  ### ¿Qué es el RSSI?
- Déjame explicar un poco ese valor RSSI:<br/>
RSSI es la abreviatura de Received Signal Strength Indication (Indicación de Intensidad de Señal Recibida). El valor es una indicación de la intensidad de campo de recepción de aplicaciones de comunicación inalámbrica. [Wikipedia tiene un artículo bastante bueno](https://en.wikipedia.org/wiki/Received_signal_strength_indicator) al respecto.
En resumen, el RSSI depende principalmente de:<br/>
  - Potencia de transmisión del dispositivo
  - Diseño de la antena
  - Paredes y obstáculos
  - Cuerpos humanos absorbiendo la señal
  - Reflexión e interferencia
  - Orientación del dispositivo<br/>
Pero en escenarios típicos de BLE (Bluetooth Low Energy), la distancia aproximada según el RSSI (espacio abierto) es: <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 cerca de la pérdida de señal<br/>
En interiores, las distancias suelen ser mucho más cortas.<br/>
El RSSI cae aproximadamente según<br/>
    `RSSI ≈ -10 * n * log10(distance) + constant`<br/>
- Por lo tanto, el umbral RSSI por defecto de -75 dBm corresponde a unos 10 a 15 metros en espacio abierto y 3 a 10 metros en interiores o en espacios concurridos. Tienes una buena oportunidad de detectar así a esa persona que lleva gafas inteligentes.
- *Nearby Glasses* muestra un registro de depuración opcional que es exportable (como archivo txt) y cuenta con una función de copiar y pegar. Estos son para usuarios avanzados (nerds) y para depuración adicional.
- En *Settings*, puedes especificar la longitud del registro, la depuración (mostrar todos los elementos escaneados o solo los frames ADV).
- También puedes introducir algunos **IDs de empresa** como cadena de valores hexadecimales, por ejemplo `0x01AB,0x058E,0x0D53`. Esto anula la detección integrada, por lo que tu notificación aparecerá para el nuevo valor o valores.
- Para una mejor persistencia, utiliza el *Foreground Service* de Android. Puedes desactivarlo en *Settings* si no lo necesitas.
- El *Notification Cooldown* en *Settings* especifica cuánto tiempo debe pasar entre dos advertencias. Por defecto es 10000 ms, que son 10 s. Esto también se aplica al canario, por ejemplo, 10s significa que permanecerá alerta durante 10s antes de calmarse de nuevo.
- Ahora está un poco más localizada: <img src="https://raw.githubusercontent.com/yjeanrenaud/yj_nearbyglasses/HEAD/img/canary_hide.svg" align="right" alt="Drawing of a canary that hides underneath a wing" height="100" width="100">
   - Inglés
   - Alemán
   - Alemán suizo
   - Francés
   - Español
   - Chino
   - Italiano
   - Portugués (Brasil)
   - Ruso
   - Turco
   - más por venir, eventualmente ([¡apoya este proyecto contribuyendo en tu idioma!](https://github.com/yjeanrenaud/yj_nearbyglasses/issues/3))
- Ahora el fondo del icono de la app ya no es transparente
- Ahora también escaneamos UUIDs
- *Nearby Glasses* ahora soporta modo oscuro (a través de los ajustes del sistema)
- El problema de diseño edge-to-edge debería estar solucionado a partir de [v1.0.4](https://github.com/yjeanrenaud/yj_nearbyglasses/releases) en adelante.
- Nueva licencia bajo AGPL 3.0
- Decidí renunciar al CLA. Después de algunas discusiones con personas que sabían más que yo sobre proyectos colaborativos, llegué a la conclusión de que era un paso innecesario.
- ahora tiene un icono ligeramente diferente para adherirse más estrictamente a AGPL 3.0.
## iOS y Android
- Finalmente, después de tres semanas, el port para iOS está disponible. Debería funcionar en la mayoría de iPhones y iPads; incluso en los más antiguos (hasta iOS 16). [El código fuente y los archivos del proyecto también se proporcionan](https://github.com/yjeanrenaud/yj_nearbyglasses/blob/main/iOS). El código es feo y poco ortodoxo. Muchos enfoques son rápidos y sucios (por ejemplo, reutilizo los archivos json de la localización de Android), pero funciona hasta ahora. *Nearby Glasses* está disponible a través de la [Apple App Store](https://apps.apple.com/us/app/nearby-glasses-original/id6761056896). (Se llama original para distinguirlo de esas copias). Un .ipa está disponible para sideloading en [releases](https://github.com/yjeanrenaud/yj_nearbyglasses/releases).
  La app de iOS no funciona en segundo plano, porque no encontré la posibilidad de usar algo similar a `ForegroundServices` para escanear permanentemente BTLE ADV debido a las restricciones de iOS. Por lo tanto, solo hay un *Canary Mode* disponible en *Nearby Glasses* bajo iOS. Si conoces Swift e iOS mejor que yo (lo cual es probable), ¡por favor contribuye!
- Debido a que este repositorio contiene tanto el código de la app de Android como la de iOS, reorganice las carpetas. Por lo tanto, hay [/iOS](https://github.com/yjeanrenaud/yj_nearbyglasses/blob/main/iOS) y [/Android](https://github.com/yjeanrenaud/yj_nearbyglasses/blob/main/Android).

## Uso

- Consulta [Releases](https://github.com/yjeanrenaud/yj_nearbyglasses/releases) para descargar el APK o usa Google Play Store. F-Droid y/o Accrescent pueden seguir.
<img width="135" height="300" align ="right" alt="Screenshot Nearby Glasses: Settings" 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. Instala la app (desde [Releases](https://github.com/yjeanrenaud/yj_nearbyglasses/releases) o desde [Google Play](https://play.google.com/store/apps/details?id=ch.pocketpc.nearbyglasses), por ahora) o desde la [Apple App Store](https://apps.apple.com/us/app/nearby-glasses-original/id6761056896), y ábrela
2. Pulsa el botón *Start Scanning*
3. Concede permisos para activar Bluetooth (si no está ya activado) y para acceder a dispositivos cercanos. Algunas versiones de Android también necesitan que concedas permisos para acceder a tu ubicación (antes de la Versión 13, mayormente). *Nearby Glasses* no hace nada con tu información de ubicación. Si no me crees, por favor mira el [código](https://github.com/yjeanrenaud/yj_nearbyglasses/tree/main/app)
4. si no ves que el escaneo comienza, puede que necesites habilitar *Foreground Service* en tu teléfono particular en el menú *Settings* (ver abajo)
5. ¡Ya está todo listo! Cuando se detecten gafas inteligentes cerca, aparecerá una notificación. Lo hará hasta que pulses *Stop Scanning* o termines la app definitivamente
7. En el menú (arriba a la derecha, el engranaje), puedes hacer algunos *Settings*:
   1. *Enable Foreground Service*: Con esto, evitas que Android pause la app, previniendo así que te avise. Recomiendo dejarlo habilitado
   2. *RSSI threshold*: Este número negativo especifica qué tan lejos puede estar un dispositivo para ser motivo de una alerta por *Nearby Glasses*. Técnicamente, se refiere a qué tan fuerte se recibe la señal. Más cerca de cero significa mejor señal, por lo tanto, menor distancia entre tu teléfono y las gafas inteligentes. Ver [RSSI arriba para explicaciones y orientación](#how). Recomiendo dejarlo en -75
   3. *Enable Notifications*: No querrías desactivar eso 
   4. Canary Mode. Este es el nuevo valor por defecto. Con esto, no recibirás notificaciones del sistema que te alerten de gafas inteligentes cerca, sino que verás un canario que indica que no hay gafas inteligentes alrededor. La app de iOS solo tiene un modo canario debido a limitaciones técnicas. <img src="https://raw.githubusercontent.com/yjeanrenaud/yj_nearbyglasses/HEAD/img/canary.svg" alt="Drawing of a canary" width="100" height="100" alignt="left"> 
   5. *Notification/Canary Cooldown*: Aquí, especificas cuántas notificaciones sobre gafas inteligentes encontradas cerca quieres recibir o cuánto tiempo debe esconderse el canario. Elegí 10 segundos (10000 ms) como valor por defecto. Así, no te perderás la notificación y al mismo tiempo no te molestará demasiado ni agotará tu batería demasiado rápido
   6. *Enable Log Display*: Desactivar esto podría ahorrarte algo de batería. Esto está desactivado en modo canario.
   7. *Debug*: Se necesita para ver más que solo los frames BLE coincidentes en el marco de visualización del registro. Es útil para ver si las cosas están funcionando. Esto está desactivado en modo canario.
   8. *Max log lines*: Cuánto puede llegar a crecer el registro. 200 parece ser un buen equilibrio entre la duración de la batería y la usabilidad del registro (para nerds como yo). Esto está desactivado en modo canario.
   9. *BLE ADV only*: Esto excluye otros frames de Bluetooth LE del registro para una mejor legibilidad. Esto está desactivado en modo canario.
   10. *Override Company IDs*: Si quieres, puedes hacer que *Nearby Glasses* te alerte de otros dispositivos distintos a los especificados arriba. Útil para depuración, al menos para mí. Déjalo vacío si no lo necesitas o no sabes qué hacer con él
   11. Cada ajuste se guarda y es efectivo inmediatamente. Para volver, usa tu botón o gesto de atrás
8. La función de exportación te permite compartir un archivo de texto del registro de la app. Para nerds como yo
9. También puedes copiar y pegar el registro tocando el marco de visualización del registro

## ToDos
- **¡Ahora está funcionando en el mundo real!** Logré que algunas personas lo probaran con gafas inteligentes verificadas a su alrededor. ¡Gracias especiales a Lena!
- Consulta [Releases](https://github.com/yjeanrenaud/yj_nearbyglasses/releases) para descargar el APK. 
- También publiqué [*Nearby Glasses* en Google Play](https://play.google.com/store/apps/details?id=ch.pocketpc.nearbyglasses). Sin embargo, siempre publicaré [releases aquí en GitHub](https://github.com/yjeanrenaud/yj_nearbyglasses/releases) y [en otros lugares](https://yves.app/nearbyglasses/latest.apk), para aquellos que evitan Google Play.

---

- Añadir una opción para poner falsos positivos en una lista de ignorados. ¿Quizás en la notificación?
- No soy ningún experto en BT ni en Android. Por lo que he aprendido, uno también podría profundizar más en la comunicación de las gafas inteligentes haciendo sniffing del tráfico BLE. Al hacerlo, probablemente no necesitaríamos depender de que el dispositivo se comporte según las especificaciones de BT, sino que también podríamos usar heurísticas sobre las transmisiones de tráfico cifrado sin muchos falsos positivos. Pero no he mirado paquetes de tráfico BT en más de diez años. Me alegro de haber recordado los frames ADV... Así que si alguien pudiera ayudar con esto, ¡sería muy apreciado!
---
- Añadir **más IDs de fabricantes** de gafas inteligentes. Ahora mismo, son Meta, Oakley y Snap. Una lista de gafas inteligentes con cámaras disponibles también ayudaría. Abrí un [ISSUE para esto](https://github.com/yjeanrenaud/yj_nearbyglasses/issues/56), para que la gente pueda **asistir** enviando sus registros (que son perfectamente seguros, en mi opinión) cuando encuentren otras gafas inteligentes con grabación
- a partir del 24 de marzo de 2026, la versión de iOS también está disponible.
- El **problema de diseño** con **dispositivos Google Pixel** parece estar solucionado a partir de la Versión 1.0.3. Si aún no puedes alcanzar el menú ya que está mezclado con la barra de estado de alguna manera. Lo investigaré lo antes posible. Mientras tanto, intenta poner tu pantalla en modo horizontal y rotar *en sentido horario (a la derecha)*. 

## ¿Tecnosolucionismo?
Sé que este puede ser un lugar extraño para hacer esto, pero escúchame sobre esto. Soy consciente de que esta es una solución técnica a un problema social, que a su vez es amplificado por la tecnología.
No quiero promover el tecnosolucionismo ni quiero que la gente se sienta falsamente segura. Sigue siendo un enfoque imperfecto y probablemente siempre lo será. No todo es bueno solo porque esta app exista ahora. Necesitamos mejores soluciones para frenar la tecnología de vigilancia y la intrusión en la privacidad.

## Compilar desde el código fuente
Como *Nearby Glasses* es de código abierto, también puedes compilar la app tú mismo desde el código fuente. Esto asegura que no haya otras bibliotecas incluidas en el APK y obtengas lo que quieres.

Ten en cuenta que esta app se basa en:
- Gradle Wrapper: 9.3.1
- Android Gradle Plugin: 8.13.2
- Kotlin: 1.9.22
- compileSdk: 36
- targetSdk: 36
- minSdk: 26
- Sin product flavors
- Repositorios: solo google() y mavenCentral()
- Sin plugins de Google Services o Firebase

### Requisitos

- **JDK 17** (requerido — el proyecto apunta a Java 17)
- **Android SDK Platform 35** instalado  
  - compileSdk = 35  
  - targetSdk = 35  
- Git
### Compilar el APK paso a paso```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

Agradecimientos

  • @[email protected] por ayudarme con las advertencias
  • @[email protected] por señalar la idea de un modo canario
  • @pojntfx por señalar mis malentendidos con la licencia
  • Sarah-Jane B. por los consejos de diseño UX
  • Lena Radau por la traducción al español
  • Marcel L. por los comentarios y las pruebas de la aplicación para iOS
  • Lena Hansen por las pruebas de campo
  • ¡Todos los demás que ya han proporcionado comentarios sobre la aplicación!

Licencia y créditos

Icono de la aplicación: El icono está basado en Glasses SVG Vector by sensa, licensed under CC0 1.0 Universal.


Licencia: Esta aplicación Nearby Glasses está licenciada bajo la AGPL-3.0 license.
Canary: Los dibujos del canario están hechos por mí y licenciados bajo CC BY-SA 4.0. Los proporcioné como archivos svg sin procesar (hechos en InkScape) y convertidos a xml, obviamente, para los recursos de la aplicación

Categorías