# Обнаружение устройств

Вы можете использовать встроенный в наш сервис mDNS для обнаружения всех онлайн-устройств FIRERPA в локальной сети, а также их адресов, версий и другой информации. Вы даже можете напрямую получить доступ к таким сервисам, как удаленный рабочий стол FIRERPA, через доменное имя вида `{ro.serialno}.local` в браузере. Обратите внимание, что для использования доменных имен mDNS может потребоваться поддержка со стороны вашей системы, а также версия FIRERPA >= 7.85. По умолчанию служба mDNS не запущена; вам необходимо настроить `mdns.enable=true`, чтобы включить ее.


## Обнаружение всех устройств

Вы можете использовать библиотеку `mdns-beacon` для быстрого получения списка всех устройств. Сначала выполните `pip install mdns-beacon`, чтобы установить этот инструмент. После установки выполните следующую команду, которая выведет список всех устройств в текущей сети, на которых запущен FIRERPA. Эта функция может не работать из-за ваших сетевых настроек или особенностей некоторых моделей устройств, что может привести к невозможности их обнаружения.

```bash
mdns-beacon listen --service _lamda._tcp.local.
```

![mdns-beacon](/assets/images/mdns-beacon.png)


Если ваше устройство поддерживает mDNS (наилучшая поддержка в Mac, для Windows и Linux может потребоваться дополнительная настройка), вы можете напрямую ввести в браузере имя сервера с портом, например `ad12cf9d6d15385f.local:65000`, чтобы получить доступ к удаленному рабочему столу. Строка, которую вы видите, например `ad12cf9d6d15385f`, является `android_id` системы Android. Вы можете получить его с помощью следующей команды.

```bash
adb shell settings get secure android_id
```

Конечно, вы также можете использовать библиотеку `zeroconf` для программного обнаружения устройств, например [python-zeroconf](https://github.com/python-zeroconf/python-zeroconf). Помимо программного обнаружения служб, она также позволяет перечислять некоторую информацию об устройствах Android (требуется настройка).


## Настройка службы обнаружения

Мы также поддерживаем использование конфигурационного файла `properties.local` для настройки некоторых аспектов обнаружения служб, например, вы можете изменить тип службы или задать для каждого устройства фиксированное имя сервера.


Разрешить ли трансляцию информации об устройстве, такой как его ID, ABI, версия Android, модель и т.д. По умолчанию трансляция отключена.

```ini
mdns.meta=true
```

Устанавливает имя службы mDNS для текущего устройства. Вы можете изменить его, чтобы повысить скрытность FIRERPA. По умолчанию используется `lamda`.

```ini
mdns.service=lamda
```

Устанавливает фиксированное имя сервера для текущего устройства, то есть имя в поле Server, которое вы видели на изображении выше. Вам не нужно включать суффикс `.local` в задаваемое имя; этот суффикс является обязательным и будет добавлен автоматически. Вам необходимо задать уникальное фиксированное имя для каждого устройства.

```ini
mdns.name=DEVICEID-UNIQUE-NAME
```