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 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
- ## Update
11
+ ## Changing the official add-ons
9
12
 
10
- To re-generate `index.json` you can do `scripts/gen.js > index.json`
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
- ## Changing the official add-ons
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
- To change what's contained in this module, you have to change `scripts/gen.js`
19
+ * stremio: the desktop/web app ([`stremio-official-addons@1` package][v1-npm-link])
16
20
 
17
- Besides changing this module, you have to update all it's dependant packages, most notably:
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
- * 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
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
- * stremio: the desktop/web app
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
- * stremio-rn: the react native app
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
- * 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
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.10",
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": 500
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.4",
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://github.com/Stremio/stremio-official-addons#readme",
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
- }