Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Migasfree Client 5

Migasfree Client 5

Presentación realizada para la migascon 2022, en la que se muestran los cambios más importantes de la aplicación migasfree client en su versión 5.

Tweet

More Decks by Jose Antonio Chavarría

Other Decks in Technology

Transcript

  1. MIGASFREE CLIENT #migascon2022 Jose Antonio Chavarría 2022-05-19 Presentación realizada para

    la migascon 2022, en la que se muestran los cambios más importantes de la aplicación migasfree client en su versión 5.
  2. Protocolo de comunicación v4 El gran cambio respecto al cliente

    actual (versión 4), es el protocolo de comunicación usado con el servidor (migasfree-backend). En la versión 4, los mensajes entre cliente y servidor sólo están firmados mediante un CRC. Como puede apreciarse, si alguien intercepta la comunicación, se puede ver claramente qué se intercambia entre las aplicaciones.
  3. Protocolo de comunicación v5 El nuevo protocolo está basado en

    JWT (JSON Web Token) y es autenticado y cifrado a la vez. Esto significa que, aunque se use el protocolo HTTP sin cifrado, las comunicaciones entre el cliente y servidor son seguras.
  4. Otro área de mejora que incorpora el nuevo cliente es

    el sistema de plugins para PMS (sistemas de paquetería) y manejo de dispositivos (impresoras). Está ideado para que el cliente se pueda extender en sistemas operativos que usan otros PMS distintos a los que lleva por defecto el cliente (apt, yum, zypper, pacman y winget) o que se quiera usar otro mecanismo para la gestión de las impresoras.
  5. También ha cambiado la forma de invocar los comandos a

    través de la terminal (CLI). Todo se ha unificado bajo un mismo comando (migasfree) y algunos de los parámetros han sufrido cambios. Tened esto muy en cuenta si tenéis scripts que hacen uso del cliente.
  6. Además, la API que consume el cliente se ha atomizado.

    Es decir, que se han separado acciones, para hacer más sencilla y extensible la operativa entre cliente y servidor. Esto hace posible que se puedan desarrollar otros clientes a futuro, tal vez especializándose en algunas de las operaciones disponibles.
  7. Este nuevo cliente sólo se puede usar si en el

    sistema está Python 3. Ya no hay soporte oficial para la versión 2. Gracias a esta modernización, se usa la librería Python Rich para mostrar la salida de los comandos.
  8. Necesitamos tener 3 programas en Windows para tener las mismas

    características que en Linux: 1. el cliente en sí, que proporciona la comunicación con el servidor. 2. un detector de las características hardware del equipo que siga la misma estructura que el comando lshw de linux. 3. un sistema de paquetería que permita auditar el software y realizar acciones de instalación. Hasta ahora, tan sólo podíamos acometer los 2 primeros puntos, por lo que no habíamos invertido tiempo en el proyecto para tener el cliente en plataforma Windows. Sin embargo, en mayo de 2021, Microsoft liberó la versión 1.0 de Windows Package Manager Client (winget), el sistema de paquetería "oficial" para Windows. Este es el hecho que nos ha decidido a preparar el cliente de migasfree para Windows. Además, hemos creado el proyecto LsHw Windows Emulator, que es una simplificación de lshw, basado en llamadas a Windows Management Instrumentation (WMI). Por el momento, el soporte del cliente en Windows es experimental, debido al sistema de paquetería winget y a las novedades introducidas en el cliente.
  9. #migascon2022 Muchas gracias por haber venido @migasfree Hasta aquí, hemos

    mostrado las novedades más importantes del cliente migasfree en su versión 5. El cambio más radical es la atomización de la API que consume el cliente. Es decir, que se han separado acciones, para hacer más sencilla y extensible la operativa entre cliente y servidor. Esto hace posible que se puedan desarrollar otros clientes a futuro, tal vez especializándose en algunas de las operaciones disponibles. Quedamos a la espera de vuestros comentarios. Gracias.