Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
pyFlipper — Python CLI-обёртка для Flipper Zero | Kitploit
Инструменты/GitHubGitHub/wh00hw/pyflipper
Безопасность BluetoothБезопасность IoTИнструменты RFID/NFCБезопасность беспроводных сетейАппаратный ХакингТестирование на ПроникновениеУтилиты и фреймворкиБезопасность оборудования и IoTRed Teaming
GitHubwh00hw/pyflipper

pyFlipper

Python CLI-обёртка для Flipper Zero

43849212 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий

PyFlipper

Flipper Zero — Python CLI-обёртка

Статьи

  • Как взломать ресторан

Функции и характеристики:

  • Обёртка для последовательного CLI Flipper
  • Интерфейс клиента WebSocket
  • Обычный TCP-интерфейс

Что нового (совместимость с прошивкой 1.x)

Этот релиз приводит обёртку в соответствие с текущим CLI Flipper Zero (проверено на реальном оборудовании, прошивка unlshd-089e):

  • Новый модуль info: flipper.info.device_info() / power_info() / power_debug_info() (современные команды info device / info power).
  • power info → info power: flipper.power.info() продолжает работать и теперь под капотом читает info power. Добавлены flipper.power.otg_on()/otg_off().
  • date: используйте flipper.date.datetime(); разбор был исправлен для текущего формата вывода.
  • Storage: размеры разбираются как в KB, так и в KiB, read() теперь возвращает полное многострочное содержимое файла, а карты exFAT / с пустой меткой разбираются корректно (исправляет #21).
  • Infrared: список протоколов читается в реальном времени из прошивки, поэтому NECext, Kaseikyo, RCA, Pioneer, … поддерживаются автоматически (исправляет #15). Новый flipper.ir.protocols().
  • debug → sysctl debug, subghz tx/rx получили обязательный аргумент device, bt hci_info без изменений.
  • NFC переписан для текущего интерактивного подшелла (scan, dump, emulate, field, apdu, raw, mfu) с утилитами кэша ключей Mifare Classic для каждого UID (import_nfc_keys, write_key_cache).
  • Унифицированный слой последовательной передачи (последовательный порт / websocket / TCP) с обработкой ANSI-escape для текущей оболочки, плюс тестовый набор без оборудования.
  • Удалено из стандартной прошивки (оставлено для пользовательских прошивок, которые всё ещё включают их): ps (→ top), music_player, nfc detect.

Инструкции по установке:

$ pip install pyflipper

Протестировано на:

  • Python 3.8.10 на Linux 5.4.0 x86_64
  • Python 3.9.10 на Windows 10
  • Python 3.10.5 на Android 12 (Termux + OTGSerial2WebSocket НЕ ТРЕБУЕТСЯ ROOT)
  • Python 3.12 на Linux (прошивка unlshd-089e)

Использование/Примеры

Подключение

from pyflipper import PyFlipper

# Локальный последовательный порт
flipper = PyFlipper(com="/dev/ttyACM0")

# ИЛИ

# Удалённый сервер serial2websocket
flipper = PyFlipper(ws="ws://192.168.1.5:1337")

# TCP
flipper = PyFlipper(tcp='192.168.89.222:22170')

Питание

# Информация (на текущей прошивке под капотом читает `info power`)
info = flipper.power.info()

# Выключение
flipper.power.off()

# Перезагрузка
flipper.power.reboot()

# Перезагрузка в режиме DFU
flipper.power.reboot2dfu()

# Включение/выключение вывода 5V OTG на пине GPIO
flipper.power.otg_on()
flipper.power.otg_off()

Обновление/Резервное копирование

# Установка обновления из файла .fuf
flipper.update.install(fuf_file="/ext/update.fuf")

# Резервное копирование Flipper в файл .tar
flipper.update.backup(dest_tar_file="/ext/backup.tar")

# Восстановление Flipper из резервного .tar файла
flipper.update.restore(bak_tar_file="/ext/backup.tar")

Загрузчик

# Список установленных приложений
apps = flipper.loader.list()

# Открыть приложение
flipper.loader.open(app_name="Clock")

Информация о Flipper

# Получить дату Flipper (объект datetime)
date = flipper.date.datetime()

# Получить метку времени Flipper
timestamp = flipper.date.timestamp()

# Получить словарь информации об устройстве (текущая прошивка `info device`, ключи через точку)
device_info = flipper.info.device_info()

# Получить словарь информации о питании (текущая прошивка `info power`)
power_info = flipper.info.power_info()

# Расширенная отладочная информация о питании/датчике
power_debug = flipper.info.power_debug_info()

# Устаревшая команда `device_info` (ключи с подчёркиваниями, всё ещё поддерживается)
legacy_info = flipper.device_info.info()

# Получить словарь информации о куче
heap = flipper.free.info()

# Получить строку free_blocks
free_blocks = flipper.free.blocks()

# Получить информацию Bluetooth
bt_info = flipper.bt.info()

Совместимость прошивок. Эта библиотека теперь нацелена на текущий CLI Flipper Zero (прошивка 1.x, проверено на Unleashed unlshd-089e). Некоторые устаревшие команды были удалены из официальной прошивки и поэтому больше не доступны: ps (заменён интерактивным top), music_player и nfc detect (NFC теперь интерактивный подшелл). power info перемещён в info power, debug перемещён в sysctl debug, а storage теперь сообщает размеры в KiB — всё обрабатывается прозрачно обёртками выше.

Хранилище

Информация о файловой системе

# Получить информацию о файловой системе хранилища
ext_info = flipper.storage.info(fs="/ext")

Проводник

# Получить словарь содержимого /ext
ext_list = flipper.storage.list(path="/ext")

# Получить дерево каталогов /ext
ext_tree = flipper.storage.tree(path="/ext")

# Получить информацию о файле
file_info = flipper.storage.stat(file="/ext/foo/bar.txt")

# Создать каталог
flipper.storage.mkdir(new_dir="/ext/foo")

Файлы

# Прочитать файл
plain_text = flipper.storage.read(file="/ext/foo/bar.txt")

# Удалить файл
flipper.storage.remove(file="/ext/foo/bar.txt")

# Скопировать файл
flipper.storage.copy(src="/ext/foo/source.txt", dest="/ext/bar/destination.txt")

# Переименовать файл
flipper.storage.rename(file="/ext/foo/bar.txt", new_file="/ext/foo/rab.txt")

# MD5-хеш файла
md5_hash = flipper.storage.md5(file="/ext/foo/bar.txt")

# Записать файл одним блоком
file = "/ext/bar.txt"

text = """There are many variations of passages of Lorem Ipsum available, 
but the majority have suffered alteration in some form, by injected humour, 
or randomised words which don't look even slightly believable. 
If you are going to use a passage of Lorem Ipsum, 
you need to be sure there isn't anything embarrassing hidden in the middle of text. 
"""

flipper.storage.write.file(path=file, text=text)

# Записать файл с помощью слушателя
file = "/ext/foo.txt"

text_one = """There are many variations of passages of Lorem Ipsum available, 
but the majority have suffered alteration in some form, by injected humour, 
or randomised words which don't look even slightly believable. 
If you are going to use a passage of Lorem Ipsum, 
you need to be sure there isn't anything embarrassing hidden in the middle of text. 
"""

flipper.storage.write.start(file)

time.sleep(2)

flipper.storage.write.send(text_one)

text_two = """All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as 
necessary, making this the first true generator on the Internet.
 It uses a dictionary of over 200 Latin words, combined with a handful of 
 model sentence structures, to generate Lorem Ipsum which looks reasonable. 
The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.
"""
flipper.storage.write.send(text_two)

time.sleep(3)

# Не забудьте остановить
flipper.storage.write.stop()

LED/Подсветка

# Установить общий светодиод (r,b,g,bl)
flipper.led.set(led='r', value=255)

# Выключить синий светодиод
flipper.led.blue(value=0)

# Установить значение зелёного светодиода
flipper.led.green(value=175)

# Включить подсветку
flipper.led.backlight_on()

# Выключить подсветку
flipper.led.backlight_off()

# Выключить все светодиоды
flipper.led.off()

Вибро

# Включить/выключить вибро (True или False)
flipper.vibro.set(True)
Скачать инструмент