Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
yj_nearbyglasses — 주변에 있는 스마트 글라스를 감지하여 경고합니다 | Kitploit
도구/GitHubGitHub/yjeanrenaud/yj_nearbyglasses
Android SecurityDefensive ToolsBluetooth SecurityiOS SecurityMobile SecurityPrivacy
GitHubyjeanrenaud/yj_nearbyglasses

yj_nearbyglasses

주변에 있는 스마트 글라스를 감지하여 경고합니다

저장소 보기
2.0k9381일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

yj_nearbyglasses

주변의 스마트 글라스를 감지하여 경고를 시도합니다.

⚠ 경고! ⚠

nearby-glasses-alert.pages.dev는 제 프로젝트와 관련이 없습니다. Play Store와 App Store의 많은 앱이 Nearby Glasses와 매우 유사하게 보이거나 심지어 같은 이름으로 불리기도 합니다. 그들은 이름을 가로채서 그로부터 빠른 수익을 얻으려는 것으로 보입니다. 그들은 AGPL 라이선스를 준수하지 않으며, 어떤 것도 제공하지 않습니다. 저는 이를 지지하지 않습니다.

Nearby Glasses 클래식 스크린샷 Nearby Glasses 카나리아 모드 스크린샷

⚠ 경고! ⚠

상대방이 은밀한 감시 장치를 착용하고 있다고 생각하여 괴롭히는 것은 범죄 행위가 될 수 있습니다. 그러한 장치를 사용하는 것보다 더 심각한 범죄가 될 수도 있습니다. 이 문제에 대한 현지 법률에 대해 법률 자문을 구하시기 바랍니다.

⚠ 누구도 괴롭히지 마십시오 ⚠


Nearby Glasses

Nearby Glasses라는 이 앱은 단 하나의 목적을 가지고 있습니다: 주변의 스마트 글라스를 찾아 경고하는 것입니다.

Google Play에서 받기 IzzyOnDroid에서 받기 Obtainium에서 받기 App Store에서 다운로드

목차

  • Nearby Glasses
  • 왜?
  • 어떻게?
  • 기능
    • RSSI란 무엇인가?
  • iOS 및 Android
  • 사용 방법
  • 할 일
  • 기술 해결책주의?
  • 소스에서 빌드
  • 감사의 말
  • 라이선스 및 크레딧

이 앱은 스마트 글라스가 근처에 있을 때 알려줍니다. 이 글라스들이 보내는 Bluetooth 데이터의 회사 식별자를 사용합니다. 따라서 오탐(false positive)이 발생할 가능성이 높습니다(예: VR 헤드셋). 그러므로 근처에서 안경을 착용한 사람에게 접근할 때는 주의하시기 바랍니다. 이 앱의 경고에도 불구하고 그들은 그저 일반 안경을 쓰고 있을 수도 있습니다.

이 앱의 저자 Yves Jeanrenaud는 이 앱 및 그 기능에 대해 어떠한 책임도 지지 않습니다. 사용에 따른 위험은 사용자 본인에게 있습니다. 기술적 설계상 Bluetooth LE 장치 감지는 때때로 예상대로 작동하지 않을 수 있습니다. 저는 정식 개발자가 아닙니다. 이 모든 것은 제 자유 시간에 제가 스스로 익힌 지식으로 작성되었습니다.
오탐이 발생할 가능성이 높습니다. 즉, Nearby Glasses 앱이 주변에 스마트 글라스가 있다고 알릴 수 있지만, 실제로는 같은 제조사의 VR 헤드셋이나 그 회사 계열의 다른 제품일 수 있습니다. 또한 주변의 스마트 글라스를 놓칠 수도 있습니다. 다시 말하지만: 저는 프로 개발자가 아닙니다.
그러나 이 앱은 무료이며 오픈 소스이므로, 코드를 검토하고, 수정하고, 재사용할 수 있습니다(라이선스에 따라).
Nearby Glasses 앱은 사용자에 대한 어떤 세부 정보도 저장하거나 사용자 또는 휴대폰에 대한 정보를 수집하지 않습니다. 텔레메트리, 광고, 기타 방해 요소가 없습니다. Play Store를 통해 앱을 설치하면 Google이 사용자에 대해 일부 정보를 알고 통계를 수집할 수 있습니다. 그러나 앱 자체는 그렇게 하지 않습니다.
로그 파일을 저장(내보내기)하기로 선택한 경우, 그 데이터가 어디로 가는지는 전적으로 사용자의 선택과 책임입니다. 로그는 로컬에서만 기록되며 자동으로 누구와도 공유되지 않습니다. 로그에는 민감한 데이터가 거의 포함되지 않습니다. 사실, 만난 BLE 장치의 제조사 ID 코드만 포함됩니다.

