MAC OS X - findphone - поиск телефона по уровню сигнала Bluetooth из командной строки macOS - 2026

Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2026
Перейти к:навигация, поиск

Published: 2026-08-05


findphone - поиск телефона по уровню сигнала Bluetooth из командной строки macOS - 2026

findphone - небольшая утилита командной строки для macOS, которая помогает найти находящийся поблизости телефон или другое Apple-устройство по уровню Bluetooth-сигнала. Проект опубликован на GitHub как open-source-репозиторий ben-z/findphone и написан на Swift с использованием системных возможностей macOS и CoreBluetooth.

Главная идея проста: если Find My недоступен, но устройство всё ещё включено, рядом и передаёт Bluetooth-сигнал, можно перемещаться по комнате и смотреть, становится ли RSSI сильнее. Это не полноценный локатор с направлением на цель, а практический «горячо-холодно» инструмент для терминала.

Для чего нужен findphone

findphone рассчитан на ситуации, когда обычный поиск через Find My невозможен. В README проекта прямо приведён пример с устройством, подключённым к MDM, где Find My может быть отключён политиками управления. В таком случае телефон нельзя заставить звонить, но его Bluetooth-модуль может оставаться видимым.

Типичные сценарии:

  • телефон лежит где-то в комнате, офисе или квартире;
  • Find My отключён или недоступен;
  • нужно понять, в какой стороне помещения сигнал усиливается;
  • рядом есть несколько Apple-устройств, и требуется быстро оценить уровень сигнала каждого;
  • нужен инструмент без графического интерфейса, прямо из терминала macOS.

Установка

Разработчик предлагает брать готовый универсальный бинарник из раздела Releases. На момент изучения репозитория актуальный опубликованный релиз - v0.1.0 от 31 июля 2026 года. Архив содержит сборку для arm64 и x86_64.

tar -xzf findphone-macos-universal.tar.gz
xattr -dr com.apple.quarantine findphone
./findphone --help

Команда с xattr нужна потому, что бинарник не подписан, и macOS помещает загруженный файл в карантин. Для работы требуется macOS 13 или новее.

Также утилиту можно собрать из исходников:

swift build -c release
cp .build/release/findphone ~/bin/findphone

Для сборки нужен Swift toolchain из Xcode Command Line Tools. В Package.swift указана минимальная платформа macOS 13; внешних зависимостей у пакета нет.

Основные режимы работы

findphone поддерживает три базовых сценария запуска:

findphone
findphone iphone
findphone --list
Команда Назначение
findphone Режим обзора: показывает ближайшие Apple handheld-устройства по силе сигнала
findphone iphone Режим поиска: отслеживает одно устройство по имени, без учёта регистра
findphone --list Показывает спаренные Bluetooth-устройства, адреса, RSSI и состояние подключения

В режиме поиска интерфейс обновляется часто, выводит крупное значение dBm, шкалу сигнала, пик за последнюю минуту, источник измерения и подсказку тренда: сигнал становится сильнее, слабее или остаётся стабильным.

Как читать RSSI

RSSI измеряется в dBm. Значения отрицательные: чем ближе число к нулю, тем сильнее сигнал и обычно тем ближе устройство.

RSSI Примерное значение
-45 dBm и выше Очень близко, примерно на расстоянии вытянутой руки
-60 dBm На том же столе
-72 dBm В той же комнате
-85 dBm Далеко или за преградой
Ниже Очень далеко, экранировано или сигнал сильно ослаблен

Важно: Bluetooth-сигнал плохо подходит для точного измерения расстояния. Металл, стены, мебель и тело человека заметно искажают результат. Поэтому автор рекомендует доверять не одному числу, а тенденции при движении.

Звуковой режим

Флаг --sound работает только при поиске конкретного устройства:

findphone iphone --sound

В этом режиме утилита издаёт щелчки, которые учащаются при приближении к цели. Логика напоминает парковочный датчик: примерно один щелчок в секунду на расстоянии комнаты и почти «жужжание» при уровне около -50 dBm. Если контакт устарел, щелчки прекращаются, то есть тишина означает отсутствие свежего сигнала.

Приватность и --redact

Флаг --redact предназначен для записи экрана или демонстрации работы утилиты. Он скрывает Bluetooth-адреса, а в режиме обзора заменяет имена найденных устройств на типы Continuity-сообщений. Это важно, потому что публичный Bluetooth-адрес paired-устройства является стабильным аппаратным идентификатором.

findphone iphone --redact
findphone --list --redact

Однако есть исключения: введённое имя цели в hunt mode остаётся видимым, а список --list всё равно показывает имена устройств. Поэтому сам разработчик предупреждает, что --list небезопасен для видеозаписи даже с включённым редактированием.

Как это работает внутри

findphone объединяет несколько источников сигнала:

  • GATT link - после подключения по BLE команда readRSSI() даёт свежие измерения примерно три раза в секунду;
  • BLE advertisements - пассивно замеченные рекламные пакеты Bluetooth, но имена устройств встречаются не в каждом пакете;
  • Classic Bluetooth RSSI - данные из system_profiler SPBluetoothDataType для уже спаренных устройств.

В коде также используется сглаживание: отображаемый live RSSI берётся как медиана короткого окна измерений. Это защищает интерфейс от одиночных всплесков и отражений сигнала. Для ускорения повторного поиска findphone кэширует UUID найденного BLE-периферийного устройства в ~/.config/findphone/devices.json.

Ограничения

findphone полезен, но его нельзя воспринимать как замену Find My:

  • он не может заставить телефон звонить;
  • он не показывает направление, только косвенную силу сигнала;
  • устройство должно быть включено, иметь активный Bluetooth и находиться в пределах досягаемости;
  • в помещении радиус может быть около 10-20 метров, но стены и металл резко уменьшают дистанцию;
  • для терминала, из которого запускается утилита, нужно разрешение Bluetooth в System Settings > Privacy & Security > Bluetooth;
  • в репозитории на момент обзора не указана отдельная лицензия.

Резюме

findphone - узкий, но очень практичный инструмент для macOS: он превращает терминал в Bluetooth-индикатор близости. Сильная сторона проекта - честное отношение к ограничениям RSSI: утилита не обещает невозможного, но даёт достаточно данных, чтобы методично обойти комнату и найти устройство по усилению сигнала. Особенно полезны режим обзора, поиск по имени, звуковые щелчки и приватный вывод для демонстраций.

Ссылки

×
Реклама
ИКС