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

Uploaded Python 3

File details

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

File metadata

  • Download URL: jmoona_cli-1.0.7.tar.gz
  • Upload date:
  • Size: 33.5 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.7.tar.gz
Algorithm Hash digest
SHA256 fbfffe7d8dd72d083e2ddbcde597b910812413ca05966d00882bfe7d9c0c5185
MD5 6d8cece7e767b3805889410e60fcc715
BLAKE2b-256 8498c5aba5fbf409be15bd3f6a2a0f2ff4160d7ac7b7c3ff6b58505a8cb498ee

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jmoona_cli-1.0.7-py3-none-any.whl
  • Upload date:
  • Size: 33.3 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 7f621a69e03744492559f2b745724e7b188876afb6e64f1938e076629ab3db8e
MD5 f4a6d7588303c3b384254b459c5e7a10
BLAKE2b-256 a1b7601d12295a8a059ec1f21ba0a2e33f95f3677666bb7ebd9a2109f72282c4

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