mirror of
https://github.com/FrankerFaceZ/FrankerFaceZ.git
synced 2025-08-11 08:30:55 +00:00
4.20.45
* Changed: Add a notice to the Player Statistics metadata when an unexpected player type (non-`site`) is detected, which may indicate tampering by third-party software such as ad blockers. This notice is only intended to serve as a debugging tool for users, allowing them to easily determine whether or not a player type modification has been used.
This commit is contained in:
parent
46dd59ef8d
commit
a95c2ebccd
2 changed files with 29 additions and 5 deletions
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "frankerfacez",
|
"name": "frankerfacez",
|
||||||
"author": "Dan Salvato LLC",
|
"author": "Dan Salvato LLC",
|
||||||
"version": "4.20.44",
|
"version": "4.20.45",
|
||||||
"description": "FrankerFaceZ is a Twitch enhancement suite.",
|
"description": "FrankerFaceZ is a Twitch enhancement suite.",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
|
@ -346,6 +346,16 @@ export default class Metadata extends Module {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let tampered = false;
|
||||||
|
try {
|
||||||
|
const url = player.core.state.path;
|
||||||
|
if ( url.includes('/api/channel/hls/') ) {
|
||||||
|
const data = JSON.parse(new URL(url).searchParams.get('token'));
|
||||||
|
tampered = data && data.player_type && data.player_type !== 'site' ? data.player_type : false;
|
||||||
|
}
|
||||||
|
} catch(err) { /* no op */ }
|
||||||
|
|
||||||
|
|
||||||
if ( ! stats || stats.hlsLatencyBroadcaster < -100 )
|
if ( ! stats || stats.hlsLatencyBroadcaster < -100 )
|
||||||
return {stats};
|
return {stats};
|
||||||
|
|
||||||
|
@ -359,7 +369,8 @@ export default class Metadata extends Module {
|
||||||
drift,
|
drift,
|
||||||
rate: stats.rate == null ? 1 : stats.rate,
|
rate: stats.rate == null ? 1 : stats.rate,
|
||||||
delay: stats.hlsLatencyBroadcaster,
|
delay: stats.hlsLatencyBroadcaster,
|
||||||
old: stats.hlsLatencyBroadcaster > 180
|
old: stats.hlsLatencyBroadcaster > 180,
|
||||||
|
tampered
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -409,6 +420,16 @@ export default class Metadata extends Module {
|
||||||
},
|
},
|
||||||
|
|
||||||
tooltip(data) {
|
tooltip(data) {
|
||||||
|
const tampered = data.tampered ? (<div class="tw-border-t tw-mg-t-05 tw-pd-t-05">
|
||||||
|
{this.i18n.t(
|
||||||
|
'metadata.player-stats.tampered',
|
||||||
|
'Your player has an unexpected player type ({type}), which may affect your viewing experience.',
|
||||||
|
{
|
||||||
|
type: data.tampered
|
||||||
|
}
|
||||||
|
)}
|
||||||
|
</div>) : null;
|
||||||
|
|
||||||
const delayed = data.drift > 5000 && (<div class="tw-border-b tw-mg-b-05 tw-pd-b-05">
|
const delayed = data.drift > 5000 && (<div class="tw-border-b tw-mg-b-05 tw-pd-b-05">
|
||||||
{this.i18n.t(
|
{this.i18n.t(
|
||||||
'metadata.player-stats.delay-warning',
|
'metadata.player-stats.delay-warning',
|
||||||
|
@ -429,7 +450,8 @@ export default class Metadata extends Module {
|
||||||
return [
|
return [
|
||||||
delayed,
|
delayed,
|
||||||
ff,
|
ff,
|
||||||
this.i18n.t('metadata.player-stats.latency-tip', 'Stream Latency')
|
this.i18n.t('metadata.player-stats.latency-tip', 'Stream Latency'),
|
||||||
|
tampered
|
||||||
];
|
];
|
||||||
|
|
||||||
const stats = data.stats,
|
const stats = data.stats,
|
||||||
|
@ -455,7 +477,8 @@ export default class Metadata extends Module {
|
||||||
</div>,
|
</div>,
|
||||||
<div class="tw-pd-t-05">
|
<div class="tw-pd-t-05">
|
||||||
{video_info}
|
{video_info}
|
||||||
</div>
|
</div>,
|
||||||
|
tampered
|
||||||
];
|
];
|
||||||
|
|
||||||
return [
|
return [
|
||||||
|
@ -466,7 +489,8 @@ export default class Metadata extends Module {
|
||||||
),
|
),
|
||||||
<div class="tw-pd-t-05">
|
<div class="tw-pd-t-05">
|
||||||
{video_info}
|
{video_info}
|
||||||
</div>
|
</div>,
|
||||||
|
tampered
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue