
¡Libera todo el poder de tus auriculares basados en 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 kit de herramientas de código abierto para parchear, modificar y mejorar el firmware de auriculares basados en los chipsets BES (originalmente iniciado a partir del soundcore Q35), con soporte futuro planificado para otros modelos. > **nota:** este proyecto es mi viaje personal al mundo de la ingeniería inversa de hardware y los sistemas embebidos. espera errores, fallos y mucha diversión. ¡todas las contribuciones y consejos son bienvenidos! <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> # ¡información importante! (navegación rápida) **¿quieres:** * ¿parchear el firmware de tus auriculares? -> qorepatcher (este repositorio, mira abajo para el inicio rápido) * ¿instalar / desarrollar el firmware personalizado? (`soundcore devices based on bes2300p` solo por ahora) -> [openqore SDK](https://github.com/nnonickreal/openqore-sdk) * ¿flashear una actualización / instalar firmware personalizado por aire? (OTA) -> [archivos OTA para dispositivos BES](https://github.com/nnonickreal/openBES/blob/main/archive/FIRMWARES.md) y [besota](https://github.com/nnonickreal/besota) - flasheador OTA para BES * ¿flashear una actualización vía UART / restaurar tras una mala actualización o hacer una copia de seguridad? -> [guía de flasheo por hardware](https://github.com/nnonickreal/openqore/blob/main/docs/UART_things/FLASH_MP.md) también creé un proyecto de demostración - un [port de DOOM](https://github.com/nnonickreal/DOOMcore) basado en el proyecto [DOOMBuds](https://github.com/arin-s/DOOMBuds). ¡échale un vistazo también! =) <h2 align="center"> qorepatcher </h2> <p align="center"> <strong><a href="https://github.com/nnonickreal/openqore/blob/main/INDEX.md">📚 lee la documentación completa 📚</a></strong> </p> ## dispositivos compatibles este proyecto se inició con el soundcore Life Q35. si quieres ayudar a probar o añadir soporte para un nuevo modelo, ¡abre un issue o envíame un DM (lee [contacto](#contact--community))! lee [hojas de ruta y modelos](https://github.com/nnonickreal/openqore/blob/main/docs/roadmaps/RMS.md) para el estado de soporte de chips y modelos. ### hoja de ruta del proyecto - [x] parcheador de firmware inicial para reemplazo de sonido. - [x] hacer que el parcheador funcione con todos los chipsets bes2300* (**¡advertencia! necesita pruebas**) - [ ] hacer que el parcheador funcione con todos (o la mayoría) de los chipsets bes - [x] crear una GUI fácil de usar para el parcheador. - [x] ingeniería inversa del protocolo de actualización OTA (over-the-air) para flasheo inalámbrico. (ver [besota](https://github.com/nnonickreal/besota)) - [ ] documentar la estructura del firmware y las funciones clave. - [ ] desarrollar una biblioteca de paquetes de sonido creados por la comunidad. ## inicio rápido esta guía asume que tienes `python` y `git` instalados en tu sistema si estás en linux o usando el modo CLI. **1. descarga la última versión desde [releases](https://github.com/nnonickreal/openqore/releases/latest) y abre el archivo .exe.** **2. instala las dependencias (solo para CLI, linux y compilación)** el parcheador requiere FFmpeg para la conversión de audio y 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. obtén tu archivo de firmware** haz clic en "Browse firmware archive" y descarga el firmware (o selecciona la opción "patch firmware" -> "download from online archive" en la CLI). también puedes descargar la imagen OTA [aquí](https://github.com/nnonickreal/openBES/blob/main/archive/FIRMWARES.md) o leer el flash con UART: [➡️ guía de hardware: conexión vía UART](https://github.com/nnonickreal/openqore/blob/main/docs/UART_things/FLASH_MP.md) leer el flash vía ota (over-the-air) está planificado para una futura actualización. (si es posible :D) **4. ¡enhorabuena!** puedes encontrar las instrucciones de uso [aquí](https://github.com/nnonickreal/openqore/blob/main/docs/USAGE.md) ## preguntas frecuentes <details> <summary>1. ¿qué opción del firmware (sin OTA boot o con él) debo seleccionar en qorepatcher?</summary> <br> si estás parcheando el volcado de flash de los auriculares, selecciona la opción "with OTA boot". si has descargado la imagen de actualización OTA de los servidores oficiales de actualización, selecciona la opción "without OTA boot". **nota:** si has parcheado el firmware sin OTA boot, necesitas [añadir el offset de OTA boot](https://github.com/nnonickreal/openqore/blob/main/docs/OTA_things/OTABOOT.md) antes de [flashear vía UART (bestool).](https://github.com/nnonickreal/openqore/blob/main/docs/UART_things/FLASHING.md) ¡**NO** necesitas esto si estás usando el script [besota](https://github.com/nnonickreal/besota)! </details> ## contribuir las contribuciones son lo que hacen de la comunidad de código abierto un lugar tan increíble para aprender, inspirar y crear. cualquier contribución que hagas es **enormemente apreciada**. además, ¡echa un vistazo a la [guía de creación de módulos](https://github.com/nnonickreal/openqore/blob/main/docs/contributing_guides/MODULE_SYS.md)! si tienes una sugerencia que pudiera mejorarlo, por favor haz un fork del repositorio y crea un pull request. también puedes simplemente abrir un issue con la etiqueta "enhancement". ¡no olvides darle una estrella al proyecto! ¡gracias de nuevo! 1. haz un fork del proyecto. 2. crea tu rama de funcionalidad (`git checkout -b feature/amazing-feature`). 3. haz commit de tus cambios (`git commit -m 'feat: add some amazing feature'`). 4. haz push a la rama (`git push origin feature/amazing-feature`). 5. abre un pull request. ## contacto y comunidad <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> ## ❤️ apoya el proyecto si encuentras este proyecto útil y quieres apoyar su desarrollo futuro, ¡puedes invitarme a un café o unos snacks vía boosty! cada contribución es enormemente apreciada y me ayuda a dedicar más tiempo 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> ## agradecimientos este proyecto cobró vida con el uso extensivo de asistentes de programación impulsados por IA. aunque la ingeniería inversa central, la investigación y las decisiones arquitectónicas fueron realizadas por el autor, la IA desempeñó un papel crucial en acelerar el proceso de desarrollo, escribir código repetitivo y depurar. este es un proyecto moderno construido con herramientas modernas. ## licencia este proyecto está licenciado bajo la licencia GPLv3. puedes encontrar el texto completo de la licencia en el archivo [license](https://github.com/nnonickreal/openqore/blob/main/LICENSE).