@oxymoron.13/tizentube-s95b 0.2.2 → 0.3.0

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.
Files changed (87) hide show
  1. package/README.md +51 -42
  2. package/S95B-CHANGES.txt +12 -4
  3. package/UPSTREAM-README.md +42 -0
  4. package/dist/service.js +3 -0
  5. package/dist/userScript.js +2 -2
  6. package/mods/config.js +117 -0
  7. package/mods/domrect-polyfill.js +104 -0
  8. package/mods/features/adblock.js +584 -0
  9. package/mods/features/autoFrameRate.js +42 -0
  10. package/mods/features/enableFeatures.js +19 -0
  11. package/mods/features/moreSubtitles.js +378 -0
  12. package/mods/features/pictureInPicture.js +198 -0
  13. package/mods/features/preferredVideoQuality.js +101 -0
  14. package/mods/features/s95bCodec.js +45 -0
  15. package/mods/features/s95bI18n.js +28 -0
  16. package/mods/features/s95bMenu.js +137 -0
  17. package/mods/features/s95bOptions.js +30 -0
  18. package/mods/features/s95bPlayback.js +29 -0
  19. package/mods/features/sponsorblock.js +437 -0
  20. package/mods/features/standaloneUserscript.js +107 -0
  21. package/mods/features/updater.js +119 -0
  22. package/mods/features/userAgentSpoofing.js +73 -0
  23. package/mods/features/videoQueuing.js +64 -0
  24. package/mods/package-lock.json +2321 -0
  25. package/mods/package.json +33 -0
  26. package/mods/resolveCommand.js +381 -0
  27. package/mods/rollup.config.js +41 -0
  28. package/mods/spatial-navigation-polyfill.js +1756 -0
  29. package/mods/tiny-sha256.js +99 -0
  30. package/mods/translations/i18nResources.js +11 -0
  31. package/mods/translations/index.js +18 -0
  32. package/mods/translations/language-names.js +981 -0
  33. package/mods/translations/resources/ar.json +308 -0
  34. package/mods/translations/resources/az.json +308 -0
  35. package/mods/translations/resources/bs.json +308 -0
  36. package/mods/translations/resources/cs.json +308 -0
  37. package/mods/translations/resources/de.json +308 -0
  38. package/mods/translations/resources/dk.json +308 -0
  39. package/mods/translations/resources/el.json +308 -0
  40. package/mods/translations/resources/en.json +308 -0
  41. package/mods/translations/resources/es-419.json +308 -0
  42. package/mods/translations/resources/es.json +308 -0
  43. package/mods/translations/resources/fi-FI.json +308 -0
  44. package/mods/translations/resources/fr.json +311 -0
  45. package/mods/translations/resources/hr.json +308 -0
  46. package/mods/translations/resources/hu.json +308 -0
  47. package/mods/translations/resources/id.json +308 -0
  48. package/mods/translations/resources/it.json +308 -0
  49. package/mods/translations/resources/ja.json +308 -0
  50. package/mods/translations/resources/lt.json +308 -0
  51. package/mods/translations/resources/lv.json +308 -0
  52. package/mods/translations/resources/pl.json +308 -0
  53. package/mods/translations/resources/pt-BR.json +308 -0
  54. package/mods/translations/resources/pt-PT.json +308 -0
  55. package/mods/translations/resources/ro.json +310 -0
  56. package/mods/translations/resources/ru.json +308 -0
  57. package/mods/translations/resources/sr-Cyrl.json +308 -0
  58. package/mods/translations/resources/sr-Latn.json +308 -0
  59. package/mods/translations/resources/tlh.json +308 -0
  60. package/mods/translations/resources/tr.json +308 -0
  61. package/mods/translations/resources/uk.json +308 -0
  62. package/mods/translations/resources/vi.json +309 -0
  63. package/mods/translations/resources/zh-CN.json +308 -0
  64. package/mods/translations/resources/zh-TW.json +308 -0
  65. package/mods/translations/update-translations.js +55 -0
  66. package/mods/ui/chapters.js +137 -0
  67. package/mods/ui/clock.js +71 -0
  68. package/mods/ui/customCommandExecution.js +49 -0
  69. package/mods/ui/customGuideAction.js +119 -0
  70. package/mods/ui/customUI.js +192 -0
  71. package/mods/ui/customYTSettings.js +29 -0
  72. package/mods/ui/disableWhosWatching.js +48 -0
  73. package/mods/ui/settings.js +1024 -0
  74. package/mods/ui/sidebarModification.js +179 -0
  75. package/mods/ui/speedUI.js +119 -0
  76. package/mods/ui/theme.js +26 -0
  77. package/mods/ui/ui.css +157 -0
  78. package/mods/ui/ui.js +261 -0
  79. package/mods/ui/ytUI.js +510 -0
  80. package/mods/userScript.js +28 -0
  81. package/mods/utils/ASTParser.js +67 -0
  82. package/mods/utils/innerTubeCalls.js +138 -0
  83. package/package.json +11 -5
  84. package/service/package-lock.json +4193 -0
  85. package/service/package.json +29 -0
  86. package/service/rollup.config.js +47 -0
  87. package/service/service.js +121 -0
