@oxymoron.13/tizentube-s95b 0.2.0 → 0.2.2
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 +42 -49
- package/S95B-CHANGES.txt +3 -9
- package/dist/userScript.js +2 -2
- package/package.json +5 -11
- package/UPSTREAM-README.md +0 -42
- package/mods/config.js +0 -117
- package/mods/domrect-polyfill.js +0 -104
- package/mods/features/adblock.js +0 -584
- package/mods/features/autoFrameRate.js +0 -42
- package/mods/features/enableFeatures.js +0 -19
- package/mods/features/moreSubtitles.js +0 -378
- package/mods/features/pictureInPicture.js +0 -198
- package/mods/features/preferredVideoQuality.js +0 -101
- package/mods/features/s95bCodec.js +0 -45
- package/mods/features/s95bI18n.js +0 -34
- package/mods/features/s95bMenu.js +0 -223
- package/mods/features/sponsorblock.js +0 -437
- package/mods/features/standaloneUserscript.js +0 -107
- package/mods/features/updater.js +0 -119
- package/mods/features/userAgentSpoofing.js +0 -73
- package/mods/features/videoQueuing.js +0 -64
- package/mods/package-lock.json +0 -2321
- package/mods/package.json +0 -33
- package/mods/resolveCommand.js +0 -376
- package/mods/rollup.config.js +0 -41
- package/mods/spatial-navigation-polyfill.js +0 -1756
- package/mods/tiny-sha256.js +0 -99
- package/mods/translations/i18nResources.js +0 -11
- package/mods/translations/index.js +0 -18
- package/mods/translations/language-names.js +0 -981
- package/mods/translations/resources/ar.json +0 -308
- package/mods/translations/resources/az.json +0 -308
- package/mods/translations/resources/bs.json +0 -308
- package/mods/translations/resources/cs.json +0 -308
- package/mods/translations/resources/de.json +0 -308
- package/mods/translations/resources/dk.json +0 -308
- package/mods/translations/resources/el.json +0 -308
- package/mods/translations/resources/en.json +0 -308
- package/mods/translations/resources/es-419.json +0 -308
- package/mods/translations/resources/es.json +0 -308
- package/mods/translations/resources/fi-FI.json +0 -308
- package/mods/translations/resources/fr.json +0 -311
- package/mods/translations/resources/hr.json +0 -308
- package/mods/translations/resources/hu.json +0 -308
- package/mods/translations/resources/id.json +0 -308
- package/mods/translations/resources/it.json +0 -308
- package/mods/translations/resources/ja.json +0 -308
- package/mods/translations/resources/lt.json +0 -308
- package/mods/translations/resources/lv.json +0 -308
- package/mods/translations/resources/pl.json +0 -308
- package/mods/translations/resources/pt-BR.json +0 -308
- package/mods/translations/resources/pt-PT.json +0 -308
- package/mods/translations/resources/ro.json +0 -310
- package/mods/translations/resources/ru.json +0 -308
- package/mods/translations/resources/sr-Cyrl.json +0 -308
- package/mods/translations/resources/sr-Latn.json +0 -308
- package/mods/translations/resources/tlh.json +0 -308
- package/mods/translations/resources/tr.json +0 -308
- package/mods/translations/resources/uk.json +0 -308
- package/mods/translations/resources/vi.json +0 -309
- package/mods/translations/resources/zh-CN.json +0 -308
- package/mods/translations/resources/zh-TW.json +0 -308
- package/mods/translations/update-translations.js +0 -55
- package/mods/ui/chapters.js +0 -137
- package/mods/ui/clock.js +0 -71
- package/mods/ui/customCommandExecution.js +0 -49
- package/mods/ui/customGuideAction.js +0 -119
- package/mods/ui/customUI.js +0 -192
- package/mods/ui/customYTSettings.js +0 -29
- package/mods/ui/disableWhosWatching.js +0 -48
- package/mods/ui/settings.js +0 -1024
- package/mods/ui/sidebarModification.js +0 -179
- package/mods/ui/speedUI.js +0 -119
- package/mods/ui/theme.js +0 -26
- package/mods/ui/ui.css +0 -157
- package/mods/ui/ui.js +0 -261
- package/mods/ui/ytUI.js +0 -510
- package/mods/userScript.js +0 -28
- package/mods/utils/ASTParser.js +0 -67
- package/mods/utils/innerTubeCalls.js +0 -138
- package/service/package-lock.json +0 -4193
- package/service/package.json +0 -29
- package/service/rollup.config.js +0 -47
- package/service/service.js +0 -118
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oxymoron.13/tizentube-s95b",
|
|
3
|
-
"appName": "TizenTube S95B Performance
|
|
4
|
-
"version": "0.2.
|
|
5
|
-
"description": "
|
|
3
|
+
"appName": "TizenTube S95B Performance",
|
|
4
|
+
"version": "0.2.2",
|
|
5
|
+
"description": "TizenTube fork with reversible S95B performance profile and German/English settings",
|
|
6
6
|
"packageType": "mods",
|
|
7
7
|
"websiteURL": "https://youtube.com/tv?additionalDataUrl=http%3A%2F%2Flocalhost%3A8085%2Fdial%2Fapps%2FYouTube",
|
|
8
8
|
"main": "dist/userScript.js",
|
|
9
|
-
"author": "S95B Performance Edition contributors
|
|
9
|
+
"author": "Reis Can; S95B Performance Edition contributors",
|
|
10
10
|
"serviceFile": "dist/service.js",
|
|
11
11
|
"keys": [
|
|
12
12
|
"MediaPlayPause",
|
|
@@ -19,11 +19,5 @@
|
|
|
19
19
|
"MediaTrackPrevious",
|
|
20
20
|
"ColorF2Yellow"
|
|
21
21
|
],
|
|
22
|
-
"license": "GPL-3.0-only"
|
|
23
|
-
"keywords": [
|
|
24
|
-
"tizenbrew",
|
|
25
|
-
"tizentube",
|
|
26
|
-
"tizen",
|
|
27
|
-
"unofficial-fork"
|
|
28
|
-
]
|
|
22
|
+
"license": "GPL-3.0-only"
|
|
29
23
|
}
|
package/UPSTREAM-README.md
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
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/mods/config.js
DELETED
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
const CONFIG_KEY = 'ytaf-configuration';
|
|
2
|
-
const defaultConfig = {
|
|
3
|
-
enableAdBlock: true,
|
|
4
|
-
enableSponsorBlock: true,
|
|
5
|
-
enableSponsorBlockToasts: true,
|
|
6
|
-
sponsorBlockManualSkips: ['intro', 'outro', 'filler'],
|
|
7
|
-
enableSponsorBlockSponsor: true,
|
|
8
|
-
enableSponsorBlockIntro: true,
|
|
9
|
-
enableSponsorBlockOutro: true,
|
|
10
|
-
enableSponsorBlockInteraction: true,
|
|
11
|
-
enableSponsorBlockSelfPromo: true,
|
|
12
|
-
enableSponsorBlockPreview: true,
|
|
13
|
-
enableSponsorBlockMusicOfftopic: true,
|
|
14
|
-
enableSponsorBlockFiller: false,
|
|
15
|
-
enableSponsorBlockHighlight: true,
|
|
16
|
-
videoSpeed: 1,
|
|
17
|
-
preferredVideoQuality: 'auto',
|
|
18
|
-
enableDeArrow: true,
|
|
19
|
-
enableDeArrowThumbnails: false,
|
|
20
|
-
focusContainerColor: '#0f0f0f',
|
|
21
|
-
routeColor: '#0f0f0f',
|
|
22
|
-
enableFixedUI: (window.h5vcc) ? false : true,
|
|
23
|
-
enableHqThumbnails: false,
|
|
24
|
-
enableChapters: true,
|
|
25
|
-
enableLongPress: true,
|
|
26
|
-
enableShorts: true,
|
|
27
|
-
dontCheckUpdateUntil: 0,
|
|
28
|
-
enableWhoIsWatchingMenu: false,
|
|
29
|
-
permanentlyEnableWhoIsWatchingMenu: false,
|
|
30
|
-
enableWhosWatchingMenuOnAppExit: false,
|
|
31
|
-
enableShowUserLanguage: true,
|
|
32
|
-
enableShowOtherLanguages: false,
|
|
33
|
-
showWelcomeToast: true,
|
|
34
|
-
enablePreviousNextButtons: true,
|
|
35
|
-
enableSuperThanksButton: false,
|
|
36
|
-
enableAIAskButton: false,
|
|
37
|
-
enableSpeedControlsButton: true,
|
|
38
|
-
enablePatchingVideoPlayer: true,
|
|
39
|
-
enableMPButton: true,
|
|
40
|
-
enableSwapMPWithPIP: false,
|
|
41
|
-
enablePreviews: true,
|
|
42
|
-
enableHideWatchedVideos: false,
|
|
43
|
-
hideWatchedVideosThreshold: 80,
|
|
44
|
-
hideWatchedVideosPages: [],
|
|
45
|
-
enableHideEndScreenCards: false,
|
|
46
|
-
enableYouThereRenderer: true,
|
|
47
|
-
lastAnnouncementCheck: 0,
|
|
48
|
-
enableScreenDimming: false,
|
|
49
|
-
dimmingTimeout: 60,
|
|
50
|
-
dimmingOpacity: 0.5,
|
|
51
|
-
enablePaidPromotionOverlay: true,
|
|
52
|
-
speedSettingsIncrement: 0.25,
|
|
53
|
-
preferredVideoCodec: 'any',
|
|
54
|
-
launchToOnStartup: null,
|
|
55
|
-
reloadHomeOnStartup: true,
|
|
56
|
-
disabledSidebarContents: [],
|
|
57
|
-
sidebarContentsOrder: [],
|
|
58
|
-
disableChannelsOnSidebar: false,
|
|
59
|
-
enableUpdater: true,
|
|
60
|
-
autoFrameRate: false,
|
|
61
|
-
autoFrameRatePauseVideoFor: 0,
|
|
62
|
-
enableSigninReminder: false,
|
|
63
|
-
sortSubscriptionsByAlphabet: false,
|
|
64
|
-
enableClock: false,
|
|
65
|
-
isClock12HourFormat: false,
|
|
66
|
-
clockShowSeconds: false,
|
|
67
|
-
clockHideWhenVideoPlaying: false,
|
|
68
|
-
disableEnlargingThumbnails: false,
|
|
69
|
-
enableShrinkingThumbnails: false,
|
|
70
|
-
hideRelatedVideosPlayer: false,
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
let localConfig;
|
|
74
|
-
|
|
75
|
-
try {
|
|
76
|
-
localConfig = JSON.parse(window.localStorage[CONFIG_KEY]);
|
|
77
|
-
} catch (err) {
|
|
78
|
-
console.warn('Config read failed:', err);
|
|
79
|
-
localConfig = defaultConfig;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
export function configRead(key) {
|
|
83
|
-
if (localConfig[key] === undefined) {
|
|
84
|
-
console.warn('Populating key', key, 'with default value', defaultConfig[key]);
|
|
85
|
-
localConfig[key] = defaultConfig[key];
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
return localConfig[key];
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
export function configWrite(key, value) {
|
|
92
|
-
console.info('Setting key', key, 'to', value);
|
|
93
|
-
localConfig[key] = value;
|
|
94
|
-
window.localStorage[CONFIG_KEY] = JSON.stringify(localConfig);
|
|
95
|
-
configChangeEmitter.dispatchEvent(new CustomEvent('configChange', { detail: { key, value } }));
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
export const configChangeEmitter = {
|
|
99
|
-
listeners: {},
|
|
100
|
-
addEventListener(type, callback) {
|
|
101
|
-
if (!this.listeners[type]) this.listeners[type] = [];
|
|
102
|
-
this.listeners[type].push(callback);
|
|
103
|
-
},
|
|
104
|
-
removeEventListener(type, callback) {
|
|
105
|
-
if (!this.listeners[type]) return;
|
|
106
|
-
this.listeners[type] = this.listeners[type].filter(cb => cb !== callback);
|
|
107
|
-
},
|
|
108
|
-
dispatchEvent(event) {
|
|
109
|
-
const type = event.type;
|
|
110
|
-
if (!this.listeners[type]) return;
|
|
111
|
-
this.listeners[type].forEach(cb => {
|
|
112
|
-
try {
|
|
113
|
-
cb.call(this, event)
|
|
114
|
-
} catch (_) {};
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
};
|
package/mods/domrect-polyfill.js
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// https://raw.githubusercontent.com/Financial-Times/polyfill-library/c25c30e4463bef60fba1213ecb697f3e3f253d7b/polyfills/DOMRect/polyfill.js
|
|
3
|
-
// License: MIT
|
|
4
|
-
//
|
|
5
|
-
|
|
6
|
-
(function (global) {
|
|
7
|
-
function number(v) {
|
|
8
|
-
return v === undefined ? 0 : Number(v);
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
function different(u, v) {
|
|
12
|
-
return u !== v && !(isNaN(u) && isNaN(v));
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
function DOMRect(xArg, yArg, wArg, hArg) {
|
|
16
|
-
var x, y, width, height, left, right, top, bottom;
|
|
17
|
-
|
|
18
|
-
x = number(xArg);
|
|
19
|
-
y = number(yArg);
|
|
20
|
-
width = number(wArg);
|
|
21
|
-
height = number(hArg);
|
|
22
|
-
|
|
23
|
-
Object.defineProperties(this, {
|
|
24
|
-
x: {
|
|
25
|
-
get: function () { return x; },
|
|
26
|
-
set: function (newX) {
|
|
27
|
-
if (different(x, newX)) {
|
|
28
|
-
x = newX;
|
|
29
|
-
left = right = undefined;
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
|
-
enumerable: true
|
|
33
|
-
},
|
|
34
|
-
y: {
|
|
35
|
-
get: function () { return y; },
|
|
36
|
-
set: function (newY) {
|
|
37
|
-
if (different(y, newY)) {
|
|
38
|
-
y = newY;
|
|
39
|
-
top = bottom = undefined;
|
|
40
|
-
}
|
|
41
|
-
},
|
|
42
|
-
enumerable: true
|
|
43
|
-
},
|
|
44
|
-
width: {
|
|
45
|
-
get: function () { return width; },
|
|
46
|
-
set: function (newWidth) {
|
|
47
|
-
if (different(width, newWidth)) {
|
|
48
|
-
width = newWidth;
|
|
49
|
-
left = right = undefined;
|
|
50
|
-
}
|
|
51
|
-
},
|
|
52
|
-
enumerable: true
|
|
53
|
-
},
|
|
54
|
-
height: {
|
|
55
|
-
get: function () { return height; },
|
|
56
|
-
set: function (newHeight) {
|
|
57
|
-
if (different(height, newHeight)) {
|
|
58
|
-
height = newHeight;
|
|
59
|
-
top = bottom = undefined;
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
|
-
enumerable: true
|
|
63
|
-
},
|
|
64
|
-
left: {
|
|
65
|
-
get: function () {
|
|
66
|
-
if (left === undefined) {
|
|
67
|
-
left = x + Math.min(0, width);
|
|
68
|
-
}
|
|
69
|
-
return left;
|
|
70
|
-
},
|
|
71
|
-
enumerable: true
|
|
72
|
-
},
|
|
73
|
-
right: {
|
|
74
|
-
get: function () {
|
|
75
|
-
if (right === undefined) {
|
|
76
|
-
right = x + Math.max(0, width);
|
|
77
|
-
}
|
|
78
|
-
return right;
|
|
79
|
-
},
|
|
80
|
-
enumerable: true
|
|
81
|
-
},
|
|
82
|
-
top: {
|
|
83
|
-
get: function () {
|
|
84
|
-
if (top === undefined) {
|
|
85
|
-
top = y + Math.min(0, height);
|
|
86
|
-
}
|
|
87
|
-
return top;
|
|
88
|
-
},
|
|
89
|
-
enumerable: true
|
|
90
|
-
},
|
|
91
|
-
bottom: {
|
|
92
|
-
get: function () {
|
|
93
|
-
if (bottom === undefined) {
|
|
94
|
-
bottom = y + Math.max(0, height);
|
|
95
|
-
}
|
|
96
|
-
return bottom;
|
|
97
|
-
},
|
|
98
|
-
enumerable: true
|
|
99
|
-
}
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
global.DOMRect = DOMRect;
|
|
104
|
-
}(self));
|