Alright, I’m finally putting Zuuned out there, I got approvals from the mods. This one’s for all of you still keeping your Zunes alive.
I have used AI extensively to decode all that I have at this point. How did that work? I took the time to setup wireshark captures, used an Windows 8 VM, to get the data captures of when you connect a Zune, then I proceeded to use pictures, videos, etc... about every possible transaction in the Zune software I could do. This has taken me MONTHS to build and reverse engineer, lots of that has been in the Massive Testing phases, I have tested on Classic Zune 30s, Zune 2nd Gen 120gb and 80gb, and Zune HDs. The only models that have not so far been tested are the small 2nd gen flash models 4gb, 8gb.
I then took these captures and with Claude and Codex, we reverse engineered each transaction in the MTP connection stack. My goal in doing this was to establish a code base that I could then build something off of and iterate and do the thing I wanted most. SYNC a Zune without windows, I focused on Linux, as Mac OS is still in progress.
I have tested on as many Zunes as I own, to QA what I used Claude and codex for. There has been hours and hours of testing. I still say its in pre-release status at this point. BUT having said this, if you endeavor to use something that is unique and different, give Zuuned a try. I used AI to help me bring the Design of the application to life, I first designed it on paper and used basic physical simulations before I took it to AI to help me build it out.
There are lots of MD files that are available to read in the libzune library, because I wanted to Document everything that I could, the little hangups and observations I have run into, the designs I chose to run with.
libzune is the C based library that should help anyone if they had a project for Zunes, hopefully it gives people a good starting point. Now Zuuned is the application that I built on top of the libzune c library. I so far support, Video, Photo, Music, Podcast and Audiobooks are coming in the future.
Zuuned is a Linux app for managing your Zune and your media collection. I’ve been running it on my own setup for months, and I hope it helps more people enjoy their players on Linux.
It’s not perfect! There will be bugs, rough edges, and setups I haven’t tested. Give it a try, let me know what works, and report what doesn’t.
Underneath it is libzune, a C library I built with help from Claude and Codex. I put a ton of time into reverse engineering how the Zune talks to a computer: digging through protocol traffic, figuring out device behavior, testing, breaking things, and trying again. Community research helped along the way, but a lot of that investigation and testing was my own. The library is available separately for anyone who wants to build something with it.
I’m a Cloud engineer by trade who wanted his Zune to work on Linux and kept going till I got it working. If you can improve the code, documentation, compatibility, or design, I encourage it. Fork it, experiment, send a PR, or take it in your own direction. It’s free and open source under GPLv3. Just keep making Zune better. Fork it, build with it, expand it. My goal is to make Zune great again by building tooling needed to do it.
Why does it look like this? Because I wanted something fun to use. Something with personality that didn’t look like everything else out there. I honestly made it for me, and it’s taken a long, long time to get here. Now I’m sharing it with you.
Special thanks to magicisinthehole for XuneSyncLibrary and NiceBeard for zune-explorer. Their protocol research and reverse-engineering work provided valuable references and helped make this possible. The ZMDB protocol definitely made reading from the zunes much faster.
Enjoy your Zunes. Build cool things. Make them better.
Y’all rock.
Download Zuuned Linux:
https://github.com/badgeromen/zuuned-linux/releases
Source code and bug reports:
https://github.com/badgeromen/zuuned-linux
libzune:
https://github.com/badgeromen/libzune