{"id":18312526,"url":"https://github.com/vernoxvernax/puddler-rs","last_synced_at":"2025-10-14T11:39:19.906Z","repository":{"id":46297261,"uuid":"515299726","full_name":"Vernoxvernax/Puddler-RS","owner":"Vernoxvernax","description":"Jellyfin \u0026 Emby \u0026 Plex command line client, powered by mpv. Written in Rust.","archived":false,"fork":false,"pushed_at":"2025-09-29T14:54:21.000Z","size":520,"stargazers_count":20,"open_issues_count":3,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-29T15:36:27.528Z","etag":null,"topics":["command-line-tool","emby","emby-client","jellyfin","jellyfin-client","linux","media-player","mpv","plex","rust","windows"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Vernoxvernax.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-07-18T18:34:09.000Z","updated_at":"2025-06-05T23:08:43.000Z","dependencies_parsed_at":"2023-02-18T01:31:25.180Z","dependency_job_id":"23bd002e-9522-4ab9-869d-0e0037e1e662","html_url":"https://github.com/Vernoxvernax/Puddler-RS","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/Vernoxvernax/Puddler-RS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vernoxvernax%2FPuddler-RS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vernoxvernax%2FPuddler-RS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vernoxvernax%2FPuddler-RS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vernoxvernax%2FPuddler-RS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Vernoxvernax","download_url":"https://codeload.github.com/Vernoxvernax/Puddler-RS/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vernoxvernax%2FPuddler-RS/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279019061,"owners_count":26086517,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["command-line-tool","emby","emby-client","jellyfin","jellyfin-client","linux","media-player","mpv","plex","rust","windows"],"created_at":"2024-11-05T16:24:29.039Z","updated_at":"2025-10-14T11:39:19.875Z","avatar_url":"https://github.com/Vernoxvernax.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Puddler-RS\n\nJellyfin \u0026 Emby \u0026 Plex command line client, powered by MPV. Written in Rust.\n\n[![Rust](https://github.com/Vernoxvernax/Puddler-RS/actions/workflows/release-builds.yml/badge.svg)](https://github.com/Vernoxvernax/Puddler-RS/actions/workflows/release-builds.yml)\n![GitHub issues](https://img.shields.io/github/issues/Vernoxvernax/Puddler-RS)\n![GitHub release (the latest by date)](https://img.shields.io/github/v/release/Vernoxvernax/Puddler-RS)\n![GitHub](https://img.shields.io/github/license/Vernoxvernax/Puddler-RS)\n\n![GitHub all releases](https://img.shields.io/github/downloads/Vernoxvernax/Puddler-RS/total)\n\n___\n\n## Requirements\n\n* fully configured Jellyfin or Emby or Plex server (+account)\n* at least some knowledge of IP addresses and networking\n\n___\n\n## Installation\n\nHead over to [releases](https://github.com/VernoxVernax/Puddler-RS/releases) and choose between the binaries there.\n\n### Linux:\n\n*Install `mpv`:*\n\n+ Arch-Linux:\n```\n$ pacman -S mpv\n```\n+ Debian:\n```\n$ apt-get install mpv\n```\n\n*Run it:*\n```\n$ ./puddler\n```\n\n### Windows:\n\nGo to [mpv-player](https://sourceforge.net/projects/mpv-player-windows/files/libmpv/) at Sourceforge.net and get the newest libmpv **x86_64** archive. This contains `libmpv-2.dll` which will need to be placed next to `puddler.exe` or into PATH.\n\nThen you should be able to run it.\n\n___\n\n## Compiling:\n\nWhat you'll need:\n\n* cargo\n* git\n\n___\n\n### Linux:\n\nClone this repo and install the binary:\n```\n$ git clone https://github.com/VernoxVernax/Puddler-RS.git\n$ cargo build --release\n$ cargo install --path .\n```\nThen you may add it to your PATH variable:\n```\n$ export PATH=\"$HOME/.cargo/bin:$PATH\"\n```\n\n___\n\n### Windows:\n\nGo to [mpv-player](https://sourceforge.net/projects/mpv-player-windows/files/libmpv/) at Sourceforge.net and get the newest libmpv **x86_64** archive. This contains `libmpv-2.dll` which will need to be placed next to `puddler.exe`.\n\nThen just compile it:\n```\n$ cargo install --path .\n```\n\nCargo will print the output folder of the `.exe` so that you know what folder to add to your PATH.\n\n___\n\n### Linux-to-Windows Cross-Compile:\n\nIn case someone struggles with linking to libmpv just like me:\n\nAdditionally, you will need the following tools:\n+ Windows (yes, the OS)\n+ Microsoft Visual Studio 14.0 (vcvarsall.bat)\n+ mingw-w64-tools (for `gendef`)\n+ 7z\n\n#### **Procedure:**\n\n+ Get the newest libmpv-dev from Sourceforge [here](https://sourceforge.net/projects/mpv-player-windows/files/libmpv/) (`wget` command below).\n+ Visual Studio (f.e. the community edition) [microsoft.com](https://visualstudio.microsoft.com/vs/features/cplusplus)\n    + for the sole purpose of libmpv, you will only need `Desktop Development With C++ Workload`.\n\n\n```\nrustup target add x86_64-pc-windows-gnu\ngit clone https://github.com/VernoxVernax/Puddler-RS.git\ncd Puddler-RS\nwget https://sourceforge.net/projects/mpv-player-windows/files/libmpv/mpv-dev-x86_64-v3-20230129-git-86093fc.7z/download -O mpv.7z\n7z e -y mpv-dev.7z -ompv-dev\ncd mpv-dev\ngendef libmpv-2.dll\n```\n\nOn a Windows system, you'll now have to open `cmd` and `cd` in to the `mpv-dev` folder.\n\n```\n\"C:\\Progam Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Auxiliary\\Build\\vcvarsall.bat\" x86_amd64\nlib /def:libmpv-2.def /name:libmpv-2.dll /out:mpv.lib /MACHINE:x64\n```\nThen copy `mpv.lib` to the `mpv` folder\n\n\nBack on Linux you should now be able to compile it just like this:\n```\ncargo build --target=x86_64-pc-windows-gnu --release\n```\n\nErrors upon compiling? Take a look at `./.cargo/config`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvernoxvernax%2Fpuddler-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvernoxvernax%2Fpuddler-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvernoxvernax%2Fpuddler-rs/lists"}