stremio-official-addons 1.5.4 → 1.5.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +92 -10
- package/index.json +66 -14
- package/official-addons-v2/README.md +32 -0
- package/official-addons-v2/package.json +27 -0
- package/package.json +12 -6
- package/scripts/gen.js +0 -35
package/README.md
CHANGED
|
@@ -1,27 +1,109 @@
|
|
|
1
1
|
# stremio-official-addons
|
|
2
|
+
[![npm][stremio-official-addons version badge]][v1-npm-link] ![downloads][stremio-official-addons downloads badge]
|
|
3
|
+
|
|
4
|
+
[![npm][@stremio/stremio-official-addons version badge]][v2-npm-link] ![downloads][@stremio/stremio-official-addons downloads badge] [![crates.io version badge][crates version]][v2-crates-io-link] ![Crates.io Downloads (latest version)][crates.io downloads badge]
|
|
2
5
|
|
|
3
6
|
All the stremio official add-ons, in `AddonCollection.load()` format
|
|
4
7
|
|
|
5
8
|
The `index.js` file is meant to be generated from the output of `AddonCollection.save()`
|
|
6
9
|
|
|
7
10
|
|
|
8
|
-
##
|
|
11
|
+
## Changing the official add-ons
|
|
9
12
|
|
|
10
|
-
To
|
|
13
|
+
To change what's contained in this module, you have to change [`scripts/gen.js`](./scripts/gen.js) for **version 1** and [`official-addons-v2/scripts/build.js`](./official-addons-v2/scripts/build.js) for **version 2**.
|
|
11
14
|
|
|
15
|
+
Besides changing this module, you have to update all it's dependant packages, most notably:
|
|
12
16
|
|
|
13
|
-
|
|
17
|
+
* stremio-api-workers: this is the **most important one**, since it will affect `addonsofficialcollection.json` and therefore the addonCollection API, and therefore all running apps should respect it ([`stremio-official-addons@1`][v1-npm-link] package)
|
|
14
18
|
|
|
15
|
-
|
|
19
|
+
* stremio: the desktop/web app ([`stremio-official-addons@1` package][v1-npm-link])
|
|
16
20
|
|
|
17
|
-
|
|
21
|
+
* stremio-rn: the react native app ([`stremio-official-addons@1` package][v1-npm-link])
|
|
22
|
+
|
|
23
|
+
* stremio-web: the new desktop/web app ([`@stremio/stremio-official-addons@2` package][v2-npm-link])
|
|
24
|
+
|
|
25
|
+
* stremio-core: the core for most applications including web, android tv, android, etc. ([`stremio-official-addons@2` crate][v2-crates-io-link])
|
|
26
|
+
|
|
27
|
+
* stremio-api-legacy-shim: this one does not *depend on* this module, and does not include it, but it contains a separate list of official add-ons in `addons/official.js` that is respected by all apps using the legacy endpoints **ARCHIVED**
|
|
28
|
+
|
|
29
|
+
# Release new version
|
|
30
|
+
|
|
31
|
+
## Version 1.XX.XX
|
|
32
|
+
To release a new version for v1 **npm** package you need to:
|
|
33
|
+
|
|
34
|
+
1. Bump [`package.json`](./package.json)
|
|
35
|
+
|
|
36
|
+
1.1. Make sure to update [`package-lock.json`](./package-lock.json):
|
|
37
|
+
|
|
38
|
+
`npm i --package-lock-only`
|
|
39
|
+
|
|
40
|
+
2. Make a new tag
|
|
41
|
+
|
|
42
|
+
`git tag -a v1.XX.XX -m "Tag for releases v1.XX.XX"`
|
|
43
|
+
|
|
44
|
+
3. Push it to the repo
|
|
45
|
+
|
|
46
|
+
`git push -u origin v1.XX.XX`
|
|
47
|
+
|
|
48
|
+
4. Create a [new release](https://github.com/Stremio/stremio-official-addons/releases) using the version as a title, e.g. `v1.5.6` and automatically generate changes from previous tag.
|
|
49
|
+
|
|
50
|
+
5. The [`publish` workflow](./.github/workflows/publish.yml) will run the `v1` job and will:
|
|
51
|
+
1. Build [`stremio-official-addons@1`][v1-npm-link] package
|
|
52
|
+
2. Publish the [package on npm][v1-npm-link]
|
|
53
|
+
|
|
54
|
+
## Version 2.XX.XX
|
|
55
|
+
|
|
56
|
+
To release a new version for v2 **npm** and **crate** packages you need to:
|
|
57
|
+
1. Bump [`official-addons-v2/package.json`](./official-addons-v2/package.json)
|
|
58
|
+
|
|
59
|
+
1.1. Make sure to update [`package-lock.json`](./package-lock.json):
|
|
60
|
+
|
|
61
|
+
`npm i --package-lock-only`
|
|
62
|
+
|
|
63
|
+
2. Bump [`official-addons-v2/Cargo.toml`](./official-addons-v2/Cargo.toml)
|
|
64
|
+
|
|
65
|
+
2.1. Make sure to update [`Cargo.lock`](./Cargo.lock):
|
|
66
|
+
|
|
67
|
+
`cargo update -p stremio-official-addons`
|
|
68
|
+
|
|
69
|
+
3. Make a new tag
|
|
70
|
+
|
|
71
|
+
`git tag -a v2.XX.XX -m "Tag for releases v2.XX.XX"`
|
|
72
|
+
|
|
73
|
+
4. Push it to the repo
|
|
74
|
+
|
|
75
|
+
`git push -u origin v2.XX.XX`
|
|
76
|
+
|
|
77
|
+
5. Create a [new release](https://github.com/Stremio/stremio-official-addons/releases) using the version as a title, e.g. `v2.0.12` and automatically generate changes from previous tag.
|
|
78
|
+
|
|
79
|
+
6. The [`publish` workflow](./.github/workflows/publish.yml) will run the `v2` job and will:
|
|
80
|
+
1. Build [`@stremio/stremio-official-addons@2`][v2-npm-link] package
|
|
81
|
+
2. Publish the [package on npm][v2-npm-link]
|
|
82
|
+
3. Publish the [crate on crates.io][v2-crates-io-link]
|
|
83
|
+
|
|
84
|
+
# License
|
|
85
|
+
|
|
86
|
+
Both packages are licensed under the MIT license:
|
|
87
|
+
- [`stremio-official-addons` v1 MIT license](./LICENSE.md)
|
|
88
|
+
- [`stremio-official-addons` v2 MIT license](./official-addons-v2/LICENSE.md)
|
|
89
|
+
|
|
90
|
+
### Contribution
|
|
91
|
+
|
|
92
|
+
Unless you explicitly state otherwise, any contribution intentionally submitted
|
|
93
|
+
for inclusion in the project by you, shall be licensed as MIT,
|
|
94
|
+
without any additional terms or conditions.
|
|
95
|
+
|
|
96
|
+
[v1-npm-link]: https://www.npmjs.com/package/stremio-official-addons
|
|
97
|
+
[stremio-official-addons downloads badge]: https://img.shields.io/npm/dm/stremio-official-addons?label=stremio-official-addons%20downloads&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2Fstremio-official-addons
|
|
18
98
|
|
|
19
|
-
|
|
99
|
+
[stremio-official-addons version badge]: https://img.shields.io/npm/v/stremio-official-addons?label=stremio-official-addons&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2Fstremio-official-addons
|
|
20
100
|
|
|
21
|
-
|
|
101
|
+
[v2-npm-link]: https://www.npmjs.com/package/@stremio/stremio-official-addons
|
|
102
|
+
[@stremio/stremio-official-addons downloads badge]: https://img.shields.io/npm/dm/%40stremio/stremio-official-addons?label=%40stremio%2Fstremio-official-addons%20downloads&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2F%40stremio%2Fstremio-official-addons
|
|
22
103
|
|
|
23
|
-
|
|
104
|
+
[@stremio/stremio-official-addons version badge]: https://img.shields.io/npm/v/%40stremio/stremio-official-addons?label=%40stremio%2Fstremio-official-addons&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2F%40stremio%2Fstremio-official-addons
|
|
24
105
|
|
|
25
|
-
* stremio-web: the new desktop/web app
|
|
26
106
|
|
|
27
|
-
|
|
107
|
+
[v2-crates-io-link]: https://crates.io/crates/stremio-official-addons
|
|
108
|
+
[crates version]: https://img.shields.io/crates/v/stremio-official-addons
|
|
109
|
+
[crates.io downloads badge]: https://img.shields.io/crates/dv/stremio-official-addons?label=Crates.io%20downloads%20(latest%20version)
|
package/index.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
{
|
|
3
3
|
"manifest": {
|
|
4
4
|
"id": "com.linvo.cinemeta",
|
|
5
|
-
"version": "3.0.
|
|
5
|
+
"version": "3.0.12",
|
|
6
6
|
"description": "The official addon for movie and series catalogs",
|
|
7
7
|
"name": "Cinemeta",
|
|
8
8
|
"resources": [
|
|
@@ -211,6 +211,8 @@
|
|
|
211
211
|
"type": "movie",
|
|
212
212
|
"id": "year",
|
|
213
213
|
"genres": [
|
|
214
|
+
"2025",
|
|
215
|
+
"2024",
|
|
214
216
|
"2023",
|
|
215
217
|
"2022",
|
|
216
218
|
"2021",
|
|
@@ -320,6 +322,8 @@
|
|
|
320
322
|
{
|
|
321
323
|
"name": "genre",
|
|
322
324
|
"options": [
|
|
325
|
+
"2025",
|
|
326
|
+
"2024",
|
|
323
327
|
"2023",
|
|
324
328
|
"2022",
|
|
325
329
|
"2021",
|
|
@@ -444,6 +448,8 @@
|
|
|
444
448
|
"type": "series",
|
|
445
449
|
"id": "year",
|
|
446
450
|
"genres": [
|
|
451
|
+
"2025",
|
|
452
|
+
"2024",
|
|
447
453
|
"2023",
|
|
448
454
|
"2022",
|
|
449
455
|
"2021",
|
|
@@ -513,6 +519,8 @@
|
|
|
513
519
|
{
|
|
514
520
|
"name": "genre",
|
|
515
521
|
"options": [
|
|
522
|
+
"2025",
|
|
523
|
+
"2024",
|
|
516
524
|
"2023",
|
|
517
525
|
"2022",
|
|
518
526
|
"2021",
|
|
@@ -724,7 +732,7 @@
|
|
|
724
732
|
{
|
|
725
733
|
"name": "lastVideosIds",
|
|
726
734
|
"isRequired": true,
|
|
727
|
-
"optionsLimit":
|
|
735
|
+
"optionsLimit": 100
|
|
728
736
|
}
|
|
729
737
|
],
|
|
730
738
|
"extraSupported": [
|
|
@@ -734,13 +742,30 @@
|
|
|
734
742
|
"lastVideosIds"
|
|
735
743
|
],
|
|
736
744
|
"name": "Last videos"
|
|
745
|
+
},
|
|
746
|
+
{
|
|
747
|
+
"type": "series",
|
|
748
|
+
"id": "calendar-videos",
|
|
749
|
+
"extra": [
|
|
750
|
+
{
|
|
751
|
+
"name": "calendarVideosIds",
|
|
752
|
+
"isRequired": true,
|
|
753
|
+
"optionsLimit": 100
|
|
754
|
+
}
|
|
755
|
+
],
|
|
756
|
+
"extraSupported": [
|
|
757
|
+
"calendarVideosIds"
|
|
758
|
+
],
|
|
759
|
+
"extraRequired": [
|
|
760
|
+
"calendarVideosIds"
|
|
761
|
+
],
|
|
762
|
+
"name": "Calendar videos"
|
|
737
763
|
}
|
|
738
764
|
],
|
|
739
765
|
"behaviorHints": {
|
|
740
766
|
"newEpisodeNotifications": true
|
|
741
767
|
}
|
|
742
768
|
},
|
|
743
|
-
"transportName": "http",
|
|
744
769
|
"transportUrl": "https://v3-cinemeta.strem.io/manifest.json",
|
|
745
770
|
"flags": {
|
|
746
771
|
"official": true,
|
|
@@ -809,10 +834,10 @@
|
|
|
809
834
|
}
|
|
810
835
|
]
|
|
811
836
|
},
|
|
812
|
-
"transportName": "http",
|
|
813
837
|
"transportUrl": "https://v3-channels.strem.io/manifest.json",
|
|
814
838
|
"flags": {
|
|
815
|
-
"official": true
|
|
839
|
+
"official": true,
|
|
840
|
+
"protected": false
|
|
816
841
|
}
|
|
817
842
|
},
|
|
818
843
|
{
|
|
@@ -834,10 +859,10 @@
|
|
|
834
859
|
"tt"
|
|
835
860
|
]
|
|
836
861
|
},
|
|
837
|
-
"transportName": "http",
|
|
838
862
|
"transportUrl": "https://watchhub.strem.io/manifest.json",
|
|
839
863
|
"flags": {
|
|
840
|
-
"official": true
|
|
864
|
+
"official": true,
|
|
865
|
+
"protected": false
|
|
841
866
|
}
|
|
842
867
|
},
|
|
843
868
|
{
|
|
@@ -872,10 +897,35 @@
|
|
|
872
897
|
"tt"
|
|
873
898
|
]
|
|
874
899
|
},
|
|
875
|
-
"transportName": "http",
|
|
876
900
|
"transportUrl": "https://caching.stremio.net/publicdomainmovies.now.sh/manifest.json",
|
|
877
901
|
"flags": {
|
|
878
|
-
"official": true
|
|
902
|
+
"official": true,
|
|
903
|
+
"protected": false
|
|
904
|
+
}
|
|
905
|
+
},
|
|
906
|
+
{
|
|
907
|
+
"manifest": {
|
|
908
|
+
"id": "org.stremio.opensubtitlesv3",
|
|
909
|
+
"version": "1.0.0",
|
|
910
|
+
"name": "OpenSubtitles v3",
|
|
911
|
+
"description": "OpenSubtitles v3 Addon for Stremio",
|
|
912
|
+
"catalogs": [],
|
|
913
|
+
"resources": [
|
|
914
|
+
"subtitles"
|
|
915
|
+
],
|
|
916
|
+
"types": [
|
|
917
|
+
"movie",
|
|
918
|
+
"series"
|
|
919
|
+
],
|
|
920
|
+
"idPrefixes": [
|
|
921
|
+
"tt"
|
|
922
|
+
],
|
|
923
|
+
"logo": "http://www.strem.io/images/addons/opensubtitles-logo.png"
|
|
924
|
+
},
|
|
925
|
+
"transportUrl": "https://opensubtitles-v3.strem.io/manifest.json",
|
|
926
|
+
"flags": {
|
|
927
|
+
"official": true,
|
|
928
|
+
"protected": false
|
|
879
929
|
}
|
|
880
930
|
},
|
|
881
931
|
{
|
|
@@ -893,12 +943,15 @@
|
|
|
893
943
|
"movie",
|
|
894
944
|
"other"
|
|
895
945
|
],
|
|
896
|
-
"catalogs": []
|
|
946
|
+
"catalogs": [],
|
|
947
|
+
"behaviorHints": {
|
|
948
|
+
"adult": false
|
|
949
|
+
}
|
|
897
950
|
},
|
|
898
|
-
"transportName": "legacy",
|
|
899
951
|
"transportUrl": "https://opensubtitles.strem.io/stremio/v1",
|
|
900
952
|
"flags": {
|
|
901
|
-
"official": true
|
|
953
|
+
"official": true,
|
|
954
|
+
"protected": false
|
|
902
955
|
}
|
|
903
956
|
},
|
|
904
957
|
{
|
|
@@ -936,11 +989,10 @@
|
|
|
936
989
|
],
|
|
937
990
|
"catalogs": []
|
|
938
991
|
},
|
|
939
|
-
"transportName": "http",
|
|
940
992
|
"transportUrl": "http://127.0.0.1:11470/local-addon/manifest.json",
|
|
941
993
|
"flags": {
|
|
942
994
|
"official": true,
|
|
943
995
|
"protected": true
|
|
944
996
|
}
|
|
945
997
|
}
|
|
946
|
-
]
|
|
998
|
+
]
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Stremio official addons (v2) packages
|
|
2
|
+
|
|
3
|
+
## NPM `@stremio/stremio-official-addons`
|
|
4
|
+
[![npm version badge][version badge]][v2-npm-link] ![Downloads monthly][downloads badge]
|
|
5
|
+
|
|
6
|
+
## Crates.io `stremio-official-addons`
|
|
7
|
+
[![crates.io version badge][crates version]][v2-crates-io-link] ![Crates.io Downloads (latest version)][crates.io downloads badge]
|
|
8
|
+
|
|
9
|
+
All of the stremio official addons.
|
|
10
|
+
|
|
11
|
+
## Build
|
|
12
|
+
|
|
13
|
+
To re-generate `addons.json` you can run `npm run build`
|
|
14
|
+
|
|
15
|
+
## Changing the official addons collection
|
|
16
|
+
|
|
17
|
+
To change what's contained in this module, you have to change `scripts/build.js`
|
|
18
|
+
|
|
19
|
+
Besides changing this module, you have to update all it's dependant packages.
|
|
20
|
+
|
|
21
|
+
# License
|
|
22
|
+
|
|
23
|
+
This project is licensed under the [MIT license](./LICENSE.md).
|
|
24
|
+
|
|
25
|
+
[v2-npm-link]: https://www.npmjs.com/package/@stremio/stremio-official-addons
|
|
26
|
+
[downloads badge]: https://img.shields.io/npm/dm/%40stremio/stremio-official-addons?label=%40stremio%2Fstremio-official-addons%20downloads&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2F%40stremio%2Fstremio-official-addons
|
|
27
|
+
|
|
28
|
+
[version badge]: https://img.shields.io/npm/v/%40stremio/stremio-official-addons?label=%40stremio%2Fstremio-official-addons&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2F%40stremio%2Fstremio-official-addons
|
|
29
|
+
|
|
30
|
+
[v2-crates-io-link]: https://crates.io/crates/stremio-official-addons
|
|
31
|
+
[crates version]: https://img.shields.io/crates/v/stremio-official-addons
|
|
32
|
+
[crates.io downloads badge]: https://img.shields.io/crates/dv/stremio-official-addons?label=Crates.io%20downloads%20(latest%20version)
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@stremio/stremio-official-addons",
|
|
3
|
+
"version": "2.0.12",
|
|
4
|
+
"description": "All of the stremio official addons",
|
|
5
|
+
"homepage": "https://stremio.com",
|
|
6
|
+
"author": "Smart Code OOD",
|
|
7
|
+
"main": "addons.json",
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "https://github.com/stremio/stremio-official-addons.git"
|
|
12
|
+
},
|
|
13
|
+
"keywords": [
|
|
14
|
+
"official",
|
|
15
|
+
"addons",
|
|
16
|
+
"stremio"
|
|
17
|
+
],
|
|
18
|
+
"scripts": {
|
|
19
|
+
"build": "node ./scripts/build.js"
|
|
20
|
+
},
|
|
21
|
+
"devDependencies": {
|
|
22
|
+
"@stremio/stremio-core-validator": "2.0.2",
|
|
23
|
+
"node-fetch": "2.6.7",
|
|
24
|
+
"stremio-addon-client": "1.16.1",
|
|
25
|
+
"stremio-local-addon": "https://git@github.com/Stremio/stremio-local-addon#79cd88c32aa26270af8b662fa7bd92b657f6e14f"
|
|
26
|
+
}
|
|
27
|
+
}
|
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "stremio-official-addons",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.7",
|
|
4
4
|
"description": "All the stremio official add-ons, in AddonCollection.load() format",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
7
|
-
"test": "echo \"Error: no test specified\" && exit 1"
|
|
7
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
8
|
+
"build": "./scripts/gen.js > index.json"
|
|
8
9
|
},
|
|
9
10
|
"repository": {
|
|
10
11
|
"type": "git",
|
|
@@ -19,8 +20,13 @@
|
|
|
19
20
|
"bugs": {
|
|
20
21
|
"url": "https://github.com/Stremio/stremio-official-addons/issues"
|
|
21
22
|
},
|
|
22
|
-
"homepage": "https://
|
|
23
|
+
"homepage": "https://stremio.com",
|
|
23
24
|
"devDependencies": {
|
|
24
|
-
"stremio-addon-client": "^1.5.2"
|
|
25
|
-
|
|
26
|
-
}
|
|
25
|
+
"stremio-addon-client": "^1.5.2",
|
|
26
|
+
"stremio-local-addon": "https://git@github.com/Stremio/stremio-local-addon#79cd88c32aa26270af8b662fa7bd92b657f6e14f"
|
|
27
|
+
},
|
|
28
|
+
"workspaces": [
|
|
29
|
+
".",
|
|
30
|
+
"official-addons-v2"
|
|
31
|
+
]
|
|
32
|
+
}
|
package/scripts/gen.js
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
const client = require('stremio-addon-client')
|
|
4
|
-
|
|
5
|
-
const ENDPOINTS = [
|
|
6
|
-
"https://v3-cinemeta.strem.io/manifest.json",
|
|
7
|
-
"https://v3-channels.strem.io/manifest.json",
|
|
8
|
-
"https://watchhub.strem.io/manifest.json",
|
|
9
|
-
"https://caching.stremio.net/publicdomainmovies.now.sh/manifest.json",
|
|
10
|
-
"https://opensubtitles.strem.io/stremio/v1",
|
|
11
|
-
"http://127.0.0.1:11470/local-addon/manifest.json",
|
|
12
|
-
]
|
|
13
|
-
|
|
14
|
-
const col = new client.AddonCollection()
|
|
15
|
-
|
|
16
|
-
Promise.all(ENDPOINTS.map(url => client.detectFromURL(url)))
|
|
17
|
-
.then(function(responses) {
|
|
18
|
-
responses.forEach(function(x, i) {
|
|
19
|
-
if (!x.addon) return
|
|
20
|
-
if (JSON.stringify(x.addon.manifest).length > 8192) throw 'manifest bigger than 8kb - aborting!'
|
|
21
|
-
x.addon.flags = isProtected(x, i) ? { official: true, protected: true } : { official: true }
|
|
22
|
-
col.add(x.addon)
|
|
23
|
-
})
|
|
24
|
-
})
|
|
25
|
-
.then(function() {
|
|
26
|
-
console.log(JSON.stringify(col.save(), null, 4))
|
|
27
|
-
})
|
|
28
|
-
|
|
29
|
-
function isProtected(x, i) {
|
|
30
|
-
// cinemeta
|
|
31
|
-
if (i === 0) return true
|
|
32
|
-
|
|
33
|
-
// local
|
|
34
|
-
if (x.addon.manifest.id.match('local')) return true
|
|
35
|
-
}
|