극도의 주의를 기울여 사용하십시오! 앞서 말했듯이: 감지된 스마트 글라스가 실제로 근처에 있다는 보장은 없습니다. 기술적으로(BLE adv 수준에서) 스마트 글라스와 유사한 다른 장치일 수 있습니다.
성급하게 행동하지 마십시오. 어떤 메시지에 따라 행동하기 전에 생각하십시오(이 앱의 메시지뿐만 아니라).

왜?

  • 스마트 글라스는 동의를 무시하는, 참을 수 없는 침입이며, 이미 다양하고 수많은 정말 역겨운 '콘텐츠'를 만드는 데 사용되고 있는 끔찍한 기술이라고 생각하기 때문입니다. 1, 2
  • 일부 스마트 글라스에는 녹화가 진행 중임을 알리는 작은 LED가 있습니다. 그러나 제조사들이 이를 방지한다고 주장하면서도 전혀 책임을 지지 않음에도 불구하고(기술은 수십 년 동안 그래왔습니다), 이는 쉽게 비활성화할 수 있습니다. 3
  • 스마트 글라스는 이전에 즉시 얼굴 인식에 사용된 적이 있으며 4, 곧 기본 기능으로 제공될 것이라고 알려져 있습니다 5. 이는 많은 사람들을 위험에 빠뜨립니다.
  • 그 데이터는 AI를 훈련하는 데 사용되며, 이는 사람들이 녹화물을 검토하고, 아마도 가장 사적인 내용까지 보게 될 것임을 의미합니다 6
  • 이 앱이 누군가에게 유용하기를 바랍니다.

어떻게?

  • 단순하고 휴리스틱한 접근 방식입니다. BLE는 무작위 MAC을 사용하고 OSSID가 안정적이지 않으며 서비스 알림의 UUID도 안정적이지 않기 때문에, 단순히 Bluetooth 비콘을 스캔할 수는 없습니다. 그리고 상황을 더욱 악화시키기 위해, 예를 들어 Meta와 같은 일부 업체는 독점 Bluetooth 서비스를 사용하고 UUID가 지속적이지 않으므로, 현재로서는 통신되는 장치 이름에만 의존할 수 있습니다.
  • 현재 가장 실행 가능한 접근 방식은 Bluetooth SIG 할당 번호 저장소에서 비롯됩니다. 이에 따르면, 제조사 회사 이름이 BLE 비콘의 패킷 광고 헤더(ADV)에 숫자 코드로 표시됩니다.
  • 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

