Grayjay doesn't offer a way to authenticate with Jellyfin, so this server has become a necessity to achieve this.
Note: This project is in a very early state and currently not in a usable state.
In order to add a plugin for your personal server it has to be exposed to a public domain, if you want to access it externally. To add a plugin for your own server you have to start the server and access it on port 4000. There you can enter your the url to your jellyfin server. Scan the generated QR code with your Grayjay app and start watching your content.
- Authorization
- Get latest media in Home
- Search function
- Shows (Channel)
- Episodes (Video)
- Movies (Video)
- Song artists (Channel)
- Staff/Actors (Channel)
- Albums (Playlist)
- Media Playback
- Audio playback
- Video playback - Not quite there yet
- Duration is not properly shown in player
- Subttile playback
- Creators
- Series as Channel
- Actors
- Song interpreters
- Playlists
- Import own Playlists
- Seasons as playlists
- Albums as playlists
The plugin source code lives at assets/js/client.js.
It is copied/built to priv/static/js/client.js for serving.
Content URLs emitted by the plugin use Jellyfin web details paths
(.../web/#/details?id=<id>&type=<Type>) so Grayjay can open pages directly.
Write failing tests first, implement, then rerun the relevant suite.
mix test.plugin.unitruns deterministic unit tests forclient.js.mix test.plugin.contractruns manual live contract tests against Jellyfin.
Contract tests use local JSON credentials in assets/js/JELLYFIN_TEST.json and
assets/js/JELLYFIN_TEST.auth.json. Before tests run, the auth token is
validated and automatically refreshed when expired.
In order to start developing you need to start the software.
- Please be sure to have (Elixir)[https://elixir-lang.org/install.html] installed.
- Run
mix setupto install and setup dependencies - Start Phoenix endpoint with
mix phx.serveror inside IEx withiex -S mix phx.server
Now you can visit localhost:4000 from your browser.
- Official website: https://www.phoenixframework.org/
- Guides: https://hexdocs.pm/phoenix/overview.html
- Docs: https://hexdocs.pm/phoenix
- Forum: https://elixirforum.com/c/phoenix-forum
- Source: https://github.com/phoenixframework/phoenix