Flipper Zero firmware and remote archive management. This copies files from a local git repo EXTREMELY EFFICIENTLY AND FAST to your flipper zero so you can have large DB dumps with ease!
cskartikey
Check their projects out: Orpheus Editor, som, Summer of Making!
Andrew
Check their project out: Maze Game
obob
Check their projects out: Markdown Converter for Raycast, shells, spotify-mood, tinypie, mirrored, hackpad, portfolio, Read More, treeboard, pcb keychain, u-crawler, another personal website, Chronotime
Once you ship this you can't edit the description of the project, but you'll be able to add more devlogs and re-ship it as you add new features!
I added some of the libraries I forked and worked on to make flippy to the associated hackatime projects.
Too tired to find a funny meme so here's a recycled one:
MASSIVE UPDATES. 0.4.1 brings many new features missing from the cli, new logging, better error handling, more progress, etc. Not 0.5.0 since no breaking changes but alas its fine.
This took a while lol.
Did some things!
FLIPPY
logo./
prefix in operation paths since
it does not exist.json
feature for tracing_subscriber
json
logging via the --json
flagrelease-hyper
overkill performance profileupload
operationsowo-colors
: I need to figure out a better way to colorize version info
without compromising binary size and ease of use.:kekw:
from package descriptionlogo.txt
, please see src/art.rs for the latest art.unicode-width
→ 0.2.1
flipper-rpc
→ 0.9.3
flake.lock
Y
now joins into the P
preceding it.level!(variable, "...")
form instead of level!("...{variable}...")
for
better JSON logging support.Ok so I just did some general cleanup of the codebase, and fully implemented the update command! It put my flipper on a new firmware! I also fixed a bug where it would not use custom firmware at all.
It now pretty-prints the firmware info with fancy colors!
Attached is a relevant image.
I attempted to fix the update tar copying. It kinda worked! Most of the time was spend on flipper-rpc trying to debug HOW and WHY it was not working when I tried to send a the .tgz file to the flipper. But now I get errors: STORAGE_INTERNAL, I think the flipper doesn't support gzip tars, in that case the ENTIRE THING I JUST DID TODAY was ABSOLUTELY USELESS. and i'm VERY MAD :(
Currently working on update mechanism, just implemented the tar extraction wrapper in flipper-rpc, will work on demo video after this.
Current status: Everything is Fine... Or is it?
0.2.3 brings exciting new features (implementations)
Hey it’s beginning to look like you can tell when I’m too tired to use ChatGPT for my devlogs! This man is a fraudster! Or at least it seems so…
I added the update download and parsing functionality, running flippy firmware pull
now successfully downloads the latest tgz from your channel and extracts it (What innovation!) TODO: Copy it to the flipper and run the update command.
I also added cool pictures when the cli errors. With that ascii bundle comes the ALL NEW FLIPPY UNOFFICIALLY OFFICIAL CLI LOGO party parrot noises
thank you for not reading this
Wow you read even father! (Typo in case you missed it)
TIL: you can restore old firmwares on a flipper by going to /ext/update/*/update.fuf and clicking run! No download required!
Attached is the windows update cycle for reference on how NOT to do it.
Day 3: Today was ALL about PATHS!!!
Features & Improvements:
upload
now uses MD5 hashes to determine whether remote files differ from local ones, reducing false positives from size-only checks.Op
enum and improved diff generation.map
: You can now add exclusions using --excludes
, which updates the flip.toml
mappings appropriately.💬 CLI polish:
--force-walkdir
flag to upload
(stubbed with unimplemented!()
).-v
, -vv
, -vvv
.Internal Changes:
prune
, create
, and update
stages.join_as_relative
into a shared utility.is_file
/is_directory
helpers with direct checks to improve correctness and reduce misuse.main.rs
, including error handling, tracing setup, and command dispatch logic.Fixes:
.flippy_do_not_remove
sync logic.
```
feat: implement checksum-based remote diffing and clean up CLI--force-walkdir
option to upload
(not yet implemented)--excludes
in map
commandNEW LOGO! It's even patented by OpenAI!
Replaced the old Vec
system with a clean Mappings
struct.
MappingEntry
with include
/exclude
lists.Introduced a SyncFile
structure that gets written to Flipper as /ext/.flippy_do_not_remove
.
upload
is now a fully working command that computes a three-way diff, however it does not perform any operations yet, it just logs them
gix
to diff the local repo stateImproved UUID collision handling for repositories
Upgraded flipper-rpc
to use transport-serial-optimized-large-stack-limit
, needed for large ass reads with some dirs
Added significant internal diagnostics and tracing messages
New flip.toml structure for mappings, I changed this to support a better diff algo.
Copy
to batch file transfersday 2: refactor(mapping): switch to typed mapping system, integrate sync file support
- Introduced new typed `Mappings` structure with explicit fields for each mapping type (e.g. subghz, nfc)
- Replaced vector of enum-based mappings with structured `MappingEntry` objects
- Updated `.gitignore` to include `/f0` temporary files
- Upgraded `flipper-rpc` to 0.6.3 with `large-stack-limit` transport feature
- Switched upload flow to rely on a persistent sync file for fast diffing
- Implemented file transfer ops as diff ops: Copy, CreateDir, Remove
- Improved path handling and structured remote directory interactions
- Prevented duplicate repositories by checking both UUID and name
- Added fallback logic for first-time uploads without sync metadata
VERSION 0.1.0 IS OUT! (Forget the 4h whatever, this took 1.5+ months)
Guess what! It doesn't work. Actually a lot of it DOES work, but everything else does NOT.
Every function besides flippy upload
is implemented. Also its buggy. DO NOT USE THIS. YOUR FLIPPER ZERO WILL, AND I REPEAT WILL, NOT WORK IF YOU (ie, not me) RUN ANYTHING STUPID (ie, i wouldnt do it).
No docs here. No adventure. Here's it raw!
Check the repo :cheers:
YOU WANT DOCS? flippy help
there are your docs you scumbag.
seriously don't run this it may brick everything you own (could you imagine your mom turning into a brick?)
No releases yet! However I have been hard at work on this project for over two MONTHS...
I have been juggling this project with flipper-rpc (the sister project that powers flippy) and development has been mainly for that.
Expect 0.1.0 soon!