Skip to content
/ fztea Public

πŸ¬πŸ§‹ Remote control your flipper from the local terminal or over SSH

License

Notifications You must be signed in to change notification settings

jon4hz/fztea

Folders and files

NameName
Last commit message
Last commit date
Sep 1, 2024
Jan 29, 2023
Jan 29, 2023
Jan 29, 2023
Jul 29, 2022
Oct 13, 2022
Jul 27, 2022
Sep 1, 2024
Jul 27, 2022
Sep 1, 2024
Jul 3, 2023
Apr 14, 2025
Apr 14, 2025
Sep 1, 2024
Jan 29, 2023
Jan 29, 2023
Sep 1, 2024

Repository files navigation

πŸ¬πŸ§‹ Fztea

lint goreleaser Go Report Card Powered by Dolphines

A bubbletea-bubble and TUI to interact with your flipper zero.
The flipper will be automatically detected, if multiple flippers are connected, the first one will be used.

πŸš€ Installation

# using go directly
$ go install github.com/jon4hz/fztea@latest

# from aur (btw)
$ yay -S fztea-bin

# local pkg manager
## debian / ubuntu
$ dpkg -i fztea-v0.6.2-linux-amd64.deb

## rhel / fedora / suse
$ rpm -i fztea-v0.6.2-linux-amd64.rpm

## alpine
$ apk add --allow-untrusted fztea-v0.6.2-linux-amd64.apk

# homebrew (macOS & linux)
$ brew install jon4hz/homebrew-tap/fztea

# windows
# -> I'm sure you'll figure something out :)

✨ Usage

# trying to autodetect that dolphin
$ fztea

# no flipper found automatically :(
$ fztea -p /dev/ttyACM0

⚑️ SSH

fztea also allows you to start an ssh server, serving the flipper zero ui over a remote connection.
Why? - Why not!

# start the ssh server listening on localhost:2222 (default)
$ fztea server -l 127.0.0.1:2222

# connect to the server (from the same machine)
$ ssh localhost -p 2222

By default, fztea doesn't require any authentication but you can specify an authorized_keys file if you want to.

# use authorized_keys for authentication
$ fztea server -l 127.0.0.1:2222 -k ~/.ssh/authorized_keys

πŸ“Έ Screenshots

You can take a screenshot of the flipper using ctrl+s at any time. Fztea will store the screenshot in the working directoy, by default in a 1024x512px resolution.
The size of the screenshot can be customized using the --screenshot-resolution flag.

$ fztea --screenshot-resolution=1920x1080

⌨️ Button Mapping

Key Flipper Event Keypress Type
w, ↑ up short
d, β†’ right short
s, ↓ down short
a, ← left short
o, enter, space ok short
b, back, esc back short
W, shift + ↑ up long
D, shift + β†’ right long
S, shift + ↓ down long
A, shift + ← left long
O ok long
B back long

🌈 Custom colors

You can set custom fore- and background colors using the --bg-color and --fg-color flags.

$ fztea --bg-color="#8A0000" --fg-color="#000000"

Results in:

ColorScreenshot

🎬 Demo

Local

LocalDemo

SSH

flipper_ssh_demo.mp4