NoSubVOD Desktop est une application locale pour regarder des VODs et des lives Twitch depuis nâimporte quel appareil du rĂ©seau local (mobile, tablette, TV, PC), avec historique, watchlist et portail web intĂ©grĂ©.
La version 0.3.5 introduit un systÚme d'extensions intégré, une premiÚre extension DevTool Explorer, le mode Multi-View avec recherche chat, ainsi que l'intégration des mises à jour automatiques de l'application.
- SystÚme d'extensions : architecture d'extensions complÚte (manager, contexte, API), activation/désactivation dans les settings.
- DevTool Explorer : nouvelle extension intégrée pour le monitoring avec UI/UX améliorée.
- Multi-View + Chat Search : navigation enrichie avec vue multiple et recherche chat intégrée.
- Auto-Update : plugin updater intégré avec configuration de clé publique pour les releases desktop.
- Qualité & CI : améliorations backend/tests et exclusion de
extensions/**des checks CI/CodeQL.
La version 0.3.4 améliore le pilotage à distance du player, la stabilité de lecture HLS, la sélection de qualité vidéo, et la robustesse du mode Screen Share sur Windows.
- ContrĂŽle distant playback : ajout des commandes Play/Pause/Seek/Volume/Mute et d'un panneau de contrĂŽle avec infos de session.
- Player plus stable : gestion des événements distants fiabilisée dans NSVPlayer pour un comportement plus constant.
- Qualité vidéo optimisée : tri/sélection des qualités amélioré avec configuration HLS orientée stabilité.
- Screen Share Windows renforcé : compatibilité améliorée cÎté service + ajustements CSS responsives.
- Maintenance : refactors structurels, nettoyage de styles et bump de version global vers 0.3.4.
La version 0.3.3 se concentre sur la stabilite de lecture VOD/Live, l'optimisation du backend Rust et l'amelioration de la maintenabilite globale.
- Streaming plus fiable : correction des 404 intermittents sur le proxy HLS (
/api/stream/variant.*) avec support du proxy segment via URL directe validee. - Perf backend Rust : regex lazy, selection proxy optimisee, client HTTP partage dans TwitchService/routes, taches async harmonisees.
- Memoire et I/O : optimisations
Arc/Cow, download manager avec verrouillage granulaire, historique en buffered I/O. - Pagination et etat : pagination history/watchlist backend+frontend, state management consolide (ScreenShareService, OAuth pending cleanup).
- Securite et robustesse : middleware/validation renforces, refactor global de la gestion d'erreurs.
- Qualite projet : compression async, tracing/logging etendus, tests unitaires supplementaires, lint cleanup.
La version 0.3.2 introduit le partage d'ecran en temps reel via WebRTC, rapproche l'experience PlayerRTC du player principal, et modernise la navigation sur tablette/desktop avec un rendu dock flottant.
- Screen Share WebRTC (Windows) : nouveau module de partage d'ecran local avec roles host/viewer et signalisation WebSocket.
- Controle distant interactif : transmission souris/clavier vers l'hote selon les permissions de session.
- PlayerRTC ameliore : plein ecran immersif, controle du son (mute + volume) et masquage automatique des controles apres inactivite.
- Navigation modernisee : navbar mobile conservee et adaptation tablette/desktop/laptop en dock centre type macOS.
- Portail LAN HTTPS : support HTTPS via certificats auto-signes et parcours de connexion mobile ameliore (QR code).
- Stabilite & qualite : nettoyage lint, corrections UI/UX et harmonisation des composants Screen Share / PlayerRTC / Player.
- Versioning : montee de version globale en
0.3.2.
La version 0.2.2 transforme l'expérience de visionnage avec un contrÎle total sur la qualité vidéo, des raccourcis clavier et une intégration du chat plus robuste.
- ContrĂŽle QualitĂ©: SĂ©lection manuelle, qualitĂ© prĂ©fĂ©rĂ©e et qualitĂ© minimale garanties (mĂȘme sur iOS/iPadOS).
- Raccourcis Clavier: ContrÎle complet au clavier (F pour plein écran, Espace pour pause, flÚches pour volume/seek).
- Chat Relais: Intégration du chat Twitch sur Desktop et systÚme de secours intelligent pour les connexions via IP locale (réseau local).
- Infos Streamer: Nouvel encart dynamique avec titre, catégorie, viewers, uptime et profil.
- Adblock Renforcé: Proxy GQL, spoofing iOS et gestion des discontinuités pour éviter les freezes d'écran.
- Fiabilité: Correction des erreurs 500 sur les flux longs et fallback automatique si les proxys échouent.
La version 0.2.0 migre le desktop vers Tauri.
- Poids de lâancienne installation:
701 Mo - Poids de la nouvelle installation:
16,3 Mo - Ăconomie mĂ©moire: consommation RAM divisĂ©e par 8
Résultat: démarrage plus rapide, binaire bien plus léger et meilleure stabilité générale.
- Lecture des VOD via HLS généré cÎté serveur local.
- Lecture des lives via endpoint local
/api/live/:login/master.m3u8. - Sélecteur de qualité (Auto + niveaux manuels) dans le player.
- Adblocking live expérimental (configurable dans Settings).
- Serveur local accessible sur le LAN.
- QR code affiché cÎté desktop pour ouverture rapide du portail.
- Navigation: Home, Live, Search, Trends, Channel, Player, Multi-View, History, Settings.
- SystÚme d'extensions local intégré avec activation/désactivation depuis les settings.
- Extension DevTool Explorer incluse pour le monitoring et l'exploration d'outils.
- Diffusion d'ecran/fenetre en temps reel via WebRTC (Windows).
- Session partagee sur le reseau local avec etat host/viewer.
- Mode interactif pour piloter l'ecran distant (souris + clavier) selon configuration.
- Player desktop complet (lecture, seek, volume, vitesse, qualité, fullscreen).
- Fallback natif iOS/iPadOS.
- ContrÎles auto-masqués aprÚs inactivité, réaffichage au mouvement.
- Historique de lecture avec reprise.
- Watchlist.
- Synchronisation locale optionnelle (OneSync).
- ParamĂštres serveur persistants (dont adblock proxy/mode).
- Intégration d'un mécanisme d'auto-update desktop via plugin updater.
- Desktop shell: Tauri v2 (Rust)
- Backend local: Rust (
src-tauri/src/server) - Portail LAN: React + Vite + TypeScript (
src/portal) - UI desktop: React + Vite + TypeScript (
src/renderer)
src/portal/: application web servie aux appareils du rĂ©seau localsrc/renderer/: interface desktop (fenĂȘtre principale)src/shared/: types partagĂ©s TypeScriptsrc-tauri/src/: cĆur Rust (commands Tauri, serveur local, routes Twitch, historique)src-tauri/tauri.conf.json: configuration packaging/resources
- Node.js 20+
- Rust stable
- npm
npm cinpm run devLe portail LAN tourne en HTTPS sur le port 5173 pour autoriser l'acces camera sur mobile (iOS/Android).
Au premier acces, le navigateur peut afficher un avertissement de certificat local: acceptez-le pour continuer.
URL type a ouvrir sur mobile:
https://<ip-locale-du-pc>:5173
npm run lint
npm run type-checknpm run build- Le portail local doit ĂȘtre accessible sur le mĂȘme rĂ©seau local que lâappareil client.
- Certaines disponibilités de contenus dépendent des endpoints Twitch.
- En build desktop (.exe), le portail public mobile est servi en HTTPS sur
23456et l'API interne reste en HTTP sur23455.
DĂ©veloppĂ© avec â€ïž par Theorhd