Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dependabot/npm and yarn/express 4.17.3.json #234

Open
wants to merge 5 commits into
base: dependabot/npm_and_yarn/express-4.17.3
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Stremio Addon SDK 🧙

![Stremio](https://www.stremio.com/website/stremio-purple-small.png)
<img src="https://blog.stremio.com/wp-content/uploads/2023/08/stremio-logo-2023.png" alt="Stremio" width="250" />

The **🧙 Stremio Addon SDK 🧙** was developed by the Stremio Team as a way of vastly simplifying Node.js addon creation for
our streaming platform.
Expand Down Expand Up @@ -159,4 +159,4 @@ This example uses Node.js and Express to get user specific data. (Update: the Ad

_built with love and serious coding skills by the Stremio Team_

<img src="https://blog.stremio.com/wp-content/uploads/2018/03/new-logo-cat-blog.jpg" width="300" />
<img src="https://blog.stremio.com/wp-content/uploads/2023/08/stremio-code-footer.jpg" width="300" />
2 changes: 1 addition & 1 deletion docs/advanced.md
Original file line number Diff line number Diff line change
Expand Up @@ -400,7 +400,7 @@ builder.defineStreamHandler(function(args) {
return new Promise(function(resolve, reject) {
if (args.type === 'movie' && args.id === 'tt1254207') {
// serve one stream for big buck bunny
const stream = { externalUrl: 'stremio://board' }
const stream = { externalUrl: 'stremio:///board' }
resolve({ streams: [stream] })
} else {
reject(new Error('No streams found for: ' + args.id))
Expand Down
37 changes: 30 additions & 7 deletions docs/deep-links.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ Stremio supports two types of deep links through the `stremio://` protocol

**NOTE:** GitHub does not allow links with a custom protocol, so just copy-paste the examples links in your browser's address bar and press Enter.

**Support for intents varies depending on platform.**

## To addons

Simply take a normal URL to a Stremio addon manifest, e.g. `https://watchhub-us.strem.io/manifest.json`, and replace the leading `https://` with `stremio://`
Expand All @@ -13,36 +15,57 @@ E.g. [stremio://watchhub-us.strem.io/manifest.json](stremio://watchhub-us.strem.

## To a page


### Board

[stremio://board](stremio://board)
[stremio:///board](stremio:///board)


### Discover

[stremio://discover](stremio://discover)
[stremio:///discover](stremio:///discover)

`stremio:///discover/{catalogAddonUrl}/{type}/{id}?genre={genre}`

* `catalogAddonUrl` - URL to manifest of the addon (URI encoded)
* `type` the addon type, see [content types](./api/responses/content.types.md)
* `id` [catalog id](./api/responses/manifest.md#catalog-format) from the addon
* `genre` the filter genre, see [catalog extra properties](./api/responses/manifest.md#extra-properties)


Discover does not support deeper linking for now.
## Library

[stremio:///library](stremio:///library)


## Search

`stremio:///search?search={query}`

* `query` the search query (URI encoded)


### Detail

`stremio://detail/{type}/{id}/{videoId}`
`stremio:///detail/{type}/{id}/{videoId}?autoPlay={autoPlay}`

* `type` corresponds to [content types](./api/responses/content.types.md)

* `id` is the [meta object ID](./api/responses/meta.md#meta-object)

* `videoID` is the [video object ID](./api/responses/meta.md#video-object); leave this empty if you only wish to show the list of episodes/videos (not applicable for one-video types, such as `movie` and `tv`)

* `autoPlay` can be `true` or `false`, optional, attempt playing the video with `videoID`, success depends on if the user played that video or a video from that meta before (in which case a stream url for the video, or a stream [bingeGroup](./api/responses/stream.md#additional-properties-to-provide-information--behaviour-flags) may be already available), currently only supported in the Android TV app

In the Cinemeta addon, the `videoID` is the same as the `id` for movies, and for series it's formed as `{id}:{season}:episode`

In the Channels addon, the `videoID` is formed as `{id}:{youtube video ID}`

Examples:

[stremio://detail/movie/tt0066921/tt0066921](stremio://detail/movie/tt0066921/tt0066921)
[stremio:///detail/movie/tt0066921/tt0066921](stremio:///detail/movie/tt0066921/tt0066921)

[stremio://detail/series/tt0108778/tt0108778:1:1](stremio://detail/series/tt0108778:1:1)
[stremio:///detail/series/tt0108778/tt0108778:1:1](stremio:///detail/series/tt0108778:1:1)

[stremio://detail/channel/yt_id:UCrDkAvwZum-UTjHmzDI2iIw](stremio://detail/channel/yt_id:UCrDkAvwZum-UTjHmzDI2iIw)
[stremio:///detail/channel/yt_id:UCrDkAvwZum-UTjHmzDI2iIw](stremio:///detail/channel/yt_id:UCrDkAvwZum-UTjHmzDI2iIw)

2 changes: 1 addition & 1 deletion test/basic.js
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ tape('defining the same handler throws', function(t) {

// publishToCentral publishes to the API
tape('publishToCentral', function(t) {
publishToCentral('https://cinemeta.strem.io/manifest.json')
publishToCentral('https://v3-cinemeta.strem.io/manifest.json')
.then(function(resp) {
t.equal(resp.success, true, 'can announce')
t.end()
Expand Down