chore: full remove Fsst

This commit is contained in:
WebStreamr 2025-10-17 14:51:43 +00:00
parent eaa95e8cd9
commit bcd868850d
No known key found for this signature in database
6 changed files with 0 additions and 756 deletions

View file

@ -1,24 +0,0 @@
import winston from 'winston';
import { createTestContext } from '../test';
import { FetcherMock } from '../utils';
import { ExtractorRegistry } from './ExtractorRegistry';
import { Fsst } from './Fsst';
const logger = winston.createLogger({ transports: [new winston.transports.Console({ level: 'nope' })] });
const extractorRegistry = new ExtractorRegistry(logger, [new Fsst(new FetcherMock(`${__dirname}/__fixtures__/Fsst`))]);
const ctx = createTestContext();
describe('Fsst', () => {
test('Blood & Sinners', async () => {
expect(await extractorRegistry.handle(ctx, new URL('https://fsst.online/embed/900576/'))).toMatchSnapshot();
});
test('Dead City', async () => {
expect(await extractorRegistry.handle(ctx, new URL('https://fsst.online/embed/901994/'))).toMatchSnapshot();
});
test('How to Train Your Dragon', async () => {
expect(await extractorRegistry.handle(ctx, new URL('https://fsst.online/embed/902668/'))).toMatchSnapshot();
});
});

View file

@ -1,42 +0,0 @@
import * as cheerio from 'cheerio';
import { Context, Format, Meta, UrlResult } from '../types';
import { Extractor } from './Extractor';
export class Fsst extends Extractor {
public readonly id = 'fsst';
public readonly label = 'Fsst';
public supports(_ctx: Context, url: URL): boolean {
return null !== url.host.match(/fsst/);
};
protected async extractInternal(ctx: Context, url: URL, meta: Meta): Promise<UrlResult[]> {
const headers = { Referer: meta.referer ?? url.href };
const html = await this.fetcher.text(ctx, url, { headers });
const $ = cheerio.load(html);
const title = $('title').text().trim();
const filesMatch = html.match(/file:"(.*)"/) as string[];
return (filesMatch[1] as string).split(',').map((fileString) => {
const heightAndUrlMatch = fileString.match(/\[?([\d]*)p?]?(.*)/) as string[];
const fileHref = heightAndUrlMatch[2] as string;
const heightFromFileHrefMatch = fileHref.match(/([\d]+)p/) as string[];
return {
url: new URL(fileHref),
format: Format.mp4,
label: this.label,
sourceId: `${this.id}_${meta.countryCodes?.join('_')}`,
meta: {
...meta,
height: parseInt(heightAndUrlMatch[1] || heightFromFileHrefMatch[1] as string),
title,
},
};
});
};
}

View file

@ -1,199 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Blood.and.Sinners.2025.mkv</title>
<script src='/player/player-101224.js' type='text/javascript'></script>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-CFYS4N19SL"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-CFYS4N19SL', {cookie_flags: 'max-age=7200;secure;samesite=none'});
gtag('config', 'G-SZ2D21EHGZ', {cookie_flags: 'max-age=7200;secure;samesite=none'});
gtag('config', 'G-7F9RVQ2TM0', {cookie_flags: 'max-age=7200;secure;samesite=none'});
gtag('config', 'G-LZP7HENPSC', {cookie_flags: 'max-age=7200;secure;samesite=none'});
</script>
</head>
<body style="margin:0; padding:0; background:#000000; color:#ffffff">
<div id="Video900576" style="width:100%; height:100%;"></div>
<script>
var isMobile = {
Android: function() {
return navigator.userAgent.match(/Android/i);
},
BlackBerry: function() {
return navigator.userAgent.match(/BlackBerry/i);
},
iOS: function() {
return navigator.userAgent.match(/iPhone|iPad|iPod/i);
},
Opera: function() {
return navigator.userAgent.match(/Opera Mini/i);
},
SmartTV: function() {
return navigator.userAgent.match(/Apple TV|Tizen|Web0S|WebOS|TSBNetTV|PHILIPSTV|NETFLIX|BRAVIA|Opera TV Store|SmartTV|SmartTv/i);
},
Windows: function() {
return navigator.userAgent.match(/IEMobile/i);
},
any: function() {
return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.SmartTV() || isMobile.Windows());
}
};
if(isMobile.iOS()){
var player = new Playerjs({
id: 'Video900576',
subtitle: "",
poster: 'https://www.secvideo1.online/contents/videos_screenshots/900000/900576/preview.jpg',
file:"[360p]https://www.secvideo1.online/get_file/16/a135ab46b1243e41c0282c16d7cdcbcdf0faf7ee79/900000/900576/900576_360p.mp4/,[720p]https://www.secvideo1.online/get_file/16/801a42b7ac11f7e08101fe8c3cb537045ddf5c9b19/900000/900576/900576_720p.mp4/,[1080p]https://www.secvideo1.online/get_file/16/fae180e05d8d7af50fff44c7a24232b5c58023d7f5/900000/900576/900576.mp4/",
url: 'https://csst.online/videos/900576/blood-and-sinners-2025-mkv2/',
embed: "https://csst.online/embed/900576/",
default_quality: "360p",
preroll: "//4736.in/vpaid/?id=906", });
} else {
if(isMobile.Android()){
var player = new Playerjs({
id: 'Video900576',
subtitle: "",
poster: 'https://www.secvideo1.online/contents/videos_screenshots/900000/900576/preview.jpg',
file:"[360p]https://www.secvideo1.online/get_file/16/a135ab46b1243e41c0282c16d7cdcbcdf0faf7ee79/900000/900576/900576_360p.mp4/,[720p]https://www.secvideo1.online/get_file/16/801a42b7ac11f7e08101fe8c3cb537045ddf5c9b19/900000/900576/900576_720p.mp4/,[1080p]https://www.secvideo1.online/get_file/16/fae180e05d8d7af50fff44c7a24232b5c58023d7f5/900000/900576/900576.mp4/",
url: 'https://csst.online/videos/900576/blood-and-sinners-2025-mkv2/',
embed: "https://csst.online/embed/900576/",
default_quality: "360p",
preroll: "//4736.in/vpaid/?id=906", });
} else {
if(isMobile.SmartTV()){
var player = new Playerjs({
id: 'Video900576',
subtitle: "",
poster: 'https://www.secvideo1.online/contents/videos_screenshots/900000/900576/preview.jpg',
file:"[360p]https://www.secvideo1.online/get_file/16/a135ab46b1243e41c0282c16d7cdcbcdf0faf7ee79/900000/900576/900576_360p.mp4/,[720p]https://www.secvideo1.online/get_file/16/801a42b7ac11f7e08101fe8c3cb537045ddf5c9b19/900000/900576/900576_720p.mp4/,[1080p]https://www.secvideo1.online/get_file/16/fae180e05d8d7af50fff44c7a24232b5c58023d7f5/900000/900576/900576.mp4/",
url: 'https://csst.online/videos/900576/blood-and-sinners-2025-mkv2/',
embed: "https://csst.online/embed/900576/",
default_quality: "360p",
preroll: "//4736.in/vpaid/?id=906", });
} else {
var player = new Playerjs({
id: 'Video900576',
subtitle: "",
poster: 'https://www.secvideo1.online/contents/videos_screenshots/900000/900576/preview.jpg',
file:"[360p]https://www.secvideo1.online/get_file/16/a135ab46b1243e41c0282c16d7cdcbcdf0faf7ee79/900000/900576/900576_360p.mp4/,[720p]https://www.secvideo1.online/get_file/16/801a42b7ac11f7e08101fe8c3cb537045ddf5c9b19/900000/900576/900576_720p.mp4/,[1080p]https://www.secvideo1.online/get_file/16/fae180e05d8d7af50fff44c7a24232b5c58023d7f5/900000/900576/900576.mp4/",
url: 'https://csst.online/videos/900576/blood-and-sinners-2025-mkv2/',
embed: "https://csst.online/embed/900576/",
default_quality: "360p",
preroll: "//4736.in/vpaid/?id=906", });
}
}
}
</script>
<script>
function PlayerjsEvents(event,id,info){
if(event=="vast_url"){
url = info;
}
if(event=="inited"){
console.log("inited");
console.log(Math.round(player.api("time")));
window.parent.postMessage({
event: 'inited',
time: Math.round(player.api("time")),
}, '*');
}
if(event=="vast_Impression"){
console.log("Impression");
console.log(url);
yaCounter49597111.reachGoal('vast_impression', {Ads: url.split(/\/+/)[1]});
gtag('event', 'ADS_viewed', {
'send_to': 'G-LZP7HENPSC',
'event_category': 'Video',
'event_label': '28214',
});
gtag('event', 'Vast Impression', {
'send_to': 'G-7F9RVQ2TM0',
'event_category': 'Video',
'event_label': url.split(/\/+/)[1],
});
}
if(event=="start"){
console.log("started");
console.log(Math.round(player.api("time")));
yaCounter49597111.reachGoal('play');
gtag('event', 'Video_played', {
'send_to': 'G-LZP7HENPSC',
'event_category': 'Video',
'event_label': '28214',
});
gtag('event', 'Play', {
'send_to': 'G-SZ2D21EHGZ',
'event_category': 'Video',
'event_label': 'Play',
});
window.parent.postMessage({
event: 'started',
time: Math.round(player.api("time")),
}, '*');
}
if(event=="pause"){
console.log("paused");
console.log(Math.round(player.api("time")));
window.parent.postMessage({
event: 'paused',
time: Math.round(player.api("time")),
}, '*');
}
if(event=="end"){
console.log("ended");
console.log(Math.round(player.api("time")));
window.parent.postMessage({
event: 'ended',
time: Math.round(player.api("time")),
}, '*');
}
}
</script>
<!-- Yandex.Metrika counter -->
<script type="text/javascript" >
(function (d, w, c) {
(w[c] = w[c] || []).push(function() {
try {
w.yaCounter49597111 = new Ya.Metrika2({
id:49597111,
clickmap:true,
trackLinks:true,
accurateTrackBounce:true
});
} catch(e) { }
});
var n = d.getElementsByTagName("script")[0],
s = d.createElement("script"),
f = function () { n.parentNode.insertBefore(s, n); };
s.type = "text/javascript";
s.async = true;
s.src = "https://cdn.jsdelivr.net/npm/yandex-metrica-watch/tag.js";
if (w.opera == "[object Opera]") {
d.addEventListener("DOMContentLoaded", f, false);
} else { f(); }
})(document, window, "yandex_metrika_callbacks2");
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/49597111" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->
<!-- -->
<!-- 2 -->
<!-- -->
</body>
</html>

View file

@ -1,199 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>the.walking.dead.dead.city.s02e06.german.dl.1080p.web.x264-wvf.mkv</title>
<script src='/player/player-101224.js' type='text/javascript'></script>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-CFYS4N19SL"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-CFYS4N19SL', {cookie_flags: 'max-age=7200;secure;samesite=none'});
gtag('config', 'G-SZ2D21EHGZ', {cookie_flags: 'max-age=7200;secure;samesite=none'});
gtag('config', 'G-7F9RVQ2TM0', {cookie_flags: 'max-age=7200;secure;samesite=none'});
gtag('config', 'G-LZP7HENPSC', {cookie_flags: 'max-age=7200;secure;samesite=none'});
</script>
</head>
<body style="margin:0; padding:0; background:#000000; color:#ffffff">
<div id="Video901994" style="width:100%; height:100%;"></div>
<script>
var isMobile = {
Android: function() {
return navigator.userAgent.match(/Android/i);
},
BlackBerry: function() {
return navigator.userAgent.match(/BlackBerry/i);
},
iOS: function() {
return navigator.userAgent.match(/iPhone|iPad|iPod/i);
},
Opera: function() {
return navigator.userAgent.match(/Opera Mini/i);
},
SmartTV: function() {
return navigator.userAgent.match(/Apple TV|Tizen|Web0S|WebOS|TSBNetTV|PHILIPSTV|NETFLIX|BRAVIA|Opera TV Store|SmartTV|SmartTv/i);
},
Windows: function() {
return navigator.userAgent.match(/IEMobile/i);
},
any: function() {
return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.SmartTV() || isMobile.Windows());
}
};
if(isMobile.iOS()){
var player = new Playerjs({
id: 'Video901994',
subtitle: "",
poster: 'https://www.secvideo1.online/contents/videos_screenshots/901000/901994/preview.jpg',
file:"[360p]https://www.secvideo1.online/get_file/9/99510c9abde68b5e82b08cd2391724050c8e47cc86/901000/901994/901994_360p.mp4/,[720p]https://www.secvideo1.online/get_file/9/868ae0229e543e7a9a6f7cf4b3df88f45a49aa11fa/901000/901994/901994_720p.mp4/,[1080p]https://www.secvideo1.online/get_file/9/44ff1bf6024db32840054f00029afb1164408b3c1f/901000/901994/901994.mp4/",
url: 'https://csst.online/videos/901994/the-walking-dead-dead-city-s02e06-german-dl-1080p-web-x264-wvf-mkv/',
embed: "https://csst.online/embed/901994/",
default_quality: "360p",
preroll: "//4736.in/vpaid/?id=906", });
} else {
if(isMobile.Android()){
var player = new Playerjs({
id: 'Video901994',
subtitle: "",
poster: 'https://www.secvideo1.online/contents/videos_screenshots/901000/901994/preview.jpg',
file:"[360p]https://www.secvideo1.online/get_file/9/99510c9abde68b5e82b08cd2391724050c8e47cc86/901000/901994/901994_360p.mp4/,[720p]https://www.secvideo1.online/get_file/9/868ae0229e543e7a9a6f7cf4b3df88f45a49aa11fa/901000/901994/901994_720p.mp4/,[1080p]https://www.secvideo1.online/get_file/9/44ff1bf6024db32840054f00029afb1164408b3c1f/901000/901994/901994.mp4/",
url: 'https://csst.online/videos/901994/the-walking-dead-dead-city-s02e06-german-dl-1080p-web-x264-wvf-mkv/',
embed: "https://csst.online/embed/901994/",
default_quality: "360p",
preroll: "//4736.in/vpaid/?id=906", });
} else {
if(isMobile.SmartTV()){
var player = new Playerjs({
id: 'Video901994',
subtitle: "",
poster: 'https://www.secvideo1.online/contents/videos_screenshots/901000/901994/preview.jpg',
file:"[360p]https://www.secvideo1.online/get_file/9/99510c9abde68b5e82b08cd2391724050c8e47cc86/901000/901994/901994_360p.mp4/,[720p]https://www.secvideo1.online/get_file/9/868ae0229e543e7a9a6f7cf4b3df88f45a49aa11fa/901000/901994/901994_720p.mp4/,[1080p]https://www.secvideo1.online/get_file/9/44ff1bf6024db32840054f00029afb1164408b3c1f/901000/901994/901994.mp4/",
url: 'https://csst.online/videos/901994/the-walking-dead-dead-city-s02e06-german-dl-1080p-web-x264-wvf-mkv/',
embed: "https://csst.online/embed/901994/",
default_quality: "360p",
preroll: "//4736.in/vpaid/?id=906", });
} else {
var player = new Playerjs({
id: 'Video901994',
subtitle: "",
poster: 'https://www.secvideo1.online/contents/videos_screenshots/901000/901994/preview.jpg',
file:"[360p]https://www.secvideo1.online/get_file/9/99510c9abde68b5e82b08cd2391724050c8e47cc86/901000/901994/901994_360p.mp4/,[720p]https://www.secvideo1.online/get_file/9/868ae0229e543e7a9a6f7cf4b3df88f45a49aa11fa/901000/901994/901994_720p.mp4/,[1080p]https://www.secvideo1.online/get_file/9/44ff1bf6024db32840054f00029afb1164408b3c1f/901000/901994/901994.mp4/",
url: 'https://csst.online/videos/901994/the-walking-dead-dead-city-s02e06-german-dl-1080p-web-x264-wvf-mkv/',
embed: "https://csst.online/embed/901994/",
default_quality: "360p",
preroll: "//4736.in/vpaid/?id=906", });
}
}
}
</script>
<script>
function PlayerjsEvents(event,id,info){
if(event=="vast_url"){
url = info;
}
if(event=="inited"){
console.log("inited");
console.log(Math.round(player.api("time")));
window.parent.postMessage({
event: 'inited',
time: Math.round(player.api("time")),
}, '*');
}
if(event=="vast_Impression"){
console.log("Impression");
console.log(url);
yaCounter49597111.reachGoal('vast_impression', {Ads: url.split(/\/+/)[1]});
gtag('event', 'ADS_viewed', {
'send_to': 'G-LZP7HENPSC',
'event_category': 'Video',
'event_label': '28214',
});
gtag('event', 'Vast Impression', {
'send_to': 'G-7F9RVQ2TM0',
'event_category': 'Video',
'event_label': url.split(/\/+/)[1],
});
}
if(event=="start"){
console.log("started");
console.log(Math.round(player.api("time")));
yaCounter49597111.reachGoal('play');
gtag('event', 'Video_played', {
'send_to': 'G-LZP7HENPSC',
'event_category': 'Video',
'event_label': '28214',
});
gtag('event', 'Play', {
'send_to': 'G-SZ2D21EHGZ',
'event_category': 'Video',
'event_label': 'Play',
});
window.parent.postMessage({
event: 'started',
time: Math.round(player.api("time")),
}, '*');
}
if(event=="pause"){
console.log("paused");
console.log(Math.round(player.api("time")));
window.parent.postMessage({
event: 'paused',
time: Math.round(player.api("time")),
}, '*');
}
if(event=="end"){
console.log("ended");
console.log(Math.round(player.api("time")));
window.parent.postMessage({
event: 'ended',
time: Math.round(player.api("time")),
}, '*');
}
}
</script>
<!-- Yandex.Metrika counter -->
<script type="text/javascript" >
(function (d, w, c) {
(w[c] = w[c] || []).push(function() {
try {
w.yaCounter49597111 = new Ya.Metrika2({
id:49597111,
clickmap:true,
trackLinks:true,
accurateTrackBounce:true
});
} catch(e) { }
});
var n = d.getElementsByTagName("script")[0],
s = d.createElement("script"),
f = function () { n.parentNode.insertBefore(s, n); };
s.type = "text/javascript";
s.async = true;
s.src = "https://cdn.jsdelivr.net/npm/yandex-metrica-watch/tag.js";
if (w.opera == "[object Opera]") {
d.addEventListener("DOMContentLoaded", f, false);
} else { f(); }
})(document, window, "yandex_metrika_callbacks2");
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/49597111" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->
<!-- -->
<!-- 2 -->
<!-- -->
</body>
</html>

