Skip to content

Repository files navigation

Jellyfin CLI

Command line client for Jellyfin media server.

Features

  • Search and browse media libraries
  • Control playback on external players
  • Manage users and libraries
  • End-to-end testing infrastructure

Installation

cargo install --path .

Quick Start

E2E Testing

The CLI includes built-in E2E testing with an isolated Jellyfin server:

# 1. Initialize the E2E environment
jellyfin e2e setup
# 2. Download test media (open-licensed)
jellyfin e2e media download --download all
# 3. Start the E2E server
jellyfin e2e start --wait
# 4. Access at http://127.0.0.1:8096# 5. Stop when done
jellyfin e2e stop --cleanup

See docs/e2e-testing.md for complete E2E testing documentation.

Connecting to a Server

# Login to a server
jellyfin login --server https://jellyfin.example.com
# Search for media
jellyfin search "movie title"# Get latest media
jellyfin latest --limit 10

Output Formats

All commands support structured output:

# YAML (default)
jellyfin search "query"# JSON
jellyfin search "query" --output json
# TOML
jellyfin search "query" --output toml

Development

Building

cargo build --release

Testing

# Run all tests
cargo test# Run E2E integration tests
cargo test e2e

Project Structure

jellyfin-cli/
├── crates/
│ ├── api/ # Jellyfin API client
│ ├── core/ # Shared business logic
│ ├── player/ # Media player integration
│ └── cli/ # CLI application
├── specs/ # Feature specifications
├── docs/ # Documentation
└── test-data/ # E2E test data

License

MIT OR Apache-2.0

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages