Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Интерфейс командной строки для Yandex Smart Home API
/ Далее по тексту - УДЯ - Умный Дом Яндекса /
Утилита работает с УДЯ через командную строку, конечная цель - уметь то же, что умеет Web-интерфейс Яндекс Quasar
Сейчас она умеет
Работа со снапшотами и вывод в краткой форме удобен для формирования списков include_entities/exclude_entites расширения Home Assistant yandex_smart_home
Утилита находится на ранних этапах развития, и точно содержит ошибки и недоработки, багрепорты и пулл реквесты приветствуются
Для установки воспользуйтесь pip
:
pip install yandex-quasar-cli
Для запуска используйте либо прямой вызов команды:
yandex-quasar-cli --help
Либо запуск через модуль:
python -m yandex_quasar_cli --help
Команда | Что делает |
---|---|
yandex-quasar-cli quasar | Получение общей информации о сущностях УДЯ |
yandex-quasar-cli device | Работа с отдельным устройством |
yandex-quasar-cli oauth | Работа с ключом OAuth |
yandex-quasar-cli snapshots | Работа со снапшотами состояния |
oauth
: работа с ключом OAuthКлюч OAuth обязателен для получения доступа к УДЯ через API Яндекса. Все команды утилиты, кроме help и собственно oauth требуют валидного ключа
Команды:
Команда | Что делает |
---|---|
oauth help | Вывод справки о том, как получить OAuth ключ к своему УДЯ |
oauth save-key <key> | Сохранить OAuth ключ в конфигурационном файле |
oauth print-key <key> | Вывести ранее сохраненный OAuth ключ в консоль |
quasar
: получение информации о сущностях УДЯВыводит информацию о сущностях УДЯ в текстовом или табличном TSV формате
Команда | Что делает |
---|---|
quasar <object-type> | Общий формат команды |
quasar devices | Информация об устройствах |
quasar groups | Информация о группах |
quasar households | Информация о домах |
quasar rooms | Информация о комнатах |
quasar scenarios | Информация о сценариях |
--tsv
Вывод информации в табличном TSV формате
Команда | Что делает |
---|---|
quasar devices --tsv | Информация об устройствах в формате TSV |
devices
: работа с устройством УДЯВыводит информацию об устройствах или дает управлять ими
Устройство идентифицируется при помощи устройства в УДЯ вида ece1632c-0e22-42ba-bbef-1c7ff107bd29.
Id может быть получен командой quasar devices
Команда | Что делает |
---|---|
device info <id> | Информация об устройстве с указанным id |
device delete <id> | Удаление устройства с указанным id |
device switch-on <id> | Включение устройства с указанным id, если оно работает как выключатель |
device switch-off <id> | Выключение устройства с указанным id, если оно работает как выключатель |
--tsv
Вывод информации в табличном TSV формате
--ext
(только для команды delete) - используется external id в качестве аргумента удаления
Команда | Что делает |
---|---|
device <id> --tsv | Информация об устройствах в формате TSV |
snapshot
: работа со слепками состояния УДЯПозволяет сохранять состояние всех сущностей УДЯ на текущий момент времени в конфигурационном файле и позже сравнивать новое состояние сущностей УДЯ с сохраненным. Удобно для отладки, а также для генерации списков устройств для Home Assistant Вывод либо имеет структуру, похожую на JSON формат Yandex API, либо перечисляет добавленные или удаленные сущности
Команда | Что делает |
---|---|
snapshot save | Сохранение слепка текущего состояния УДЯ. Предыдущий слепок перезатирается |
snapshot compare | Сравнение текущего состояния УДЯ с сохраненным слепком |
snapshot compare
:Команда | Что делает |
---|---|
snapshot compare | Сравнение текущего состояния УДЯ с сохраненным слепком |
snapshot compare --no-props-caps | Сравнение без текущих значений датчиков |
snapshot compare --full | Полное сравнение (выдает только различающиеся поля объектов) |
snapshot compare --external-ids | Вывод списка external id добавленных и удаленных устройств (с префиксами +/- |
snapshot compare --ids | Вывод списка external id и internal id добавленных и удаленных устройств (с префиксами +/- |
Для того, чтобы поучаствовать в разработке, скачайте себе исходный код, после чего настройте окружение venv:
cd yandex-quasar-cli
python -m venv venv
source venv/bin/activate
Установите зависимости:
pip install -e '.[test]'
Для запуска тестов (пока их нет):
pytest
FAQs
Command line interface for Yandex Smart Home API
We found that yandex-quasar-cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.