Skip to main content

Films & séries du monde en streaming depuis le terminal

Project description

🎬 jmoona-cli

      _                                        _ _ 
     (_)                                      | (_)
      _ _ __ ___   ___   ___  _ __   __ _  ___| |_ 
     | | '_ ` _ \ / _ \ / _ \| '_ \ / _` |/ __| | |
     | | | | | | | (_) | (_) | | | | (_| | (__| | |
     | |_| |_| |_|\___/ \___/|_| |_|\__,_|\___|_|_|

L'émulateur ultime de films et séries — streaming depuis votre terminal


✨ Fonctionnalités

  • 🔍 Recherche de films & séries via TMDB
  • 🎬 Streaming en un clic via mpv
  • 🔤 Sous-titres français automatiques (OpenSubtitles)
  • 📥 Téléchargement avec yt-dlp
  • 🕹️ Reprise de lecture automatique
  • 💾 Historique de visionnage
  • 🌐 Multi-sources (Cloudnestra, vidsrc, smashystream, ...)
  • 🖥️ Compatible Linux · macOS · Windows · Docker

📦 Installation rapide

🐧 Linux / 🍎 macOS

bash <(curl -fsSL https://raw.githubusercontent.com/riter675/jmoona-cli/main/install.sh)

🪟 Windows (PowerShell en administrateur)

irm https://raw.githubusercontent.com/riter675/jmoona-cli/main/install.ps1 | iex

🐳 Docker (n'importe quel OS)

docker build -t jmoona .
# Avec affichage vidéo sur l'écran hôte (Linux) :
docker run -it --rm \
  -e DISPLAY=$DISPLAY \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  -v "$HOME/Downloads/jmoona:/root/Downloads/jmoona" \
  jmoona

Installation manuelle (pip)

git clone https://github.com/riter675/jmoona-cli.git
cd jmoona-cli
pip install -e .
jmoona

⚠️ Prérequis

Outil Rôle Requis
Python 3.10+ Moteur ✅ Obligatoire
mpv Lecteur vidéo ✅ Obligatoire
yt-dlp Extracteur de streams ✅ Obligatoire
fzf Interface menus améliorée ⚡ Recommandé
ffmpeg / ffprobe Analyse des pistes ⚡ Recommandé
Chromium + chromedriver Extraction Selenium 🔧 Optionnel

Installation des prérequis

Ubuntu/Debian:

sudo apt install mpv yt-dlp fzf ffmpeg python3 python3-pip
pip install jmoona-cli

Fedora:

sudo dnf install mpv yt-dlp fzf ffmpeg python3 python3-pip

Arch Linux:

sudo pacman -S mpv yt-dlp fzf ffmpeg python python-pip

macOS (Homebrew):

brew install mpv yt-dlp fzf ffmpeg python
pip3 install jmoona-cli

Windows (winget + pip):

winget install mpv.mpv yt-dlp.yt-dlp Git.Git Python.Python.3.12
pip install jmoona-cli

🚀 Utilisation

jmoona              # Lancer l'interface interactive
jmoona "Inception"  # Recherche directe

Navigation

  • ↑↓ ou numéro — choisir dans les menus
  • Enter — valider
  • q ou Ctrl+C — quitter
  • Dans mpv : f = plein écran, ←→ = avance/recul, q = quitter

Modes de lecture

Mode Description
🎵 Auto FR si disponible, anglais sinon (recommandé)
🔤 VOSTFR Audio original + sous-titres français (idéal animés)
🇬🇧 VA Version originale sans sous-titres

⚙️ Configuration

Fichier de config par OS :

  • Linux : ~/.config/jmoona/config.json
  • macOS : ~/Library/Application Support/jmoona/config.json
  • Windows : %APPDATA%\jmoona\config.json

Options disponibles :

{
  "player": "mpv",
  "player_args": "--fs",
  "quality": "best",
  "provider": "auto",
  "use_fzf": true,
  "resume": true,
  "download_dir": "~/Downloads/jmoona"
}

🔧 Dépendances Python

requests>=2.28.0
selenium>=4.9.0
undetected-chromedriver>=3.5.0
pyvirtualdisplay>=3.0    # Linux uniquement
curl-cffi>=0.6.0

📁 Structure du projet

jmoona-cli/
├── jmoona/
│   ├── app.py          # Logique principale
│   ├── cli.py          # Point d'entrée CLI
│   ├── extractor.py    # Extraction des streams
│   ├── player.py       # Lecture via mpv
│   ├── downloader.py   # Téléchargement via yt-dlp
│   ├── subtitles.py    # Sous-titres via OpenSubtitles
│   ├── tmdb.py         # API TMDB
│   ├── ui.py           # Interface terminal
│   ├── art.py          # ASCII art
│   ├── language.py     # Détection pistes audio
│   ├── storage.py      # Historique & reprise
│   ├── config.py       # Configuration cross-platform
│   └── providers.py    # Liste des providers
├── pyproject.toml
├── install.sh          # Installateur Linux/macOS
├── install.ps1         # Installateur Windows
├── Dockerfile
└── README.md

🐛 Problèmes courants

mpv: command not found → Installez mpv (voir prérequis ci-dessus)

Stream introuvable → Essayez un autre provider : jmoona → paramètres → providers

Chromium manquant → Normal, Selenium est optionnel. Les streams HTTP fonctionnent sans.

Windows : couleurs absentes → Activez les couleurs ANSI : Set-ItemProperty HKCU:\Console VirtualTerminalLevel 1


📄 Licence

MIT — fait avec ❤️ par jmoona

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jmoona_cli-1.0.0.tar.gz (21.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jmoona_cli-1.0.0-py3-none-any.whl (23.0 kB view details)

Uploaded Python 3

File details

Details for the file jmoona_cli-1.0.0.tar.gz.

File metadata

  • Download URL: jmoona_cli-1.0.0.tar.gz
  • Upload date:
  • Size: 21.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for jmoona_cli-1.0.0.tar.gz
Algorithm Hash digest
SHA256 4ac07e47a9f44392baed20726cfdf4bacf33232fa8937dd5b14b6d3c42fa24a3
MD5 b4227eb45d994f6ceb42e392cd94f3e9
BLAKE2b-256 67e4da53d532e5e823125c2768d534744a6b182cfd0e8185e45011537b78fb4a

See more details on using hashes here.

File details

Details for the file jmoona_cli-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: jmoona_cli-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 23.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for jmoona_cli-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a4c767ab4aa1da465ecb09ddac5edc712fcfc989d950978f4c35505d5ec9660a
MD5 f19ea0f6b8752405cf438da0d7704c7a
BLAKE2b-256 1afebe9b6dcdbcdf83cf9520e384f256a036d80a56c2e1994996f1bcba9d7c91

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page