View file

@ -1,199 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>How To Train Your Dragon 2025.mp4</title>
<script src='/player/player-101224.js' type='text/javascript'></script>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-CFYS4N19SL"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-CFYS4N19SL', {cookie_flags: 'max-age=7200;secure;samesite=none'});
gtag('config', 'G-SZ2D21EHGZ', {cookie_flags: 'max-age=7200;secure;samesite=none'});
gtag('config', 'G-7F9RVQ2TM0', {cookie_flags: 'max-age=7200;secure;samesite=none'});
gtag('config', 'G-LZP7HENPSC', {cookie_flags: 'max-age=7200;secure;samesite=none'});
</script>
</head>
<body style="margin:0; padding:0; background:#000000; color:#ffffff">
<div id="Video902668" style="width:100%; height:100%;"></div>
<script>
var isMobile = {
Android: function() {
return navigator.userAgent.match(/Android/i);
},
BlackBerry: function() {
return navigator.userAgent.match(/BlackBerry/i);
},
iOS: function() {
return navigator.userAgent.match(/iPhone|iPad|iPod/i);
},
Opera: function() {
return navigator.userAgent.match(/Opera Mini/i);
},
SmartTV: function() {
return navigator.userAgent.match(/Apple TV|Tizen|Web0S|WebOS|TSBNetTV|PHILIPSTV|NETFLIX|BRAVIA|Opera TV Store|SmartTV|SmartTv/i);
},
Windows: function() {
return navigator.userAgent.match(/IEMobile/i);
},
any: function() {
return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.SmartTV() || isMobile.Windows());
}
};
if(isMobile.iOS()){
var player = new Playerjs({
id: 'Video902668',
subtitle: "",
poster: 'https://www.secvideo1.online/contents/videos_screenshots/902000/902668/preview.jpg',
file:"https://www.secvideo1.online/get_file/10/648fc9b266670e9ad6756a066a68a8db0b36868457/902000/902668/902668_360p.mp4/",
url: 'https://csst.online/videos/902668/how-to-train-your-dragon-2025-mp4/',
embed: "https://csst.online/embed/902668/",
default_quality: "360p",
preroll: "//4736.in/vpaid/?id=906", });
} else {
if(isMobile.Android()){
var player = new Playerjs({
id: 'Video902668',
subtitle: "",
poster: 'https://www.secvideo1.online/contents/videos_screenshots/902000/902668/preview.jpg',
file:"https://www.secvideo1.online/get_file/10/648fc9b266670e9ad6756a066a68a8db0b36868457/902000/902668/902668_360p.mp4/",
url: 'https://csst.online/videos/902668/how-to-train-your-dragon-2025-mp4/',
embed: "https://csst.online/embed/902668/",
default_quality: "360p",
preroll: "//4736.in/vpaid/?id=906", });
} else {
if(isMobile.SmartTV()){
var player = new Playerjs({
id: 'Video902668',
subtitle: "",
poster: 'https://www.secvideo1.online/contents/videos_screenshots/902000/902668/preview.jpg',
file:"https://www.secvideo1.online/get_file/10/648fc9b266670e9ad6756a066a68a8db0b36868457/902000/902668/902668_360p.mp4/",
url: 'https://csst.online/videos/902668/how-to-train-your-dragon-2025-mp4/',
embed: "https://csst.online/embed/902668/",
default_quality: "360p",
preroll: "//4736.in/vpaid/?id=906", });
} else {
var player = new Playerjs({
id: 'Video902668',
subtitle: "",
poster: 'https://www.secvideo1.online/contents/videos_screenshots/902000/902668/preview.jpg',
file:"https://www.secvideo1.online/get_file/10/648fc9b266670e9ad6756a066a68a8db0b36868457/902000/902668/902668_360p.mp4/",
url: 'https://csst.online/videos/902668/how-to-train-your-dragon-2025-mp4/',
embed: "https://csst.online/embed/902668/",
default_quality: "360p",
preroll: "//4736.in/vpaid/?id=906", });
}
}
}
</script>
<script>
function PlayerjsEvents(event,id,info){
if(event=="vast_url"){
url = info;
}
if(event=="inited"){
console.log("inited");
console.log(Math.round(player.api("time")));
window.parent.postMessage({
event: 'inited',
time: Math.round(player.api("time")),
}, '*');
}
if(event=="vast_Impression"){
console.log("Impression");
console.log(url);
yaCounter49597111.reachGoal('vast_impression', {Ads: url.split(/\/+/)[1]});
gtag('event', 'ADS_viewed', {
'send_to': 'G-LZP7HENPSC',
'event_category': 'Video',
'event_label': '28214',
});
gtag('event', 'Vast Impression', {
'send_to': 'G-7F9RVQ2TM0',
'event_category': 'Video',
'event_label': url.split(/\/+/)[1],
});
}
if(event=="start"){
console.log("started");
console.log(Math.round(player.api("time")));
yaCounter49597111.reachGoal('play');
gtag('event', 'Video_played', {
'send_to': 'G-LZP7HENPSC',
'event_category': 'Video',
'event_label': '28214',
});
gtag('event', 'Play', {
'send_to': 'G-SZ2D21EHGZ',
'event_category': 'Video',
'event_label': 'Play',
});
window.parent.postMessage({
event: 'started',
time: Math.round(player.api("time")),
}, '*');
}
if(event=="pause"){
console.log("paused");
console.log(Math.round(player.api("time")));
window.parent.postMessage({
event: 'paused',
time: Math.round(player.api("time")),
}, '*');
}
if(event=="end"){
console.log("ended");
console.log(Math.round(player.api("time")));
window.parent.postMessage({
event: 'ended',
time: Math.round(player.api("time")),
}, '*');
}
}
</script>
<!-- Yandex.Metrika counter -->
<script type="text/javascript" >
(function (d, w, c) {
(w[c] = w[c] || []).push(function() {
try {
w.yaCounter49597111 = new Ya.Metrika2({
id:49597111,
clickmap:true,
trackLinks:true,
accurateTrackBounce:true
});
} catch(e) { }
});
var n = d.getElementsByTagName("script")[0],
s = d.createElement("script"),
f = function () { n.parentNode.insertBefore(s, n); };
s.type = "text/javascript";
s.async = true;
s.src = "https://cdn.jsdelivr.net/npm/yandex-metrica-watch/tag.js";
if (w.opera == "[object Opera]") {
d.addEventListener("DOMContentLoaded", f, false);
} else { f(); }
})(document, window, "yandex_metrika_callbacks2");
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/49597111" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->
<!-- -->
<!-- 2 -->
<!-- -->
</body>
</html>