package/README.md CHANGED
@@ -1,42 +1,51 @@
1
- # ▶️ TizenTube
2
- <p align="center">
3
- <img width="600px" src=".github/assets/TizenTube Standalone Banner.png">
4
- <br>
5
- <sub> TizenTube logo, banner and README by <a href="https://github.com/Zyborg777">@Zyborg777</a> </sub>
6
- </p>
7
-
8
- **TizenTube** is a TizenBrew module that enhances your favourite streaming websites viewing experience by removing ads and adding support for Sponsorblock. **Now works as a standalone app!**
9
-
10
- ** **
11
- 🤖 **Looking for an app for Android TVs?** Check out [TizenTube Cobalt](https://github.com/reisxd/TizenTubeCobalt). It offers everything TizenTube has for Android TVs.
12
-
13
-
14
- <p align="left">
15
- <a href="https://github.com/reisxd/TizenTubeCobalt/releases/latest">
16
- <picture>
17
- <img width="250px"
18
- src=".github/assets/TizenTube_Cobalt_dl-button.png" />
19
- </picture>
20
- </a>
21
- </p>
22
-
23
- ## ❓ How to install
24
-
25
- Follow the guide in the [Installation Guide](./docs/README.md).
26
-
27
- ## ✨ Features
28
- - 📺 **Picture-in-Picture Mode**
29
- - 🛑 **Ad Blocker**: Enjoy your favourite streaming website without interruptions from ads.
30
- - ❗ **SponsorBlock Support**: Automatically skip sponsored segments in videos.
31
- - ⏭️ **Video Speed Control**: Adjust playback speed to your preference.
32
- - 🔺 **[DeArrow](https://dearrow.ajay.app/) Support**: Remove clickbait and misleading video titles.
33
- - ➕ **More to come!** Request features via [issues](https://github.com/reisxd/TizenTube/issues/new).
34
-
35
- ## 🌐 Community and Support
36
- | Links |
37
- | ------------- |
38
- | [r/TizenTube Subreddit](https://www.reddit.com/r/TizenTube/) |
39
- | [Discord Server](https://discord.gg/m2P7v8Y2qR) |
40
- | [Telegram](https://t.me/tizentubeofficial) |
41
- | [Matrix Space](https://matrix.to/#/!BLE5ubNYktI30e8K0j:matrix.6513006.xyz) |
42
- | [Report Issues / Request Features](https://github.com/reisxd/TizenTube/issues) |
1
+ # TizenTube S95B Performance Edition
2
+
3
+ > **Unofficial fork.** This package is an independent, modified copy of
4
+ > **[TizenTube](https://github.com/reisxd/TizenTube)** by Reis Can ([@reisxd](https://github.com/reisxd))
5
+ > and contributors (npm: [`@foxreis/tizentube`](https://www.npmjs.com/package/@foxreis/tizentube)).
6
+ > **It is not the original TizenTube**, it is not made, endorsed or supported by the original author,
7
+ > and it is not affiliated with Samsung or YouTube/Google. Nearly all of the code is the original author's work.
8
+ > Please do not report problems of this fork to the original project.
9
+
10
+ Fork version `0.3.0`, based on TizenTube `1.15.1` (commit `9dd70a717bdfa5282077004adcd0303069dcd6e5`).
11
+
12
+ ## What is different from the original
13
+
14
+ - Optional, reversible **performance profile** (resource-saving mode that turns off video previews and DeArrow; the previous values are restored when it is switched off).
15
+ - **Conservative VP9/AV1/H.264 preference** that never trades away the highest resolution or frame rate; if in doubt the original stream list is kept.
16
+ - **Own settings menu** in German and English (yellow remote key, or F2 on a keyboard), drawn by YouTube/TizenTube itself like the green and blue menus; shows a status line (resolution with frame rate, e.g. `@24`, dropped frames, codec wish) when opened.
17
+ - **Video codec** and **default quality (all videos)** also appear in YouTube's playback settings popup while a video plays, right below YouTube's own *Quality* row (which only changes the current video).
18
+ - **Smaller bundle:** only German and English UI strings are included (English is the fallback).
19
+ - The player-class analysis is done once instead of on every player start.
20
+ - Fixes: the codec preference config key, and the casting (DIAL) launch handler starts *this* module instead of the original.
21
+ - If local port 8085 is already taken, this fork's background service logs the error instead of crashing TizenBrew's shared service process (casting to this module then does not work).
22
+
23
+ Everything else (ad blocking, SponsorBlock, picture-in-picture, DeArrow, speed control, …) comes unchanged from the original TizenTube.
24
+
25
+ ## Status
26
+
27
+ Experimental. Developed for one device (Samsung QE55S95B, Tizen 6.5) and tested only there by the maintainer;
28
+ other TVs are untested. **No performance improvement is promised or proven.** Use at your own risk.
29
+
30
+ ## Install (TizenBrew)
31
+
32
+ 1. Open TizenBrew on the TV, add the module `@oxymoron.13/tizentube-s95b`, start it.
33
+ 2. Press **yellow** (on Samsung remotes: `123` / color button first) to open the S95B menu.
34
+
35
+ ## Switch back to the original
36
+
37
+ Remove this module in TizenBrew and add the original `@foxreis/tizentube` again.
38
+ Do not run both at the same time: both use local port 8085. Do not set the original to autolaunch while using this fork.
39
+
40
+ ## Privacy and network
41
+
42
+ This fork adds no analytics or telemetry. It inherits the original's network behavior (for example SponsorBlock and DeArrow requests).
43
+ TizenBrew loads modules from the jsDelivr CDN at runtime.
44
+
45
+ ## Source code and license
46
+
47
+ Licensed under **GPL-3.0-only**, like the original; see `LICENSE`. The complete corresponding source is part of this package
48
+ (`mods/`, `service/`, `package.json` and lock files). Rebuild: `cd mods && npm ci && npm run build`, then `cd ../service && npm ci && npx rollup -c rollup.config.js`.
49
+ Changes against upstream and the upstream commit are listed in `S95B-CHANGES.txt`. The original README is kept as `UPSTREAM-README.md`.
50
+
51
+ No warranty of any kind, see the license.
package/S95B-CHANGES.txt CHANGED
@@ -1,6 +1,14 @@
1
- Based on @foxreis/tizentube; GPL-3.0-only
2
- Version 0.1.1 (2026-10-13). Edits: conservative codec selection; menu DE/EN via yellow remote key;
3
- light performance mode; reversible settings; opt-in diagnostics; codec config default fix;
4
- service.js DIAL launch target points to this fork instead of the original module.
1
+ Unofficial fork. Based on @foxreis/tizentube (https://github.com/reisxd/TizenTube) by Reis Can and contributors; GPL-3.0-only.
2
+ This package is NOT the original TizenTube and is not endorsed by its author.
3
+ Modified files: package.json, mods/config.js, mods/userScript.js, mods/features/adblock.js, mods/ui/customUI.js,
4
+ mods/resolveCommand.js, mods/translations/i18nResources.js, service/service.js.
5
+ Added: mods/features/s95b*.js, README.md, .npmignore, S95B-CHANGES.txt, S95B-SHA256.txt.
6
+ The original README is kept as UPSTREAM-README.md.
7
+ Version 0.3.0 (2026-10-13). Edits: conservative codec selection; DE/EN menu on the yellow remote key, drawn by
8
+ YouTube/TizenTube itself (codec, default quality, low-overhead mode, status line with frame rate); codec config default fix;
9
+ video codec and default quality entries in the playback settings popup (resolveCommand.js);
10
+ service.js DIAL launch target points to this fork instead of the original module; service.js port error handler;
11
+ AST scan of the player class cached; UI strings limited to German and English.
5
12
  Original source attribution and LICENSE are preserved in this fork.
13
+ Upstream: reisxd/TizenTube @ 9dd70a717bdfa5282077004adcd0303069dcd6e5
6
14
  Hardware performance and installation are NOT verified until tested on the television.
@@ -0,0 +1,42 @@
1
+ # ▶️ TizenTube
2
+ <p align="center">
3
+ <img width="600px" src=".github/assets/TizenTube Standalone Banner.png">
4
+ <br>
5
+ <sub> TizenTube logo, banner and README by <a href="https://github.com/Zyborg777">@Zyborg777</a> </sub>
6
+ </p>
7
+
8
+ **TizenTube** is a TizenBrew module that enhances your favourite streaming websites viewing experience by removing ads and adding support for Sponsorblock. **Now works as a standalone app!**
9
+
10
+ ** **
11
+ 🤖 **Looking for an app for Android TVs?** Check out [TizenTube Cobalt](https://github.com/reisxd/TizenTubeCobalt). It offers everything TizenTube has for Android TVs.
12
+
13
+
14
+ <p align="left">
15
+ <a href="https://github.com/reisxd/TizenTubeCobalt/releases/latest">
16
+ <picture>
17
+ <img width="250px"
18
+ src=".github/assets/TizenTube_Cobalt_dl-button.png" />
19
+ </picture>
20
+ </a>
21
+ </p>
22
+
23
+ ## ❓ How to install
24
+
25
+ Follow the guide in the [Installation Guide](./docs/README.md).
26
+
27
+ ## ✨ Features
28
+ - 📺 **Picture-in-Picture Mode**
29
+ - 🛑 **Ad Blocker**: Enjoy your favourite streaming website without interruptions from ads.
30
+ - ❗ **SponsorBlock Support**: Automatically skip sponsored segments in videos.
31
+ - ⏭️ **Video Speed Control**: Adjust playback speed to your preference.
32
+ - 🔺 **[DeArrow](https://dearrow.ajay.app/) Support**: Remove clickbait and misleading video titles.
33
+ - ➕ **More to come!** Request features via [issues](https://github.com/reisxd/TizenTube/issues/new).
34
+
35
+ ## 🌐 Community and Support
36
+ | Links |
37
+ | ------------- |
38
+ | [r/TizenTube Subreddit](https://www.reddit.com/r/TizenTube/) |
39
+ | [Discord Server](https://discord.gg/m2P7v8Y2qR) |
40
+ | [Telegram](https://t.me/tizentubeofficial) |
41
+ | [Matrix Space](https://matrix.to/#/!BLE5ubNYktI30e8K0j:matrix.6513006.xyz) |
42
+ | [Report Issues / Request Features](https://github.com/reisxd/TizenTube/issues) |
package/dist/service.js CHANGED
@@ -50474,6 +50474,9 @@ setInterval(function () {
50474
50474
  }, 5000);
50475
50475
  app.listen(PORT, function () {
50476
50476
  dialServer.start();
50477
+ }).on('error', function (e) {
50478
+ // S95B: without a handler, EADDRINUSE (e.g. original TizenTube running too) is an unhandled error event.
50479
+ console.error('[S95B] service port ' + PORT + ' unavailable:', e && e.code);
50477
50480
  });
50478
50481
 
50479
50482
  module.exports = service;