Repository navigation
Releases: Picaresco/qnap-tools
Release list
Qnap-Tools 0.5.2
Arreglo de disco_info (qnap-virtualizacion) con imagenes que no se cerraron limpias. Sigue siendo de solo lectura.
- La comprobacion (
qemu-img check -U) de una imagen grande sin cerrar escribe una linea por cluster con problema: en una de 78 GB fueron 23.550 lineas (1,4 MB) y Claude Code no admitia la respuesta. Ahora la salida se acota en el propio NAS:avisos_de_qemuda las 20 primeras lineas, cuantas hubo y la cuenta de cada tipo de linea ({filas, total, truncado, por_tipo}; enpor_tipolos numeros salen como N, salvo los valores de refcount y reference). El codigo de salida sigue siendo el de qemu-img. - Con
lazy_refcounts, QEMU no escribe las cuentas de referencia hasta cerrar la imagen; si no se cerro, la comprobacion ve clusters en uso conrefcount=0y los cuenta como corrupciones. Cuando la capa comprobada esta marcada como sucia conlazy_refcounts, no esta marcada como corrupta y todas las corrupciones son de ese tipo, el aviso dice que son cuentas sin escribir que QEMU rehace al abrir la imagen, y no "corrupciones". En cualquier otro caso se sigue avisando de corrupciones.
Cambio en la respuesta: comprobacion.avisos_de_qemu pasa de lista a {filas, total, truncado, por_tipo}.
Validado en real en QuTS hero h6.0.2 con una imagen sin cerrar (prueba de no escritura de todas las ordenes de virtualizacion).
Instalacion: /plugin marketplace add Picaresco/qnap-tools y /plugin install qnap-tools@qnap-tools. Si ya lo tenias: claude plugin marketplace update qnap-tools, claude plugin update qnap-tools@qnap-tools y reiniciar Claude Code. Paquete en PyPI: qnap-tools 0.5.2.
Qnap-Tools 0.5.1
Version con dos herramientas nuevas (43 en total) para revisar la copia de una maquina virtual sin registrarla, y mas datos de los discos externos y de las instantaneas. Todo sigue siendo de solo lectura.
Herramientas nuevas (qnap-virtualizacion):
disco_info: la imagen de un disco virtual (qcow2, raw...) dada su ruta, este registrada en una VM o no: formato, tamano virtual y en disco, si quedo marcada como sucia (cerrada sin limpiar), su cadena de capas base (solo bajo /share/) y el resultado de una comprobacion de coherencia en solo lectura (qemu-img check -U, sin reparar nada): errores, fugas y bloques asignados.vm_definicion_fichero: lee la definicion de una VM que no esta registrada (el.xmlde la carpeta de metadatos.<uuid>.metaque Virtualization Station guarda junto a cada maquina, p. ej. en una copia de su carpeta): sistema, CPU, memoria, firmware, discos con su ruta, bus e imagenes base, tarjetas de red, consola (nunca su contrasena), de que NAS viene y si ese UUID ya esta registrado en el NAS.
Mejoras:
- Discos externos:
discos_fisicosycarpetas_compartidasdan el sistema de ficheros real de un disco USB (p. ej. NTFS; antes salia el nombre del controlador), su etiqueta, si esta montado en solo lectura y si quedo marcado como sucio (desconectado sin expulsar), con su aviso. snapshots(QuTS hero): avisa cuando la programacion de instantaneas de un volumen esta desactivada y cuando esta activa pero la ultima instantanea tiene mas de dos dias.
Validado en real en QuTS hero h6.0.2 (pruebas reales y prueba de no escritura de todas las ordenes de discos y virtualizacion). Lo propio de QTS se ha probado con salidas reales guardadas, no en un NAS en vivo.
Instalacion: /plugin marketplace add Picaresco/qnap-tools y /plugin install qnap-tools@qnap-tools. Si ya lo tenias: claude plugin marketplace update qnap-tools, claude plugin update qnap-tools@qnap-tools y reiniciar Claude Code. Paquete en PyPI: qnap-tools 0.5.1.
Qnap-Tools 0.5.0
Version con cinco herramientas nuevas (41 en total) y los arreglos de una revision de codigo completa, verificada hallazgo a hallazgo y probada en un NAS QuTS hero real.
Herramientas nuevas:
ruta_ocupacion(qnap-discos): cuanto ocupa una carpeta o un fichero (bytes aparentes y en disco, ficheros y carpetas). La ruta se da como en File Station (/Vms/carpetaoVms/carpeta) o bajo/share/; se rechaza lo que no acabe bajo/share/.ruta_comparar(qnap-discos): compara dos carpetas para comprobar una copia, sin listarlas: totales de cada lado, cuantos ficheros coinciden y solo las diferencias (faltan, sobran, distinto tamano), acotadas.ruta_listar(qnap-discos): el contenido de UNA carpeta, sin recursividad y acotado (nombre, tipo, tamano, espacio en disco, permisos, propietario, fecha en hora local del NAS).tareas_file_station(qnap-discos): las copias en segundo plano de File Station, con el progreso calculado (el porcentaje que guarda QNAP no es el de la tarea), velocidad, tiempo restante, si estan en curso, terminadas o interrumpidas, y aviso cuando File Station escribe una copia con otro nombre (-Copy(1)) porque el destino ya existia.procesos(qnap-logs): los procesos del NAS (sin hilos del kernel) o el detalle de uno: memoria, orden, carpeta de trabajo, bytes leidos y escritos y ficheros abiertos. Las credenciales de la linea de ordenes se tapan.discos_fisicosda ademas, de cada disco USB, donde esta montado, su sistema de ficheros, cuanto ocupa y que carpetas compartidas apuntan ahi;carpetas_compartidasmarca las que estan en un disco externo.
Arreglos principales:
- Resumen de almacenamiento en QTS: con un grupo RAID degradado y la lista de discos sin leer, ya no dice que faltan todos los discos del grupo (relee las bahias y, si no puede, dice que no se sabe cual falta).
- Una orden que se queda sin codigo de salida (conexion perdida a mitad) es un error de conexion con reintento, no una salida cortada dada por buena; el sistema del NAS se vuelve a detectar en cada conexion.
- QuTS hero: un pool que no se puede abrir ya no tumba el resumen, y se avisa de un volumen cifrado que no esta montado.
- Avisos nuevos: VM apagada por una caida o que no pudo arrancar; cache SSD o pool ligero en fallo y metadatos que piden comprobacion.
- Redes: un fichero de configuracion ilegible ya no sale como lista vacia, y un bloque que necesita sudo no tumba la herramienta entera.
- Flota:
nas_enrolaracepta un solo NAS;nas_comprobaravisa cuando un NAS configurado con clave entra por contrasena; un corte de red al probar la clave en el alta ya no deja el NAS en "solo contrasena" para siempre; no quedan huellas de host huerfanas; el mismo equipo no se puede dar de alta dos veces. - Un fallo parcial ya no se presenta como cero o lista vacia en varias herramientas.
Cambios en las respuestas: red_interfaces con interfaz da contadores_error (antes errores); en accesos, los avisos que no son un fallo de inicio de sesion o de montaje van en fallidos.otros.
Validado en real en QuTS hero h6.0.2 (pruebas reales, prueba de no escritura de todas las ordenes y una copia real de File Station). Lo propio de QTS se ha probado con salidas reales guardadas, no en un NAS en vivo.
Instalacion: /plugin marketplace add Picaresco/qnap-tools y /plugin install qnap-tools@qnap-tools. Si ya lo tenias: claude plugin marketplace update qnap-tools, claude plugin update qnap-tools@qnap-tools y reiniciar Claude Code. Paquete en PyPI: qnap-tools 0.5.0.
Qnap-Tools 0.4.4
Version de correccion tras una pasada de solo lectura por dos NAS QTS reales con la 0.4.3 (las 36 herramientas).
- Volcados del kernel (
sistema_estado): un volcado que acaba ensysrq: Resetting(el apagado se colgo y el sistema forzo el reinicio despues de volver a montar los discos) sale comoreinicio_forzado(oapagado_forzadoconsysrq: Power Off) y no comosin_cierre. Se sigue avisando si es de los ultimos 30 dias, porque no acabo en orden. - Las carpetas
pstore_dmesg_*que guarda QTS se leen: contienen los registros que el kernel escribe al fallar (cabecerasOops#NyPanic#N) y salen comofallo, con cuantos registros hay. Antes se listaban sin decir que eran. - Validado en real en QTS 5.2.9 (un reinicio forzado y un kernel panic antiguo) y en QTS 5.2.10.
- En QTS quedan validados tambien los cambios de la 0.4.2 y la 0.4.3: VMs suspendidas, memoria guardada, rutas estaticas y QuFirewall.
Instalacion: /plugin marketplace add Picaresco/qnap-tools y /plugin install qnap-tools@qnap-tools. Si ya lo tenias: claude plugin marketplace update qnap-tools, claude plugin update qnap-tools@qnap-tools y reiniciar Claude Code. Paquete en PyPI: qnap-tools 0.4.4.
Qnap-Tools 0.4.3
Version de correccion: maquinas virtuales suspendidas tras reiniciar el NAS.
- Al reiniciar el NAS, Virtualization Station suspende las maquinas en marcha (guarda su memoria en disco) en lugar de apagarlas. Ya arrancado el NAS, libvirt las da por apagadas y el plugin tambien lo hacia. Ahora se mira el fichero de memoria guardada que deja Virtualization Station (
<carpeta de metadatos>/<uuid>.state, que borra al reanudar): una maquina apagada con memoria guardada salesuspendida, con su aviso, yvm_detalledamemoria_guardada(cuanto ocupa y desde cuando). - Si esa lectura falla, las maquinas salen con lo que dice libvirt y se indica en
errores(memoria_guardada). - Validado en un NAS QuTS hero real con dos maquinas suspendidas por un reinicio y reanudadas despues.
Instalacion: /plugin marketplace add Picaresco/qnap-tools y /plugin install qnap-tools@qnap-tools. Si ya lo tenias: claude plugin marketplace update qnap-tools, claude plugin update qnap-tools@qnap-tools y reiniciar Claude Code. Paquete en PyPI: qnap-tools 0.4.3.
Qnap-Tools 0.4.2
Version de correcciones tras validar en un NAS real (QuTS hero h6.0.2) funciones que hasta ahora solo se probaban con salidas escritas a mano: cada una se configuro a proposito desde la web del NAS, se consulto con el plugin y se deshizo.
- Redes: en QuTS hero las rutas estaticas y el DDNS se leen de donde los guarda el propio NAS (antes se leia una copia vieja y una ruta creada desde la web no aparecia); cada ruta da destino, puerta, adaptador, metrica y si esta activa. VLAN (tipo
vlan) y agregaciones de puertos validadas. QuFirewall: instalado ya no se confunde con encendido; se da si el cortafuegos esta encendido, si tiene perfil y cuantas reglas aplica. Ya nada de redes queda comono_probado. - Discos:
iscsifallaba en QuTS hero con un destino configurado; ahora da destinos con portales y LUN, y LUN con capacidad, aprovisionamiento fino y dataset. Validada una carpeta cifrada abierta. - Virtualizacion: una maquina suspendida desde Virtualization Station sale como
suspendida(con aviso) y no como apagada; un contenedor enlazado con--linkse encuentra por su nombre. Validados en real: paquete activo con su servicio parado, contenedor reiniciandose y "unhealthy". - Registros: un volcado
pstorede/etc/logses la consola del arranque anterior y el NAS guarda uno en cada reinicio, tambien en uno ordenado.sistema_estadodice ahora como acabo cada arranque (cierre: reinicio, apagado, fallo, sin_cierre) y solo avisa del que no acaba en orden o de procesos matados por falta de memoria (antes avisaba de un "cuelgue" tras cada reinicio). - Validado tambien que la clave SSH del plugin sobrevive a un reinicio del NAS.
Instalacion: /plugin marketplace add Picaresco/qnap-tools y /plugin install qnap-tools@qnap-tools. Si ya lo tenias: claude plugin marketplace update qnap-tools, claude plugin update qnap-tools@qnap-tools y reiniciar Claude Code. Paquete en PyPI: qnap-tools 0.4.2.
Qnap-Tools 0.4.1
Version de correcciones: cierra la mayoria de los detalles menores pendientes de la 0.4.0.
- Las herramientas corren en un hilo (una consulta lenta ya no bloquea al servidor) y llevan la marca MCP de solo lectura; en qnap-flota, solo nas_lista y nas_comprobar. Las de qnap-flota van de una en una, y fijar la clave de host de varios NAS a la vez ya no pierde ninguna.
- Discos: aviso de disco sin datos SMART o sin veredicto del NAS; si hay SSD y el NAS no da el desgaste de ninguno, se dice en
errores;almacenamiento_resumenda pools, grupos y volumenes aunque falle la lista de discos. En QuTS hero, lo retenido por instantaneas sale deusedbysnapshots(lo que liberaria borrarlas), en total y por volumen. - Maquinas virtuales:
vm_usocomprueba libvirt y domstats en cada lectura; una VM con una definicion que no se entiende sale con suerrorsin tapar a las demas; la cadena de imagenes se recorre capa a capa y solo sigue bases en/share/(base_sin_leer,cortada). - Contenedores: uno que docker no pudo medir sale sin cifras y no suma (
sin_medir). - Registros: solo se avisa de los volcados de cuelgue de los ultimos 30 dias.
cryptographydeclarada como dependencia.
Instalacion: /plugin marketplace add Picaresco/qnap-tools y /plugin install qnap-tools@qnap-tools. Si ya lo tenias: claude plugin marketplace update qnap-tools, claude plugin update qnap-tools@qnap-tools y reiniciar Claude Code. Paquete en PyPI: qnap-tools 0.4.1.
Qnap-Tools 0.4.0
Primera version publica. Cinco servidores MCP de solo lectura (flota, redes, discos, virtualizacion, registros) con 36 herramientas para NAS QNAP (QTS y QuTS hero). Instalacion: /plugin marketplace add Picaresco/qnap-tools y /plugin install qnap-tools@qnap-tools. Paquete en PyPI: qnap-tools 0.4.0.