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

Uploaded Python 3

File details

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

File metadata

  • Download URL: jmoona_cli-1.0.1.tar.gz
  • Upload date:
  • Size: 22.1 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.1.tar.gz
Algorithm Hash digest
SHA256 9403aa284e149b76cefeafbdeccbffec7901d5843c03fc8e3a580b4a7c4578a5
MD5 78f03ffea703fed8d6fa4e63a3a8a612
BLAKE2b-256 ffc07f94b3f8a4cbc26af18bc5e6c8be8839004bd154749c4b7aace693ee365d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jmoona_cli-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 23.4 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7d824f2ed52a0454e54f4b58160f6cf4bfdd1cf44504f49cd3d1ab304284bb7d
MD5 44e5ab7387c10b22ff94669cdf8593e0
BLAKE2b-256 e05bd2ccf3d1efd0c5722e79c1ac07342321504bc03d4468758048c10b57a92e

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