PS5 PKG Virtual Shop es una sencilla pero potente interfaz web para gestionar e instalar tus archivos .pkg locales de PS4/PS5 en una PS5 con jailbreak.
La aplicación se ejecuta en tu ordenador y sirve una interfaz web limpia y compatible con mando directamente en el navegador de tu PS5, permitiendo la instalación con un solo clic mediante el instalador directo de paquetes de etaHEN (Direct Package Installer).
⚠️ Atención: por el momento, el script solo acepta el formato PKG de PS4.
📘 Acerca del proyecto
Este proyecto ofrece una interfaz gráfica para gestionar una colección local de archivos .pkg en una PS5 con jailbreak.
En lugar de escribir URLs manualmente o usar herramientas de línea de comandos, este servidor escanea tus carpetas locales, extrae metadatos (como títulos e iconos) y presenta todo en una tienda categorizada y optimizada para consola.
Está desarrollado con Python Flask en el backend y JavaScript vanilla en el frontend.
✨ Características
- Escaneo automático: detecta e indexa todos los directorios definidos en tu archivo de configuración.
- Metadatos enriquecidos: extrae automáticamente título, ID de contenido e icono de los archivos .pkg.
- Interfaz categorizada: organiza los paquetes en pestañas según la estructura de carpetas (por ejemplo, juegos, apps, DLC).
-
Optimizado para PS5:
- Restringe el acceso solo a consolas PS5.
- Navegación con mando usando L2/R2 para cambiar de categoría.
- Sistema de paginación: añade botones “Siguiente” y “Anterior” para recorrer colecciones grandes.
- Búsqueda en tiempo real: filtra instantáneamente tu colección por título.
- Instalación con un clic: selecciona cualquier juego o aplicación para enviarlo directamente a la cola de descargas de la PS5 mediante etaHEN DPI v2.
- Personalizable: configura el título, rutas de carpetas y más a través de un sencillo archivo configs.json.
- Ligero: solo requiere Python, Flask y Pillow — sin dependencias pesadas.
🧰 Requisitos previos
Antes de empezar, asegúrate de tener:
- Una PlayStation 5 con jailbreak
- etaHEN ejecutándose con Direct Package Installer (DPI v2) activo
- Python 3.x instalado en tu ordenador
- Tu PC y PS5 conectados a la misma red local
⚙️ Instalación y configuración
Descarga y ejecuta la aplicación desde aquí mismo.
Configurar tu biblioteca
Al ejecutar el servidor por primera vez se generará automáticamente un archivo configs.json.
También puedes crearlo manualmente en la carpeta raíz del proyecto.
Ejemplo de configs.json:
{
"shop_title": "Mi Biblioteca PS5",
"paths": {
"games": "C:\\Users\\TuUsuario\\Documents\\PS5\\PKG\\Games",
"apps": "/home/user/ps5/apps",
"dlc": "D:\\PKG_Collection\\DLC",
"updates": "/path/to/your/updates"
}
}
- shop_title: título principal mostrado en la interfaz web.
- paths: diccionario donde cada clave representa una categoría (nombre de pestaña) y cada valor, la ruta de la carpeta con archivos .pkg.
4️⃣ Ejecutar el servidor
python app.py
El servidor se iniciará y mostrará qué carpetas se están monitorizando.
El primer escaneo puede tardar un poco si tienes una gran colección; los siguientes serán más rápidos gracias al sistema de caché.
🕹️ Uso
🔧 Encontrar la IP de tu ordenador
- Windows: abre el Símbolo del sistema y escribe ipconfig.
-
macOS/Linux: abre la terminal y escribe ifconfig o ip -a.
- Busca tu dirección IPv4 (por ejemplo: 192.168.1.100).
🌐 Abrir en tu PS5
En el navegador de la PS5, entra en:
http://<TU_IP_PC>:5000
Sustituye <TU_IP_PC> por la dirección IP que encontraste.
🛒 Navegar e instalar
- Las pestañas representan cada categoría.
- Usa L2/R2 para cambiar entre pestañas.
- Usa Siguiente/Anterior para navegar entre páginas.
- Haz clic en cualquier juego o app para instalarlo directamente en tu PS5 mediante etaHEN.
📁 Estructura de archivos
.
├── app.py # Lógica backend en Flask
├── configs.json # Configuración del usuario (título y rutas)
├── db.json # Caché de metadatos de los PKG
├── static/
│ ├── script.js # Lógica del frontend (renderizado, búsqueda, navegación)
│ ├── style.css # Estilos de la interfaz web
│ ├── index.html # Página principal HTML
│ ├── l2.svg # Icono del mando (L2)
│ └── r2.svg # Icono del mando (R2)
└── cached/ # Carpeta de iconos extraídos
PS5 PKG Virtual Shop ha sido creado por MestreTM.
Que novedades incluye la versión 1.1.0
Released
-
✨ Novedades
-
🗂️ Agrupación de PKG (Packs)
- El servidor ahora analiza los directorios de forma recursiva. Cualquier archivo PKG encontrado dentro del mismo subdirectorio se agrupa automáticamente en un único “Pack” dentro de la interfaz de usuario.
- Esto resulta ideal para organizar un juego junto con sus actualizaciones y DLCs en una sola entrada cómoda.
- El pack muestra el tamaño total y selecciona de forma inteligente un icono del juego base.
-
🗂️ Agrupación de PKG (Packs)
-
⚙️ Opción “Analizar al iniciar”
-
Se ha añadido un nuevo ajuste “Scan on Startup” tanto en la configuración como en la interfaz gráfica.
- Activado: el servidor realiza un análisis completo de todas las rutas PKG al iniciarse, garantizando que los datos estén actualizados.
- Desactivado: el servidor arranca mucho más rápido cargando su tabla de búsqueda desde la caché existente, realizando un análisis completo solo cuando un usuario solicita por primera vez la lista de contenido.
-
Se ha añadido un nuevo ajuste “Scan on Startup” tanto en la configuración como en la interfaz gráfica.
-
🌐 Detección automática de direcciones IP de red
- Al iniciarse, el servidor detecta y registra automáticamente sus direcciones IP locales.
- Esto facilita que los usuarios encuentren y se conecten al servidor desde sus consolas sin necesidad de buscar manualmente la IP del PC anfitrión.
-
🧱 Modo sin interfaz / Docker
- Ahora la aplicación puede ejecutarse en modo sin interfaz (headless) añadiendo "docker": true en el archivo configs.json.
- Perfecto para ejecutar el servidor en entornos automatizados o contenedores Docker.
-
🚀 Mejoras y optimizaciones
-
🔄 Reestructuración del API y paginación
- La API del backend se ha rediseñado por completo para ofrecer un mejor rendimiento.
- En lugar de enviar toda la lista de PKG de una vez, el contenido ahora se sirve por categorías y con paginación.
- Esto mejora notablemente los tiempos de carga, especialmente en bibliotecas muy grandes.
-
🧩 Análisis de metadatos mejorado
- La lógica de análisis SFO se ha optimizado para extraer más información de cada PKG, incluyendo el Title ID y la Content Category (por ejemplo, Juego, Actualización o Complemento).
- Estos datos se usan para ordenar los elementos de un pack de forma inteligente, mostrando el juego base antes que sus actualizaciones o DLCs.
-
🆔 Identificación de contenido más robusta
- Las URLs de instalación ahora se generan principalmente usando el content_id único del PKG en lugar de su nombre de archivo.
- Esto genera enlaces más estables y fiables, independientes de la ubicación o el nombre del archivo en el servidor.
- Se mantiene un método de respaldo mediante la ruta del archivo por compatibilidad.
-
⚡ Carga de caché optimizada
- Cuando “Scan on Startup” está desactivado, el servidor rellena el mapa de búsqueda directamente desde el archivo de caché, logrando un inicio prácticamente instantáneo.
-
🔄 Reestructuración del API y paginación
-
🛠️ Correcciones
-
🔗 Hipervínculos en el registro de la interfaz
- Se ha corregido un problema en el visor de registros de la interfaz donde solo el primer enlace URL de una entrada era clicable.
- Ahora, todas las URLs detectadas en una línea se muestran correctamente como hipervínculos.
-
🔗 Hipervínculos en el registro de la interfaz
