# 🧰 Messy-Little-Gadgets > A collection of small, handy Python utilities — random little tools for everyday tasks. **Messy-Little-Gadgets** is a growing collection of miscellaneous Python scripts and tools. Each script is self-contained and solves a simple, practical problem. --- ## 🧩 Included Tools ### 🔄 Directory Sync — `directory_sync.py` A universal directory synchronization tool. - 🔁 **One-way / Two-way** sync modes - 🔍 **MD5-based** change detection - ⏱️ **Periodic** checking (default 5s) - ⚙️ **Manual input or env vars** configuration (`DIRSYNC_SRC/DST/MODE/INTERVAL`) ```bash # One-way sync (via env vars) set DIRSYNC_SRC=D:/src set DIRSYNC_DST=D:/dst set DIRSYNC_MODE=oneway python directory_sync.py ``` ### 🎵 Music Downloader — `music_downloader.py` A simple Tkinter GUI tool to search and download music from an online source. - 🔍 **Search** songs by keyword - ⬇️ **Download** a song by its ID - 🔥 **Hot songs** list browsing - 📂 **Custom save path** via file dialog ```bash python music_downloader.py ``` ### 🔐 Argon2 Password Hasher — `argon2_password_hasher.py` A secure password hashing utility using **Argon2id** (2025 recommended parameters). - 🧂 **Auto salt** generation - 💾 **Hash** passwords (Argon2id format) - ✔️ **Verify** passwords - 🔄 **Rehash check** for parameter updates ```bash python argon2_password_hasher.py ``` --- ## 📁 Project Structure ``` Messy-Little-Gadgets/ ├── directory_sync.py # Directory sync tool ├── music_downloader.py # Music download GUI tool ├── argon2_password_hasher.py # Argon2 password hasher └── README.md # This document ``` --- ## 📄 License This project is licensed under the **MIT License**. See [LICENSE](LICENSE) for details. --- ## 🙏 Note > Each gadget is independent and minimal. More little tools will be added over time. Feel free to use them in your own projects.