root@kitploit:~
- [Bluetooth SIG 할당 번호 저장소](https://github.com/yjeanrenaud/yj_nearbyglasses/blob/main/www.bluetooth.com/specifications/assigned-numbers)에 따르면, 다음 회사 ID를 사용할 수 있습니다:
  - `0x01AB` — `Meta Platforms, Inc. (구 Facebook)`
  - `0x058E` — `Meta Platforms Technologies, LLC`
  - `0x0D53` — `Luxottica Group S.p.A` (Meta Ray-Bans 제조사)
  - `0x03C2` — `Snapchat, Inc.` (SNAP Spectacles 제조사)
  - `0x05D6` — `Zhuhai Jieli Technology Co` (Rogbird VisionPro 및 Rollme VistaView 제조사)
  이들은 **불변하며 필수**입니다. 물론 Meta 및 다른 제조사들은 VR 헤드셋 등 Bluetooth가 포함된 다른 제품도 보유하고 있어 해당 ID를 사용합니다. 따라서 앱의 스캔 과정에서 이러한 회사 ID 코드를 사용하면 오탐(false positive)이 발생하기 쉽습니다. 하지만 주변에 Occulus Rift를 착용한 사람이 보이지 않고 숨을 만한 건물도 없다면, 스마트 글래스일 가능성이 높습니다.
- 페어링 중에 스마트 글래스는 일반적으로 제품 이름을 방출하므로 이를 스캔할 수도 있습니다. 하지만 현장에서 이를 볼 일은 드뭅니다. 바, 술집, 거리 등에서 스마트 글래스를 사용하려는 사람들은 보통 사전에 준비를 마칩니다.
- 앱이 충분한 신호 강도(아래 RSSI 참조)를 가진 Bluetooth Low Energy(BLE) 장치를 인식하면 경고 메시지를 푸시합니다. 이는 적절히 대응하는 데 도움이 됩니다.
- 또한 `rayban`, `ray-ban`, `HeyCyan` 등 브로드캐스트되는 장치 이름도 스캔합니다. `HeyCyan`은 [다양한 브랜드의 스마트 글래스용 유명 SDK](https://github.com/ebowwa/HeyCyanSmartGlassesSDK)입니다. 이러한 *HeyCyan* 장치 중에는 ALDI와 Hofer(오스트리아)에서 판매하는 Nilox Smart AI Glasses도 찾을 수 있습니다. 이를 강화하기 위해 해당 글래스의 소프트웨어 측에 고정된 서비스 식별자 `primary_UUID`(`7905FFF0-B5CE-4E99-A40F-4B1E122D00D0`)도 확인합니다. 이 값은 향후 변경될 수 있지만, 변경 시 기존 장치가 사용 불가능해질 수 있으므로 가능성은 낮습니다. 그 경우 스캔 루틴에 UUID를 추가하면 됩니다.
## 기능
- *Nearby Glasses* 앱은 스마트 글래스가 근처에 있을 때(즉, 위에 언급된 회사 ID 중 하나의 BLE 장치가 있을 때) 알림을 표시합니다.
- **근처**란 RSSI(신호 강도)가 지정된 값 이하임을 의미합니다: 기본값은 -75 dBm입니다. 이 기본값은 중간 거리와 대체로 양호한 신호에 해당합니다.
  ### RSSI란 무엇인가?
- RSSI 값에 대해 잠시 설명하겠습니다:<br/>
RSSI는 Received Signal Strength Indication(수신 신호 강도 표시)의 약자입니다. 이 값은 무선 통신 애플리케이션의 수신 전계 강도를 나타내는 지표입니다. [Wikipedia에 이에 대한 괜찮은 문서](https://en.wikipedia.org/wiki/Received_signal_strength_indicator)가 있습니다.
간단히 말해, RSSI는 주로 다음에 따라 달라집니다:<br/>
  - 장치 송신 전력
  - 안테나 설계
  - 벽과 장애물
  - 신호를 흡수하는 인체
  - 반사와 간섭
  - 장치 방향<br/>
하지만 일반적인 BLE(Bluetooth Low Energy) 시나리오에서 RSSI의 대략적인 거리(개방 공간)는 다음과 같습니다:<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 또는 신호 손실에 가까움<br/>
실내에서는 거리가 훨씬 짧은 경우가 많습니다.<br/>
RSSI는 대략 다음에 따라 감소합니다:<br/>
    `RSSI ≈ -10 * n * log10(distance) + constant`<br/>
- 따라서 기본 RSSI 임계값인 -75 dBm은 개방 공간에서 약 10~15미터, 실내 또는 혼잡한 공간에서 3~10미터에 해당합니다. 이 정도면 스마트 글래스를 착용한 사람을 발견할 좋은 기회가 있습니다.
- *Nearby Glasses*는 내보낼 수 있는(텍스트 파일로) 선택적 디버그 로그를 표시하며 복사&붙여넣기 기능을 제공합니다. 이는 고급 사용자(너드)와 추가 디버깅을 위한 것입니다.
- *설정*에서 로그 길이, 디버깅(모든 스캔 항목 표시 또는 ADV 프레임만 표시)을 지정할 수 있습니다.
- **회사 ID**를 16진수 문자열로 입력할 수도 있습니다(예: `0x01AB,0x058E,0x0D53`). 이는 내장 감지를 재정의하므로 새 값에 대해 알림이 표시됩니다.
- 더 나은 지속성을 위해 Android의 *포그라운드 서비스(Foreground Service)*를 사용합니다. 필요하지 않으면 *설정*에서 비활성화할 수 있습니다.
- *설정*의 *알림 쿨다운(Notification Cooldown)*은 두 경고 사이에 경과해야 하는 시간을 지정합니다. 기본값은 10000ms(10초)입니다. 이는 카나리에도 적용됩니다. 예를 들어 10초는 10초 동안 경고 상태를 유지한 후 다시 진정됨을 의미합니다.
- 이제 현지화가 조금 더 확장되었습니다: <img src="https://raw.githubusercontent.com/yjeanrenaud/yj_nearbyglasses/HEAD/img/canary_hide.svg" align="right" alt="날개 아래 숨어 있는 카나리 그림" height="100" width="100">
   - 영어
   - 독일어
   - 스위스 독일어
   - 프랑스어
   - 스페인어
   - 중국어
   - 이탈리아어
   - 포르투갈어(브라질)
   - 러시아어
   - 터키어
   - 더 많은 언어가 추가될 예정입니다([여러분의 언어로 기여하여 이 프로젝트를 지원하세요!](https://github.com/yjeanrenaud/yj_nearbyglasses/issues/3))
- 이제 앱 아이콘의 배경이 더 이상 투명하지 않습니다.
- 이제 UUID도 스캔합니다.
- *Nearby Glasses*는 이제 다크 모드를 지원합니다(시스템 설정을 통해).
- 엣지 투 엣지 레이아웃 문제는 [v1.0.4](https://github.com/yjeanrenaud/yj_nearbyglasses/releases)부터 수정되었습니다.
- AGPL 3.0으로 새로 라이선스가 변경되었습니다.
- CLA를 포기하기로 결정했습니다. 협업 프로젝트에 대해 저보다 더 잘 아는 사람들과 논의한 후, 이는 불필요한 단계라는 통찰을 얻었습니다.
## iOS 및 Android
- 마침내 3주 만에 iOS 포트가 제공됩니다. 대부분의 iPhone과 iPad에서 작동해야 하며, 오래된 기기(iOS 16까지)에서도 작동합니다. [소스 코드와 프로젝트 파일도 제공됩니다](https://github.com/yjeanrenaud/yj_nearbyglasses/blob/main/iOS). 코드는 지저분하고 비정통적입니다. 많은 접근 방식이 빠르고 대충 처리되었지만(예: Android 현지화의 json 파일을 재사용), 지금까지는 작동합니다. *Nearby Glasses*는 [Apple App Store](https://apps.apple.com/us/app/nearby-glasses-original/id6761056896)에서 이용할 수 있습니다. (모방 앱과 구분하기 위해 'original'이라는 이름을 사용합니다.) 사이드로딩용 .ipa는 [릴리스](https://github.com/yjeanrenaud/yj_nearbyglasses/releases)에서 제공됩니다.
  iOS 앱은 백그라운드에서 작동하지 않습니다. iOS 제한으로 인해 BTLE ADV를 영구적으로 스캔하기 위해 `ForegroundServices`와 유사한 것을 사용할 방법을 찾지 못했기 때문입니다. 따라서 iOS의 *Nearby Glasses*에는 *카나리 모드(Canary Mode)*만 있습니다. 저보다 Swift와 iOS를 더 잘 아는 분이 있다면(아마 그럴 것입니다), 기여해 주세요!
- 이 저장소는 Android와 iOS 앱 코드를 모두 보유하므로 폴더를 재구성했습니다. 따라서 [/iOS](https://github.com/yjeanrenaud/yj_nearbyglasses/blob/main/iOS)와 [/Android](https://github.com/yjeanrenaud/yj_nearbyglasses/blob/main/Android)가 있습니다.

## 사용 방법

- APK 다운로드는 [릴리스](https://github.com/yjeanrenaud/yj_nearbyglasses/releases)를 참조하거나 Google Play 스토어를 사용하세요. F-Droid 및/또는 Accrescent가 추가될 수 있습니다.
<img width="135" height="300" align ="right" alt="Nearby Glasses 스크린샷: 설정" 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="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="App Store에서 다운로드" src="https://assets.kitploit.com/production/public/readmes/12083/a6fa504b048d52b4e9f5108021dce33af0d96b8b78c34095072971f4a34471fa.png" /></a>
1. 앱을 설치합니다([릴리스](https://github.com/yjeanrenaud/yj_nearbyglasses/releases) 또는 [Google Play](https://play.google.com/store/apps/details?id=ch.pocketpc.nearbyglasses)에서, 현재는) 또는 [Apple App Store](https://apps.apple.com/us/app/nearby-glasses-original/id6761056896)에서 설치하고 엽니다.
2. *스캔 시작(Start Scanning)* 버튼을 누릅니다.
3. Bluetooth 활성화(아직 활성화되지 않은 경우) 및 주변 장치 접근 권한을 부여합니다. 일부 Android 버전에서는 위치 접근 권한도 부여해야 합니다(주로 버전 13 이전). *Nearby Glasses*는 위치 정보로 아무것도 하지 않습니다. 믿기지 않는다면 [코드](https://github.com/yjeanrenaud/yj_nearbyglasses/tree/main/app)를 확인해 주세요.
4. 스캔이 시작되지 않으면 특정 휴대폰의 *설정* 메뉴에서 *포그라운드 서비스(Foreground Service)*를 활성화해야 할 수 있습니다(아래 참조).
5. 모든 준비가 완료되었습니다! 근처에서 스마트 글래스가 감지되면 알림이 나타납니다. *스캔 중지(Stop Scanning)*를 누르거나 앱을 완전히 종료할 때까지 계속됩니다.
7. 메뉴(오른쪽 상단의 톱니바퀴)에서 일부 *설정*을 할 수 있습니다:
   1. *포그라운드 서비스 활성화(Enable Foreground Service)*: 이를 통해 Android가 앱을 일시 중지하여 경고를 방해하지 못하게 합니다. 이 기능을 활성화된 상태로 두는 것을 권장합니다.
   2. *RSSI 임계값(RSSI threshold)*: 이 음수 값은 *Nearby Glasses*가 경고를 발생시키는 장치가 얼마나 멀리 있을 수 있는지를 지정합니다. 기술적으로는 신호가 얼마나 강하게 수신되는지를 나타냅니다. 0에 가까울수록 신호가 좋으며, 휴대폰과 스마트 글래스 사이의 거리가 더 짧다는 의미입니다. 설명과 지침은 [위의 RSSI](#how)를 참조하세요. -75로 유지하는 것을 권장합니다.
   3. *알림 활성화(Enable Notifications)*: 이 기능을 비활성화하고 싶지는 않을 것입니다.
   4. 카나리 모드(Canary Mode). 이것이 새로운 기본값입니다. 이 모드에서는 근처 스마트 글래스를 알리는 시스템 알림을 받지 않고, 대신 주변에 스마트 글래스가 없음을 나타내는 카나리를 보게 됩니다. iOS 앱은 기술적 제약으로 인해 카나리 모드만 있습니다. <img src="https://raw.githubusercontent.com/yjeanrenaud/yj_nearbyglasses/HEAD/img/canary.svg" alt="카나리 그림" width="100" height="100" alignt="left">
   5. *알림/카나리 쿨다운(Notification/Canary Cooldown)*: 근처에서 발견된 스마트 글래스에 대한 알림을 몇 번 받을지 또는 카나리가 얼마나 오래 숨어 있어야 하는지 지정합니다. 기본값으로 10초(10000ms)를 선택했습니다. 이렇게 하면 알림을 놓치지 않으면서도 너무 자주 방해받거나 배터리를 너무 빨리 소모하지 않습니다.
   6. *로그 표시 활성화(Enable Log Display)*: 비활성화하면 배터리를 절약할 수 있습니다. 카나리 모드에서는 비활성화됩니다.
   7. *디버그(Debug)*: 로그 표시 프레임에서 일치하는 BLE 프레임 이상을 보는 데 필요합니다. 작동 여부를 확인하는 데 유용합니다. 카나리 모드에서는 비활성화됩니다.
   8. *최대 로그 줄 수(Max log lines)*: 로그가 얼마나 길어질 수 있는지 지정합니다. 200은 배터리 수명과 로그 사용성(저 같은 너드에게) 사이의 좋은 균형으로 보입니다. 카나리 모드에서는 비활성화됩니다.
   9. *BLE ADV만(BLE ADV only)*: 가독성을 위해 다른 Bluetooth LE 프레임을 로그에서 제외합니다. 카나리 모드에서는 비활성화됩니다.
   10. *회사 ID 재정의(Override Company IDs)*: 원한다면 *Nearby Glasses*가 위에 지정된 것 외의 다른 장치에 대해 경고하도록 할 수 있습니다. 디버깅에 유용합니다(적어도 저에게는). 필요하지 않거나 어떻게 해야 할지 모르겠다면 비워 두세요.
   11. 모든 설정은 저장되며 즉시 적용됩니다. 돌아가려면 뒤로 가기 버튼이나 제스처를 사용하세요.
8. 내보내기 기능을 통해 앱 로그의 텍스트 파일을 공유할 수 있습니다. 저 같은 너드를 위한 기능입니다.
9. 로그 표시 프레임을 탭하여 로그를 복사&붙여넣기할 수도 있습니다.

## 할 일(ToDos)
- **이제 실제 환경에서 작동합니다!** 검증된 스마트 글래스를 주변에 두고 테스트하는 사람들을 확보했습니다. Lena에게 특별히 감사드립니다!
- APK 다운로드는 [릴리스](https://github.com/yjeanrenaud/yj_nearbyglasses/releases)를 참조하세요.
- [*Nearby Glasses*를 Google Play에](https://play.google.com/store/apps/details?id=ch.pocketpc.nearbyglasses)도 게시했습니다. 하지만 Google Play를 피하는 분들을 위해 항상 [GitHub의 릴리스](https://github.com/yjeanrenaud/yj_nearbyglasses/releases)와 [다른 곳](https://yves.app/nearbyglasses/latest.apk)에도 게시할 것입니다.

---

- 오탐을 무시 목록에 추가하는 옵션을 추가하세요. 알림에서 가능할까요?
- 저는 BT나 Android 전문가가 전혀 아닙니다. 배운 바에 따르면, BLE 트래픽을 스니핑하여 스마트 글래스의 통신을 더 깊이 파고들 수도 있습니다. 그렇게 하면 장치가 BT 사양을 따르는 것에 의존할 필요 없이 암호화된 트래픽 전송에 휴리스틱을 사용하여 오탐을 많이 줄일 수 있을 것입니다. 하지만 BT 트래픽 패킷을 살펴본 지 10년이 넘었습니다. ADV 프레임을 기억한 것만으로도 다행입니다... 누군가 도움을 줄 수 있다면 크게 감사하겠습니다!
---
- 스마트 글래스의 **제조사 ID를 더 추가**하세요. 현재는 Meta, Oakley, Snap입니다. 카메라가 있는 스마트 글래스 목록도 도움이 될 것입니다. 이에 대한 [ISSUE를 열었습니다](https://github.com/yjeanrenaud/yj_nearbyglasses/issues/56). 다른 녹화용 스마트 글래스를 만났을 때 로그(제 생각에는 완전히 안전합니다)를 보내 **도움**을 줄 수 있습니다.
- 2026년 3월 24일 기준, iOS 버전도 제공됩니다.
- **Google Pixel 기기**의 **레이아웃 문제**는 버전 1.0.3부터 수정된 것으로 보입니다. 여전히 상태 표시줄과 섞여 메뉴에 접근할 수 없다면, 최대한 빨리 확인하겠습니다. 그동안 화면을 가로 모드로 전환하고 *시계 방향(오른쪽)으로* 회전해 보세요.

## 기술 해결주의(Tech-Solutionism)?
이상한 곳에서 이 이야기를 하는 것임을 알고 있습니다. 하지만 잠시 들어봐 주세요. 이것이 사회적 문제에 대한 기술적 해결책이며, 그 문제 자체가 기술에 의해 증폭되었다는 것을 알고 있습니다.
저는 기술 해결주의를 조장하고 싶지 않으며, 사람들이 잘못된 안전감을 느끼기를 바라지 않습니다. 여전히 불완전한 접근 방식이며 아마도 항상 그럴 것입니다. 이 앱이 존재한다고 해서 모든 것이 좋은 것은 아닙니다. 감시 기술과 프라이버시 침해를 억제하려면 더 나은 해결책이 필요합니다.

## 소스에서 빌드하기
*Nearby Glasses*는 오픈 소스이므로 소스 코드에서 직접 앱을 빌드할 수도 있습니다. 이렇게 하면 APK에 다른 라이브러리가 포함되지 않고 원하는 것을 얻을 수 있습니다.

참고: 이 앱은 다음을 기반으로 합니다:
- Gradle Wrapper: 9.3.1
- Android Gradle Plugin: 8.13.2
- Kotlin: 1.9.22
- compileSdk: 36
- targetSdk: 36
- minSdk: 26
- 제품 플레이버 없음
- 저장소: google() 및 mavenCentral()만
- Google Services 또는 Firebase 플러그인 없음

### 요구 사항

- **JDK 17** (필수 — 프로젝트는 Java 17을 대상으로 함)
- **Android SDK Platform 35** 설치됨
  - compileSdk = 35
  - targetSdk = 35
- Git
### APK 빌드 단계별 가이드```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

감사의 말

  • @[email protected] — 경고 관련 도움을 주셔서 감사합니다
  • @[email protected] — 카나리 모드 아이디어를 제안해 주셔서 감사합니다
  • @pojntfx — 라이선스에 대한 오해를 지적해 주셔서 감사합니다
  • Sarah-Jane B. — UX 디자인 팁을 주셔서 감사합니다
  • Lena Radau — 스페인어 번역을 맡아 주셔서 감사합니다
  • Marcel L. — iOS 앱 피드백 및 테스트를 해 주셔서 감사합니다
  • Lena Hansen — 현장 테스트를 해 주셔서 감사합니다
  • 앱에 피드백을 주신 다른 모든 분들께 감사드립니다!

라이선스 및 크레딧

앱 아이콘: 아이콘은 Freepik - Flaticon이 제작한 안경 아이콘을 기반으로 합니다.
라이선스: 이 앱 Nearby Glasses는 AGPL-3.0 라이선스에 따라 라이선스가 부여됩니다.
카나리: 카나리 그림은 제가 직접 그렸으며 CC BY-SA 4.0에 따라 라이선스가 부여됩니다. 원본 svg 파일(InkScape로 제작)로 제공했으며, 앱 리소스용으로 xml로 변환했습니다.

도구 다운로드