View file

@ -1,93 +0,0 @@
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
exports[`Fsst Blood & Sinners 1`] = `
[
{
"format": "mp4",
"label": "Fsst",
"meta": {
"countryCodes": [],
"height": 360,
"title": "Blood.and.Sinners.2025.mkv",
},
"sourceId": "fsst_",
"url": "https://www.secvideo1.online/get_file/16/a135ab46b1243e41c0282c16d7cdcbcdf0faf7ee79/900000/900576/900576_360p.mp4/",
},
{
"format": "mp4",
"label": "Fsst",
"meta": {
"countryCodes": [],
"height": 720,
"title": "Blood.and.Sinners.2025.mkv",
},
"sourceId": "fsst_",
"url": "https://www.secvideo1.online/get_file/16/801a42b7ac11f7e08101fe8c3cb537045ddf5c9b19/900000/900576/900576_720p.mp4/",
},
{
"format": "mp4",
"label": "Fsst",
"meta": {
"countryCodes": [],
"height": 1080,
"title": "Blood.and.Sinners.2025.mkv",
},
"sourceId": "fsst_",
"url": "https://www.secvideo1.online/get_file/16/fae180e05d8d7af50fff44c7a24232b5c58023d7f5/900000/900576/900576.mp4/",
},
]
`;
exports[`Fsst Dead City 1`] = `
[
{
"format": "mp4",
"label": "Fsst",
"meta": {
"countryCodes": [],
"height": 360,
"title": "the.walking.dead.dead.city.s02e06.german.dl.1080p.web.x264-wvf.mkv",
},
"sourceId": "fsst_",
"url": "https://www.secvideo1.online/get_file/9/99510c9abde68b5e82b08cd2391724050c8e47cc86/901000/901994/901994_360p.mp4/",
},
{
"format": "mp4",
"label": "Fsst",
"meta": {
"countryCodes": [],
"height": 720,
"title": "the.walking.dead.dead.city.s02e06.german.dl.1080p.web.x264-wvf.mkv",
},
"sourceId": "fsst_",
"url": "https://www.secvideo1.online/get_file/9/868ae0229e543e7a9a6f7cf4b3df88f45a49aa11fa/901000/901994/901994_720p.mp4/",
},
{
"format": "mp4",
"label": "Fsst",
"meta": {
"countryCodes": [],
"height": 1080,
"title": "the.walking.dead.dead.city.s02e06.german.dl.1080p.web.x264-wvf.mkv",
},
"sourceId": "fsst_",
"url": "https://www.secvideo1.online/get_file/9/44ff1bf6024db32840054f00029afb1164408b3c1f/901000/901994/901994.mp4/",
},
]
`;
exports[`Fsst How to Train Your Dragon 1`] = `
[
{
"format": "mp4",
"label": "Fsst",
"meta": {
"countryCodes": [],
"height": 360,
"title": "How To Train Your Dragon 2025.mp4",
},
"sourceId": "fsst_",
"url": "https://www.secvideo1.online/get_file/10/648fc9b266670e9ad6756a066a68a8db0b36868457/902000/902668/902668_360p.mp4/",
},
]
`;