Skip to content

Theorhd/NoSubVod-Desktop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

199 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 NoSubVOD Desktop

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Ă©.

🆕 v0.3.5 — Extensions, Multi-View, Chat Search et Auto-Update

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.

Points clés v0.3.5

  • 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.

🆕 v0.3.4 — Remote Control, qualitĂ© player renforcĂ©e et Screen Share Windows amĂ©liorĂ©

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.

Points clés v0.3.4

  • 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.

🆕 v0.3.3 — Fiabilite streaming, optimisations Rust et backend durci

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.

Points clés v0.3.3

  • 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.

🆕 v0.3.2 — Screen Share WebRTC, PlayerRTC immersif & navigation dock

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.

Points clés v0.3.2

  • 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.

🆕 v0.2.2 — ContrĂŽle QualitĂ©, Raccourcis & Chat AmĂ©liorĂ©

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.

Points clés v0.2.2

  • 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.

🆕 v0.2.1 — Adblocking live + fiabilitĂ© Search/Channel

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.


✹ FonctionnalitĂ©s

🔓 VOD + Live Twitch

  • 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).

🏠 Portail local multi-appareils

  • 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.

đŸ§© Extensions

  • 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.

đŸ–„ïž Screen Share local

  • 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.

🎬 ExpĂ©rience player

  • 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.

đŸ’Ÿ DonnĂ©es utilisateur

  • Historique de lecture avec reprise.
  • Watchlist.
  • Synchronisation locale optionnelle (OneSync).
  • ParamĂštres serveur persistants (dont adblock proxy/mode).

âŹ†ïž Mise Ă  jour application

  • IntĂ©gration d'un mĂ©canisme d'auto-update desktop via plugin updater.

đŸ§± Stack technique

  • 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)

📁 Architecture du repo

  • src/portal/ : application web servie aux appareils du rĂ©seau local
  • src/renderer/ : interface desktop (fenĂȘtre principale)
  • src/shared/ : types partagĂ©s TypeScript
  • src-tauri/src/ : cƓur Rust (commands Tauri, serveur local, routes Twitch, historique)
  • src-tauri/tauri.conf.json : configuration packaging/resources

🛠 DĂ©veloppement

Prérequis

  • Node.js 20+
  • Rust stable
  • npm

Installation

npm ci

Lancer en dev

npm run dev

Le 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

Qualité code

npm run lint
npm run type-check

Build desktop

npm run build

⚠ Notes

  • 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 23456 et l'API interne reste en HTTP sur 23455.

đŸ‘€ Auteur

DĂ©veloppĂ© avec ❀ par Theorhd

About

The desktop app provides a server to enable access to sub-only VODs on Twitch from any device on your local network.

Resources

Stars

Watchers

Forks

Contributors