
Scatena tutto il potenziale delle tue cuffie BES! :)
<h1 align="center"> openqore <br> <img src="https://assets.kitploit.com/production/public/readmes/7937/59eba04db6584ca6826b9cf3f0ce9e274dcd4921d152a8a17ee5d2ce2112afb4.png" width="40" alt="open-qore logo"> </h1> un toolkit open-source per applicare patch, modificare e migliorare il firmware delle cuffie basate sui chipset BES (inizialmente nato dalle soundcore Q35), con il supporto futuro per altri modelli previsto. > **nota:** questo progetto è il mio viaggio personale nel mondo del reverse-engineering hardware e dei sistemi embedded. aspettatevi bug, errori e tanto divertimento. ogni contributo e consiglio è benvenuto! <p align="center"> <a href="https://github.com/nnonickreal/openqore"><img src="https://img.shields.io/badge/status-in%20development-orange?style=for-the-badge" alt="Status"></a> <a href="https://github.com/nnonickreal/openqore/blob/main/LICENSE"><img src="https://img.shields.io/github/license/nnonickreal/openqore?style=for-the-badge" alt="License"></a> <a href="https://github.com/nnonickreal/openqore/stargazers"><img src="https://img.shields.io/github/stars/nnonickreal/openqore?style=for-the-badge" alt="Stars"></a> <a href="https://github.com/nnonickreal/openqore/issues"><img src="https://img.shields.io/github/issues/nnonickreal/openqore?style=for-the-badge" alt="Issues"></a> </p> # informazioni importanti! (navigazione rapida) **vuoi:** * applicare una patch al firmware delle tue cuffie? -> qorepatcher (questo repository, guarda sotto per la guida rapida) * installare / sviluppare il firmware personalizzato? (`solo dispositivi soundcore basati su bes2300p` al momento) -> [openqore SDK](https://github.com/nnonickreal/openqore-sdk) * flashare un aggiornamento / installare un firmware personalizzato over-the-air? (OTA) -> [file OTA per dispositivi BES](https://github.com/nnonickreal/openBES/blob/main/archive/FIRMWARES.md) e [besota](https://github.com/nnonickreal/besota) - flasher OTA per BES * flashare un aggiornamento via UART / ripristinare dopo un aggiornamento andato male o fare un backup? -> [guida al flashing hardware](https://github.com/nnonickreal/openqore/blob/main/docs/UART_things/FLASH_MP.md) ho anche creato un progetto demo - un [port di DOOM](https://github.com/nnonickreal/DOOMcore) basato sul progetto [DOOMBuds](https://github.com/arin-s/DOOMBuds). dateci un'occhiata anche a quello! =) <h2 align="center"> qorepatcher </h2> <p align="center"> <strong><a href="https://github.com/nnonickreal/openqore/blob/main/INDEX.md">📚 leggi la documentazione completa 📚</a></strong> </p> ## dispositivi supportati questo progetto è nato con le soundcore Life Q35. se vuoi aiutare a testare o aggiungere il supporto per un nuovo modello, apri una issue o mandami un DM (leggi [contatti](#contact--community))! leggi [roadmap e modelli](https://github.com/nnonickreal/openqore/blob/main/docs/roadmaps/RMS.md) per lo stato di supporto di chip e modelli. ### roadmap del progetto - [x] patcher firmware iniziale per la sostituzione dei suoni. - [x] rendere il patcher compatibile con tutti i chipset bes2300* (**attenzione! richiede test**) - [ ] rendere il patcher compatibile con tutti (o la maggior parte) i chipset bes - [x] creare una GUI user-friendly per il patcher. - [x] fare reverse-engineering del protocollo di aggiornamento OTA (over-the-air) per il flashing wireless. (vedi [besota](https://github.com/nnonickreal/besota)) - [ ] documentare la struttura del firmware e le funzioni chiave. - [ ] sviluppare una libreria di sound pack creati dalla community. ## guida rapida questa guida presuppone che tu abbia `python` e `git` installati sul tuo sistema se sei su linux o usi la modalità CLI. **1. scarica l'ultima release da [releases](https://github.com/nnonickreal/openqore/releases/latest) e apri il file .exe.** **2. installa le dipendenze (solo per CLI, linux e build)** il patcher richiede FFmpeg per la conversione audio e pybluez: **windows:** ``` pip install git+https://github.com/pybluez/pybluez.git winget install ffmpeg ``` **macos:** ``` pip install git+https://github.com/pybluez/pybluez.git brew install ffmpeg ``` **ubuntu/debian:** ``` pip install git+https://github.com/pybluez/pybluez.git sudo apt install ffmpeg ``` **3. ottieni il tuo file firmware** clicca su "Browse firmware archive" e scarica il firmware (oppure seleziona l'opzione "patch firmware" -> "download from online archive" nella CLI). inoltre, puoi scaricare l'immagine OTA [qui](https://github.com/nnonickreal/openBES/blob/main/archive/FIRMWARES.md) o leggere la flash con UART: [➡️ guida hardware: connessione via UART](https://github.com/nnonickreal/openqore/blob/main/docs/UART_things/FLASH_MP.md) la lettura della flash via ota (over-the-air) è prevista per un futuro aggiornamento. (se è possibile :D) **4. complimenti!** puoi trovare le istruzioni d'uso [qui](https://github.com/nnonickreal/openqore/blob/main/docs/USAGE.md) ## faq <details> <summary>1. quale opzione del firmware (senza OTA boot o con esso) devo selezionare in qorepatcher?</summary> <br> se stai applicando una patch al dump della flash delle cuffie, seleziona l'opzione "with OTA boot". se hai scaricato l'immagine di aggiornamento OTA dai server di aggiornamento ufficiali, seleziona l'opzione "without OTA boot". **nota:** se hai applicato la patch al firmware senza OTA boot, devi [aggiungere l'offset di OTA boot](https://github.com/nnonickreal/openqore/blob/main/docs/OTA_things/OTABOOT.md) prima di [flashare via UART (bestool).](https://github.com/nnonickreal/openqore/blob/main/docs/UART_things/FLASHING.md) **NON** ti serve se stai usando lo script [besota](https://github.com/nnonickreal/besota)! </details> ## contribuire i contributi sono ciò che rende la community open source un posto così straordinario dove imparare, trarre ispirazione e creare. qualsiasi contributo tu dia è **enormemente apprezzato**. inoltre, dai un'occhiata alla [guida alla creazione di moduli](https://github.com/nnonickreal/openqore/blob/main/docs/contributing_guides/MODULE_SYS.md)! se hai un suggerimento che potrebbe migliorare il progetto, fai un fork del repo e crea una pull request. puoi anche semplicemente aprire una issue con il tag "enhancement". non dimenticare di dare una stella al progetto! grazie ancora! 1. fai un fork del progetto. 2. crea il tuo branch di feature (`git checkout -b feature/amazing-feature`). 3. committa le tue modifiche (`git commit -m 'feat: add some amazing feature'`). 4. pusha sul branch (`git push origin feature/amazing-feature`). 5. apri una pull request. ## contatti & community <p align="left"> <a href="https://t.me/nnonick" target="_blank"><img src="https://img.shields.io/badge/telegram-@nnonick-2CA5E0?style=for-the-badge&logo=telegram" alt="telegram"></a> <a href="https://discord.gg/EPjhKzUHVq" target="_blank"><img src="https://img.shields.io/badge/discord-join_chat-5865F2?style=for-the-badge&logo=discord" alt="discord server"></a> </p> ## ❤️ sostieni il progetto se trovi utile questo progetto e vuoi sostenerne lo sviluppo futuro, puoi offrirmi un caffè o degli snack tramite boosty! ogni contributo è molto apprezzato e mi aiuta a dedicare più tempo a openqore. <p> <a href="https://boosty.to/nnonick" target="_blank"><img src="https://img.shields.io/badge/support_me_on-boosty-FF8100?style=for-the-badge&logo=boosty&logoColor=white" alt="Boosty"></a> </p> ## ringraziamenti questo progetto è stato portato in vita con l'uso estensivo di assistenti di coding basati sull'IA. mentre il reverse-engineering principale, la ricerca e le decisioni architetturali sono state fatte dall'autore, l'IA ha giocato un ruolo cruciale nell'accelerare il processo di sviluppo, scrivendo codice boilerplate e facendo debugging. questo è un progetto moderno costruito con strumenti moderni. ## licenza questo progetto è rilasciato sotto licenza GPLv3. puoi trovare il testo completo della licenza nel file [license](https://github.com/nnonickreal/openqore/blob/main/LICENSE).