Skip to content

excitoon/zero-updater

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Zero Updater

Flipper Zero RPC client over BLE. Upload files, launch apps, and manage storage — all wirelessly.

Built for deploying zero-bluetooth-bridge and other Flipper apps without a USB cable.

Install

pip install git+https://github.com/excitoon/zero-updater.git

Requires Python 3.10+ and a BLE-capable host (macOS, Linux, Windows).

Usage

# Upload and launch an app
zero-updater upload my_app.fap /ext/apps/Tools/my_app.fap --launch

# List files
zero-updater ls /ext/apps/

# Read a file
zero-updater read /ext/apps/Tools/my_app.fap -o local_copy.fap

# Device info
zero-updater info

# Ping
zero-updater ping

# Reboot
zero-updater reboot

Options

-a, --address    BLE address of Flipper (auto-discovered if omitted)
-t, --timeout    BLE scan timeout in seconds (default: 10)
--debug          Print raw BLE data

Python API

import asyncio
from bleak import BleakClient
from zero_updater import FlipperRPC, find_flipper

async def main():
    dev = await find_flipper()
    async with BleakClient(dev) as client:
        rpc = FlipperRPC(client)
        await rpc.start()

        await rpc.storage_write("/ext/test.txt", b"hello flipper")
        entries = await rpc.storage_list("/ext/")
        info = await rpc.system_device_info()
        await rpc.app_start("/ext/apps/Tools/my_app.fap")

        await rpc.stop()

asyncio.run(main())

License

MIT

About

Flipper Zero BLE RPC updates tools

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages