jtvberg / StreamDock

Streaming service viewer.
MIT License
60 stars 14 forks source link
disney-plus electron evs hbo hulu netflix prime-video streaming streaming-services widevine youtube

Update

I am aware that some of the service-specific scripts are no longer behaving. I have not updated them in 8 months but am working on updates to them now.

StreamDock 2.0.0, The Sequel!

It took two years and a lack of focus to get 1.0.0 out the door and upon completion I looked at what I had wrought and wept. What a mess. It worked. I would say it worked well but it needed some serious refactoring. So serious that I just started from scratch.

The point of the app is still the same in that it was born out of my desire to fill the damn window instead of going fullscreen. Seriously, I want a window with the video content only... why isn't there a button for that? Theater mode, miniplayer, fullscreen... WORTHLESS!

It only took a month to rework and in that time, I also managed to knock out all the to-dos that I felt like were still relevant. StreamDock still has all the principal functionality it did before with some caveats...

Material Changes

Main View

Homescreen (Bookmarks & Stream Search)

Stream Search Detail

Using the code

Running the code

Some npm scripts are already setup in package.json\ npm start will launch the app (alternatively you can use electron .)\ Devtools are set to open on start up when in dev mode\ To debug main.js you can use the following commands (assumes you are using npm):

Widevine DRM

I used the Castlabs Electron fork for ECS located here.

Building

The code builds for Mac, Windows and Linux. There are also some build scripts in place (NOTE: You may want to disable notarization in the mac build script while testing your build as this can take a long time.)

Releases / Known Issues

Bookmarks and settings from older versions of StreamDock will not show up properly in 2.0.0+ :rotating_light:Note: If you are currently using StreamDock 1.x.x or older, I highly recommend you use the Clear Data function in the advanced section in the settings!:rotating_light:

The current release works on macOS (signed, notarized and tested on Ventura and Sonoma), Windows 10/11 (self-signed) and Linux (tested on Mint). Version 2.0.1 is the first release that includes a macOS distribution for Apple silicon. This was a miss on my part as the application will run much slower given the JS will be interpreted twice via Rosetta. Be sure to use the arm64 dmg if you have an M1/M2/M3.

The auto-update should prompt you as new releases come out and then, post download, prompt you to install/restart. Sometimes, it won't do the restart. If you wait a minute and exit the app completely, it should automatically restart the new version.

Three Issues:

App Control

Bookmarking

Service Specific Features

Various service-specific behaviors can be toggled in the settings under streaming service options including:

On AppleTV, Disney+, HBO Max, Hulu, Netflix, Paramount+, Peacock and Prime Video:

NOTE: On some services there are scenarios where an option to skip something doesn't show up. Usually, it's the opening credits for the first episode of a season.

Stream Search

You can search for a stream from the home screen.