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.2.tar.gz (23.4 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.2-py3-none-any.whl (24.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jmoona_cli-1.0.2.tar.gz
  • Upload date:
  • Size: 23.4 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.2.tar.gz
Algorithm Hash digest
SHA256 093f3497a42dd86aa79715bc34da535907691aaf7b79fa095bcc6a39fd965b63
MD5 f0088b2ca61767fb9d085f0862732ad5
BLAKE2b-256 141216a977db6ef40c8e1b3ca404390c3a958f2cedcc613d9b37c45e45090495

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jmoona_cli-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 24.7 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6007cf3ef198bb218a85c25770c2ff8de8f1dda9a1adb5359c0122beef87dbd9
MD5 91ff618e7845a7ab0ac0f2594911ecba
BLAKE2b-256 9c934a2734af2864f186fe5ef0f78b9136fe3ceb4c93b0ca4f2f5227d001abb2

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