1
0
Fork
You've already forked streamlike
0
webapp stream jellyfin
  • HTML 77.7%
  • Shell 16.9%
  • JavaScript 5.4%
2026年04月13日 22:32:56 +02:00
.gitignore streamlike app git init 2026年03月14日 15:50:25 +01:00
config.example.json [Claude Code Audit] Corrections de sécurité suite à l'audit automatisé 2026年03月14日 16:08:58 +01:00
CONTRIBUTING.md streamlike app git init 2026年03月14日 15:50:25 +01:00
deploy-https.sh [Claude Code Audit] Corrections de sécurité suite à l'audit automatisé 2026年03月14日 16:08:58 +01:00
DEPLOY.md streamlike app git init 2026年03月14日 15:50:25 +01:00
favicon.svg streamlike app git init 2026年03月14日 15:50:25 +01:00
index.html changement pour videojs 2026年04月13日 22:32:56 +02:00
install-vps.sh streamlike app git init 2026年03月14日 15:50:25 +01:00
package-lock.json [Claude Code Audit] Corrections de sécurité suite à l'audit automatisé 2026年03月14日 16:08:58 +01:00
package.json [Claude Code Audit] Corrections de sécurité suite à l'audit automatisé 2026年03月14日 16:08:58 +01:00
README.md streamlike app git init 2026年03月14日 15:50:25 +01:00
server.js [Claude Code Audit] Corrections de sécurité suite à l'audit automatisé 2026年03月14日 16:08:58 +01:00

StreamLike

Interface de streaming vidéo personnelle connectée à Jellyfin, avec authentification par mot de passe unique et lecture HLS.

Fonctionnalités

  • Authentification par mot de passe (JWT, 24h)
  • Intégration Jellyfin : bibliothèque, métadonnées, miniatures
  • Lecture vidéo HLS via hls.js
  • Interface responsive (Bulma CSS)
  • Configuration simple via fichier JSON

Prérequis

  • Node.js 18+
  • Un serveur Jellyfin accessible

Installation

git clone <repo>
cd streamlike
npm install

Créez le fichier .env :

PORT=3000
APP_PASSWORD=VotreMotDePasse
JWT_SECRET=votre_cle_secrete_64_caracteres_minimum

Pour générer une clé JWT sécurisée :

node -e "console.log(require('crypto').randomBytes(64).toString('hex'))"

Créez config.json à partir de l'exemple :

cp config.example.json config.json

Renseignez l'URL de votre serveur Jellyfin et votre clé API dans config.json.

Démarrage

# Développement
npm run dev
# Production
npm start

L'application est disponible sur http://localhost:3000.

Déploiement VPS

Voir DEPLOY.md pour les instructions complètes (PM2, Nginx, HTTPS).

API

Méthode Route Description
POST /api/auth/login Authentification (retourne un JWT)
GET /api/auth/verify Vérification du token
POST /api/auth/logout Déconnexion

Sécurité

  • Le mot de passe est stocké hashé (bcrypt, 12 rounds)
  • Délai anti-timing sur les échecs d'authentification
  • Ne committez jamais config.json ni .env

Stack

  • Backend : Node.js, Express, bcrypt, jsonwebtoken
  • Frontend : HTML, Bulma CSS, hls.js
  • Source vidéo : Jellyfin