test: improve fetch fixture handling
This commit is contained in:
parent
d7422746ce
commit
05c0163874
27 changed files with 332 additions and 333 deletions
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
/fixtures/** linguist-generated
|
||||
|
|
@ -19,10 +19,10 @@
|
|||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="crossorigin">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;700&display=swap" rel="stylesheet">
|
||||
<link href="https://dropload.io/assets2/css/style.css?v=2" rel="stylesheet">
|
||||
<script src="https://code.jquery.com/jquery-3.2.1.min.js" type="9b8fc36527c5f13e36cf0814-text/javascript"></script>
|
||||
<script src="https://dropload.io/assets2/js/bootstrap.bundle.min.js" type="9b8fc36527c5f13e36cf0814-text/javascript"></script>
|
||||
<script src="https://dropload.io/assets2/js/xupload.js?v=13" type="9b8fc36527c5f13e36cf0814-text/javascript"></script>
|
||||
<script src="https://dropload.io/assets2/js/app.js" type="9b8fc36527c5f13e36cf0814-text/javascript"></script>
|
||||
<script src="https://code.jquery.com/jquery-3.2.1.min.js" type="2587f5592f7bd3ccc009ca31-text/javascript"></script>
|
||||
<script src="https://dropload.io/assets2/js/bootstrap.bundle.min.js" type="2587f5592f7bd3ccc009ca31-text/javascript"></script>
|
||||
<script src="https://dropload.io/assets2/js/xupload.js?v=13" type="2587f5592f7bd3ccc009ca31-text/javascript"></script>
|
||||
<script src="https://dropload.io/assets2/js/app.js" type="2587f5592f7bd3ccc009ca31-text/javascript"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
|
@ -91,11 +91,11 @@
|
|||
<main>
|
||||
|
||||
|
||||
<script src="https://dropload.io/js/jquery.cookie.js" type="9b8fc36527c5f13e36cf0814-text/javascript"></script>
|
||||
<script src="https://dropload.io/js/jquery.cookie.js" type="2587f5592f7bd3ccc009ca31-text/javascript"></script>
|
||||
|
||||
|
||||
|
||||
<script type="9b8fc36527c5f13e36cf0814-text/javascript">
|
||||
<script type="2587f5592f7bd3ccc009ca31-text/javascript">
|
||||
$.cookie('file_id', '35986', { expires: 10 });
|
||||
$.cookie('aff', '2', { expires: 10 });
|
||||
|
||||
|
|
@ -137,8 +137,8 @@ $.cookie('aff', '2', { expires: 10 });
|
|||
</div> -->
|
||||
|
||||
|
||||
<script type="9b8fc36527c5f13e36cf0814-text/javascript" src='https://dropload.io/player/jw8/jwplayer.js'></script>
|
||||
<script type="9b8fc36527c5f13e36cf0814-text/javascript">jwplayer.key="";</script>
|
||||
<script type="2587f5592f7bd3ccc009ca31-text/javascript" src='https://dropload.io/player/jw8/jwplayer.js'></script>
|
||||
<script type="2587f5592f7bd3ccc009ca31-text/javascript">jwplayer.key="";</script>
|
||||
<style>
|
||||
.jw-text-track-cue {
|
||||
text-shadow: 1px 1px 2px transparent !important;
|
||||
|
|
@ -148,7 +148,7 @@ $.cookie('aff', '2', { expires: 10 });
|
|||
padding-bottom: 0.2em !important;
|
||||
border-radius: 6px;
|
||||
}
|
||||
</style><script src="/js/localstorage-slim.js" type="9b8fc36527c5f13e36cf0814-text/javascript"></script><script src="https://dropload.io/js/dnsads.js?dfp=1&ad_code=2&adsrc=3" type="9b8fc36527c5f13e36cf0814-text/javascript"></script>
|
||||
</style><script src="/js/localstorage-slim.js" type="2587f5592f7bd3ccc009ca31-text/javascript"></script><script src="https://dropload.io/js/dnsads.js?dfp=1&ad_code=2&adsrc=3" type="2587f5592f7bd3ccc009ca31-text/javascript"></script>
|
||||
<div id='vplayer' style="width:100%;height:100%;text-align:center;"><img src='/images/back2.jpg' style='width:100%;height:100%;'></div>
|
||||
|
||||
</div>
|
||||
|
|
@ -205,13 +205,13 @@ $.cookie('aff', '2', { expires: 10 });
|
|||
</div>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<button class="btn btn-like border-0" onclick="if (!window.__cfRLUnblockHandlers) return false; return jah('/?op=vote&file_code=jvjwrkpijr0f&v=up')" title="Like" data-cf-modified-9b8fc36527c5f13e36cf0814-="">
|
||||
<button class="btn btn-like border-0" onclick="if (!window.__cfRLUnblockHandlers) return false; return jah('/?op=vote&file_code=jvjwrkpijr0f&v=up')" title="Like" data-cf-modified-2587f5592f7bd3ccc009ca31-="">
|
||||
<i class="icon icon-like icon-size-16 me-2"></i>
|
||||
<span id="likes_num">0</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<button class="btn btn-dislike border-0" onclick="if (!window.__cfRLUnblockHandlers) return false; return jah('/?op=vote&file_code=jvjwrkpijr0f&v=down')" title="Don't Like" data-cf-modified-9b8fc36527c5f13e36cf0814-="">
|
||||
<button class="btn btn-dislike border-0" onclick="if (!window.__cfRLUnblockHandlers) return false; return jah('/?op=vote&file_code=jvjwrkpijr0f&v=down')" title="Don't Like" data-cf-modified-2587f5592f7bd3ccc009ca31-="">
|
||||
<i class="icon icon-dislike icon-size-16 me-2"></i>
|
||||
<span id="dislikes_num">0</span>
|
||||
</button>
|
||||
|
|
@ -270,7 +270,7 @@ $.cookie('aff', '2', { expires: 10 });
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<script type="9b8fc36527c5f13e36cf0814-text/javascript">
|
||||
<script type="2587f5592f7bd3ccc009ca31-text/javascript">
|
||||
$(function(){
|
||||
var a = $('.dropdown-menu a:first-child .download-size');
|
||||
$('#size').append(a);
|
||||
|
|
@ -283,7 +283,7 @@ $.cookie('aff', '2', { expires: 10 });
|
|||
<div class="col-12 col-lg-7 mb-3">
|
||||
<div class="copybox">
|
||||
<textarea class="form-control copy-source" rows="6"><IFRAME SRC="https://dropload.io/e/jvjwrkpijr0f" FRAMEBORDER=0 MARGINWIDTH=0 MARGINHEIGHT=0 SCROLLING=NO WIDTH=640 HEIGHT=360 allowfullscreen></IFRAME></textarea>
|
||||
<button class="btn btn-primary" onclick="if (!window.__cfRLUnblockHandlers) return false; copy(this);" data-cf-modified-9b8fc36527c5f13e36cf0814-="">Copy</button>
|
||||
<button class="btn btn-primary" onclick="if (!window.__cfRLUnblockHandlers) return false; copy(this);" data-cf-modified-2587f5592f7bd3ccc009ca31-="">Copy</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -305,7 +305,7 @@ $.cookie('aff', '2', { expires: 10 });
|
|||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body pt-0">
|
||||
<form method="POST" action="/" onsubmit="if (!window.__cfRLUnblockHandlers) return false; $.post('/',$(this).serialize(),function(code){ eval(code); } );return false;" data-cf-modified-9b8fc36527c5f13e36cf0814-="">
|
||||
<form method="POST" action="/" onsubmit="if (!window.__cfRLUnblockHandlers) return false; $.post('/',$(this).serialize(),function(code){ eval(code); } );return false;" data-cf-modified-2587f5592f7bd3ccc009ca31-="">
|
||||
<input type="hidden" name="op" value="report_file">
|
||||
<input type="hidden" name="file_code" value="jvjwrkpijr0f">
|
||||
<div class="mb-3">
|
||||
|
|
@ -370,7 +370,7 @@ $.cookie('aff', '2', { expires: 10 });
|
|||
|
||||
|
||||
|
||||
<script type="9b8fc36527c5f13e36cf0814-text/javascript">eval(function(p,a,c,k,e,d){while(c--)if(k[c])p=p.replace(new RegExp('\\b'+c.toString(a)+'\\b','g'),k[c]);return p}('1e("5v").5u({5t:{2k:"/5s/2n/2m-p.2n?v=3",r:"2m-p"},5r:[{2l:"14://5q.p.13/5p/5o/5n/5m/5l.5k?t=5j-8&s=21&e=5i&f=26&i=0.0&5h=0&5g=23.22.5f.5e"}],5d:"1l%",5c:"1l%",5b:"5a",59:"58.1i",57:\'56\',55:"z",b:[{2l:"/29?28=54&l=53&2k=14://2j.p.13/52.2i",51:"50"}],1u:{4z:1,2h:\'#4y\',4x:\'#4w\',4v:"4u",4t:30,4s:\'1l\',},\'4r\':{"4q":"4p"},4o:"4n",4m:"14://p.13/",4l:{},4k:z,1t:[1,1.25,1.5,2],4j:\'14://2j.p.13/27.2i\'}).h(\'1v\',9(){g o=2f.4i("12");o.4h="o";o.2g(\'4g\',\'4-1k 4-1k-4f 4-2e-2h 4-4e 4-1k-4d\');o.2g(\'4c\',\'6.1d(6.4b()+10)\');2f.4a(\'.4-2e-49\').48(o)});g 1h,1j;g 47=0,46=0;g 6=1e();g 2d=0,45=0,44=0,k=0;$.43({42:{\'41-40\':\'3z-3y\'}});6.h(\'3x\',9(x){a(5>0&&x.q>=5&&1j!=1){1j=1;$(\'12.3w\').3v(\'3u\')}a(x.q>=k+5||x.q<k){k=x.q;1g.3t(\'1f\',3s.3r(k),{3q:1i*1i*24*7})}});6.h(\'1d\',9(x){2d=x.q});6.h(\'3p\',9(x){2c(x)});6.h(\'3o\',9(){$(\'12.2b\').3n();1g.3m(\'1f\')});6.h(\'3l\',9(x){});9 2c(x){$(\'12.2b\').2a();$(\'#3k\').2a();a(1h)16;1h=1;11=0;a(3j.3i===3h){11=1}$.1z(\'/29?28=3g&3f=27&3e=26-23-22-21-3d&3c=&11=\'+11,9(20){$(\'#3b\').3a(20)});g k=1g.1z(\'1f\');a(k>0){1e().1d(k)}}9 39(){g b=6.17(1y);1x.1w(b);a(b.l>1){1o(i=0;i<b.l;i++){a(b[i].r==1y){1x.1w(\'!!=\'+i);6.1m(i)}}}}6.h(\'1v\',9(){});6.h("j",9(u){g b=6.17();a(b.l<2)16;$(\'.4-d-38-37\').36(9(){$(\'#4-d-c-j\').1a(\'4-d-c-w\');$(\'.4-c-j\').n(\'m-1b\',\'y\')});6.35("/34/33.32","31 2z",9(){$(\'.4-1s\').2y(\'4-d-1r\');$(\'.4-d-1u, .4-d-1t\').n(\'m-1c\',\'y\');a($(\'.4-1s\').2x(\'4-d-1r\')){$(\'.4-c-j\').n(\'m-1c\',\'z\');$(\'.4-c-j\').n(\'m-1b\',\'z\');$(\'.4-d-c-2w\').1a(\'4-d-c-w\');$(\'.4-d-c-j\').2v(\'4-d-c-w\')}2u{$(\'.4-c-j\').n(\'m-1c\',\'y\');$(\'.4-c-j\').n(\'m-1b\',\'y\');$(\'.4-d-c-j\').1a(\'4-d-c-w\')}},"2t");6.h("2s",9(u){19.2r(\'18\',u.b[u.2q].r)});a(19.1q(\'18\')){2p("1p(19.1q(\'18\'));",2o)}});g 15;9 1p(1n){g b=6.17();a(b.l>1){1o(i=0;i<b.l;i++){a(b[i].r==1n){a(i==15){16}15=i;6.1m(i)}}}}',36,212,'||||jw||player|||function|if|tracks|submenu|settings|||var|on||audioTracks|lastt|length|aria|attr|newButton|dropload|position|name|||event||active||false|true||adb|div|io|https|current_audio|return|getAudioTracks|default_audio|localStorage|removeClass|expanded|checked|seek|jwplayer|ttjvjwrkpijr0f|ls|vvplay|60|vvad|icon|100|setCurrentAudioTrack|audio_name|for|audio_set|getItem|open|controls|playbackRates|captions|ready|log|console|track_name|get|data|1746646911|61|130|||35986|jvjwrkpijr0f|op|dl|hide|video_ad|doPlay|prevt|button|document|setAttribute|color|jpg|img|url|file|jw8|css|300|setTimeout|currentTrack|setItem|audioTrackChanged|dualSound|else|addClass|quality|hasClass|toggleClass|Track||Audio|svg|dualy|images|addButton|mousedown|buttons|topbar|set_audio_track|html|fviews|embed|a54b12bc8796bbc90ce5acb25f6ce1f5|hash|file_code|view|undefined|cRAds|window|over_player_msg|pause|remove|show|complete|play|ttl|round|Math|set|slow|fadeIn|video_ad_fadein|time|cache|no|Cache|Content|headers|ajaxSetup|v2done|tott|vastdone2|vastdone1|appendChild|container|querySelector|getPosition|onclick|forward|reset|inline|class|id|createElement|image|playbackRateControls|cast|aboutlink|DropLoad|abouttext|HD|1313|qualityLabels|fontOpacity|backgroundOpacity|Tahoma|fontFamily|303030|backgroundColor|FFFFFF|userFontScale|thumbnails|kind|jvjwrkpijr0f0000|4445|get_slides|androidhls|metadata|preload|4444|duration|uniform|stretching|height|width|204|236|ii|sp|14400|i3MocvatkrgMvC0SWVHbsllbwbn_plZsTKscZ1FiV|m3u8|master|jvjwrkpijr0f_h|00007|01|hls2|srv27|sources|assets2|skin|setup|vplayer'.split('|')))
|
||||
<script type="2587f5592f7bd3ccc009ca31-text/javascript">eval(function(p,a,c,k,e,d){while(c--)if(k[c])p=p.replace(new RegExp('\\b'+c.toString(a)+'\\b','g'),k[c]);return p}('1d("5y").5x({5w:{2k:"/5v/2n/2m-o.2n?v=3",q:"2m-o"},5u:[{2l:"13://5t.o.12/5s/5r/5q/5p/5o.5n?t=5m&s=21&e=5l&f=26&5k=1l&i=0.0&5j=0&5i=23.22.5h.5g&5f=1l&5e=1l"}],5d:"1k%",5c:"1k%",5b:"5a",59:"58.1h",57:\'56\',55:"y",a:[{2l:"/29?28=54&k=53&2k=13://2j.o.12/52.2i",51:"50"}],1u:{4z:1,2h:\'#4y\',4x:\'#4w\',4v:"4u",4t:30,4s:\'1k\',},\'4r\':{"4q":"4p"},4o:"4n",4m:"13://o.12/",4l:{},4k:y,1t:[1,1.25,1.5,2],4j:\'13://2j.o.12/27.2i\'}).g(\'1v\',8(){d n=2f.4i("11");n.4h="n";n.2g(\'4g\',\'4-1j 4-1j-4f 4-2e-2h 4-4e 4-1j-4d\');n.2g(\'4c\',\'6.1c(6.4b()+10)\');2f.4a(\'.4-2e-49\').48(n)});d 1g,1i;d 47=0,46=0;d 6=1d();d 2d=0,45=0,44=0,j=0;$.43({42:{\'41-40\':\'3z-3y\'}});6.g(\'3x\',8(x){9(5>0&&x.p>=5&&1i!=1){1i=1;$(\'11.3w\').3v(\'3u\')}9(x.p>=j+5||x.p<j){j=x.p;1f.3t(\'1e\',3s.3r(j),{3q:1h*1h*24*7})}});6.g(\'1c\',8(x){2d=x.p});6.g(\'3p\',8(x){2c(x)});6.g(\'3o\',8(){$(\'11.2b\').3n();1f.3m(\'1e\')});6.g(\'3l\',8(x){});8 2c(x){$(\'11.2b\').2a();$(\'#3k\').2a();9(1g)15;1g=1;z=0;9(3j.3i===3h){z=1}$.1z(\'/29?28=3g&3f=27&3e=26-23-22-21-3d&3c=&z=\'+z,8(20){$(\'#3b\').3a(20)});d j=1f.1z(\'1e\');9(j>0){1d().1c(j)}}8 39(){d a=6.16(1y);1x.1w(a);9(a.k>1){1o(i=0;i<a.k;i++){9(a[i].q==1y){1x.1w(\'!!=\'+i);6.1m(i)}}}}6.g(\'1v\',8(){});6.g("h",8(r){d a=6.16();9(a.k<2)15;$(\'.4-c-38-37\').36(8(){$(\'#4-c-b-h\').19(\'4-c-b-u\');$(\'.4-b-h\').m(\'l-1a\',\'w\')});6.35("/34/33.32","31 2z",8(){$(\'.4-1s\').2y(\'4-c-1r\');$(\'.4-c-1u, .4-c-1t\').m(\'l-1b\',\'w\');9($(\'.4-1s\').2x(\'4-c-1r\')){$(\'.4-b-h\').m(\'l-1b\',\'y\');$(\'.4-b-h\').m(\'l-1a\',\'y\');$(\'.4-c-b-2w\').19(\'4-c-b-u\');$(\'.4-c-b-h\').2v(\'4-c-b-u\')}2u{$(\'.4-b-h\').m(\'l-1b\',\'w\');$(\'.4-b-h\').m(\'l-1a\',\'w\');$(\'.4-c-b-h\').19(\'4-c-b-u\')}},"2t");6.g("2s",8(r){18.2r(\'17\',r.a[r.2q].q)});9(18.1q(\'17\')){2p("1p(18.1q(\'17\'));",2o)}});d 14;8 1p(1n){d a=6.16();9(a.k>1){1o(i=0;i<a.k;i++){9(a[i].q==1n){9(i==14){15}14=i;6.1m(i)}}}}',36,215,'||||jw||player||function|if|tracks|submenu|settings|var|||on|audioTracks||lastt|length|aria|attr|newButton|dropload|position|name|event|||active||false||true|adb||div|io|https|current_audio|return|getAudioTracks|default_audio|localStorage|removeClass|expanded|checked|seek|jwplayer|ttjvjwrkpijr0f|ls|vvplay|60|vvad|icon|100|srv27|setCurrentAudioTrack|audio_name|for|audio_set|getItem|open|controls|playbackRates|captions|ready|log|console|track_name|get|data|1746903685|61|130|||35986|jvjwrkpijr0f|op|dl|hide|video_ad|doPlay|prevt|button|document|setAttribute|color|jpg|img|url|file|jw8|css|300|setTimeout|currentTrack|setItem|audioTrackChanged|dualSound|else|addClass|quality|hasClass|toggleClass|Track||Audio|svg|dualy|images|addButton|mousedown|buttons|topbar|set_audio_track|html|fviews|embed|9081cc1d97162ec631518574213f1522|hash|file_code|view|undefined|cRAds|window|over_player_msg|pause|remove|show|complete|play|ttl|round|Math|set|slow|fadeIn|video_ad_fadein|time|cache|no|Cache|Content|headers|ajaxSetup|v2done|tott|vastdone2|vastdone1|appendChild|container|querySelector|getPosition|onclick|forward|reset|inline|class|id|createElement|image|playbackRateControls|cast|aboutlink|DropLoad|abouttext|HD|1313|qualityLabels|fontOpacity|backgroundOpacity|Tahoma|fontFamily|303030|backgroundColor|FFFFFF|userFontScale|thumbnails|kind|jvjwrkpijr0f0000|4445|get_slides|androidhls|metadata|preload|4444|duration|uniform|stretching|height|width|p2|p1|204|236|ii|sp|srv|14400|9B5k5sYgDD2kS_549tQ4WYh1o74hO1QR9zzyXrVRqv4|m3u8|master|jvjwrkpijr0f_h|00007|01|hls2|srv34|sources|assets2|skin|setup|vplayer'.split('|')))
|
||||
</script>
|
||||
|
||||
<style media="screen">
|
||||
|
|
@ -411,13 +411,13 @@ $.cookie('aff', '2', { expires: 10 });
|
|||
}
|
||||
</style>
|
||||
|
||||
<script type="9b8fc36527c5f13e36cf0814-text/javascript">
|
||||
<script type="2587f5592f7bd3ccc009ca31-text/javascript">
|
||||
$('.lightdown').on('click', function(){
|
||||
$('body').toggleClass('body-lightdown');
|
||||
})
|
||||
</script>
|
||||
|
||||
<Script type="9b8fc36527c5f13e36cf0814-text/javascript">
|
||||
<Script type="2587f5592f7bd3ccc009ca31-text/javascript">
|
||||
$("#embed_div textarea").focus(function (){ $(this).select(); })
|
||||
var tab_cookie='tab_down';
|
||||
|
||||
|
|
@ -440,17 +440,17 @@ $.cookie('aff', '2', { expires: 10 });
|
|||
|
||||
|
||||
</Script>
|
||||
<script src="https://dropload.io/js/tabber.js" type="9b8fc36527c5f13e36cf0814-text/javascript"></script>
|
||||
<script src="https://dropload.io/js/tabber.js" type="2587f5592f7bd3ccc009ca31-text/javascript"></script>
|
||||
|
||||
|
||||
<Script type="9b8fc36527c5f13e36cf0814-text/javascript">
|
||||
<Script type="2587f5592f7bd3ccc009ca31-text/javascript">
|
||||
$(function() {
|
||||
|
||||
});
|
||||
</Script>
|
||||
<script data-cfasync="false" async type="text/javascript" src="//sx.impubicpuddly.com/rO7FQr7AANJdtg/111561"></script>
|
||||
<script src='https://dropload.io/tag2.js' type="9b8fc36527c5f13e36cf0814-text/javascript"></script>
|
||||
<script src='https://dropload.io/tag1.js' type="9b8fc36527c5f13e36cf0814-text/javascript"></script>
|
||||
<script src='https://dropload.io/tag2.js' type="2587f5592f7bd3ccc009ca31-text/javascript"></script>
|
||||
<script src='https://dropload.io/tag1.js' type="2587f5592f7bd3ccc009ca31-text/javascript"></script>
|
||||
|
||||
|
||||
<!-- Javascript Alt Ads code start -->
|
||||
|
|
@ -495,7 +495,7 @@ $.cookie('aff', '2', { expires: 10 });
|
|||
</footer>
|
||||
|
||||
|
||||
<script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="9b8fc36527c5f13e36cf0814-|49" defer></script></body>
|
||||
<script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="2587f5592f7bd3ccc009ca31-|49" defer></script></body>
|
||||
|
||||
</html>
|
||||
|
||||
|
|
@ -19,10 +19,10 @@
|
|||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="crossorigin">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;700&display=swap" rel="stylesheet">
|
||||
<link href="https://dropload.io/assets2/css/style.css?v=2" rel="stylesheet">
|
||||
<script src="https://code.jquery.com/jquery-3.2.1.min.js" type="b402dc6aa066e52050d893f1-text/javascript"></script>
|
||||
<script src="https://dropload.io/assets2/js/bootstrap.bundle.min.js" type="b402dc6aa066e52050d893f1-text/javascript"></script>
|
||||
<script src="https://dropload.io/assets2/js/xupload.js?v=13" type="b402dc6aa066e52050d893f1-text/javascript"></script>
|
||||
<script src="https://dropload.io/assets2/js/app.js" type="b402dc6aa066e52050d893f1-text/javascript"></script>
|
||||
<script src="https://code.jquery.com/jquery-3.2.1.min.js" type="fb4dc13d1285d9e23d3f1de2-text/javascript"></script>
|
||||
<script src="https://dropload.io/assets2/js/bootstrap.bundle.min.js" type="fb4dc13d1285d9e23d3f1de2-text/javascript"></script>
|
||||
<script src="https://dropload.io/assets2/js/xupload.js?v=13" type="fb4dc13d1285d9e23d3f1de2-text/javascript"></script>
|
||||
<script src="https://dropload.io/assets2/js/app.js" type="fb4dc13d1285d9e23d3f1de2-text/javascript"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
|
@ -91,11 +91,11 @@
|
|||
<main>
|
||||
|
||||
|
||||
<script src="https://dropload.io/js/jquery.cookie.js" type="b402dc6aa066e52050d893f1-text/javascript"></script>
|
||||
<script src="https://dropload.io/js/jquery.cookie.js" type="fb4dc13d1285d9e23d3f1de2-text/javascript"></script>
|
||||
|
||||
|
||||
|
||||
<script type="b402dc6aa066e52050d893f1-text/javascript">
|
||||
<script type="fb4dc13d1285d9e23d3f1de2-text/javascript">
|
||||
$.cookie('file_id', '987607', { expires: 10 });
|
||||
$.cookie('aff', '4', { expires: 10 });
|
||||
|
||||
|
|
@ -137,8 +137,8 @@ $.cookie('aff', '4', { expires: 10 });
|
|||
</div> -->
|
||||
|
||||
|
||||
<script type="b402dc6aa066e52050d893f1-text/javascript" src='https://dropload.io/player/jw8/jwplayer.js'></script>
|
||||
<script type="b402dc6aa066e52050d893f1-text/javascript">jwplayer.key="";</script>
|
||||
<script type="fb4dc13d1285d9e23d3f1de2-text/javascript" src='https://dropload.io/player/jw8/jwplayer.js'></script>
|
||||
<script type="fb4dc13d1285d9e23d3f1de2-text/javascript">jwplayer.key="";</script>
|
||||
<style>
|
||||
.jw-text-track-cue {
|
||||
text-shadow: 1px 1px 2px transparent !important;
|
||||
|
|
@ -148,7 +148,7 @@ $.cookie('aff', '4', { expires: 10 });
|
|||
padding-bottom: 0.2em !important;
|
||||
border-radius: 6px;
|
||||
}
|
||||
</style><script src="/js/localstorage-slim.js" type="b402dc6aa066e52050d893f1-text/javascript"></script><script src="https://dropload.io/js/dnsads.js?dfp=1&ad_code=2&adsrc=3" type="b402dc6aa066e52050d893f1-text/javascript"></script>
|
||||
</style><script src="/js/localstorage-slim.js" type="fb4dc13d1285d9e23d3f1de2-text/javascript"></script><script src="https://dropload.io/js/dnsads.js?dfp=1&ad_code=2&adsrc=3" type="fb4dc13d1285d9e23d3f1de2-text/javascript"></script>
|
||||
<div id='vplayer' style="width:100%;height:100%;text-align:center;"><img src='/images/back2.jpg' style='width:100%;height:100%;'></div>
|
||||
|
||||
</div>
|
||||
|
|
@ -205,13 +205,13 @@ $.cookie('aff', '4', { expires: 10 });
|
|||
</div>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<button class="btn btn-like border-0" onclick="if (!window.__cfRLUnblockHandlers) return false; return jah('/?op=vote&file_code=lyo2h1snpe5c&v=up')" title="Like" data-cf-modified-b402dc6aa066e52050d893f1-="">
|
||||
<button class="btn btn-like border-0" onclick="if (!window.__cfRLUnblockHandlers) return false; return jah('/?op=vote&file_code=lyo2h1snpe5c&v=up')" title="Like" data-cf-modified-fb4dc13d1285d9e23d3f1de2-="">
|
||||
<i class="icon icon-like icon-size-16 me-2"></i>
|
||||
<span id="likes_num">0</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<button class="btn btn-dislike border-0" onclick="if (!window.__cfRLUnblockHandlers) return false; return jah('/?op=vote&file_code=lyo2h1snpe5c&v=down')" title="Don't Like" data-cf-modified-b402dc6aa066e52050d893f1-="">
|
||||
<button class="btn btn-dislike border-0" onclick="if (!window.__cfRLUnblockHandlers) return false; return jah('/?op=vote&file_code=lyo2h1snpe5c&v=down')" title="Don't Like" data-cf-modified-fb4dc13d1285d9e23d3f1de2-="">
|
||||
<i class="icon icon-dislike icon-size-16 me-2"></i>
|
||||
<span id="dislikes_num">0</span>
|
||||
</button>
|
||||
|
|
@ -270,7 +270,7 @@ $.cookie('aff', '4', { expires: 10 });
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<script type="b402dc6aa066e52050d893f1-text/javascript">
|
||||
<script type="fb4dc13d1285d9e23d3f1de2-text/javascript">
|
||||
$(function(){
|
||||
var a = $('.dropdown-menu a:first-child .download-size');
|
||||
$('#size').append(a);
|
||||
|
|
@ -283,7 +283,7 @@ $.cookie('aff', '4', { expires: 10 });
|
|||
<div class="col-12 col-lg-7 mb-3">
|
||||
<div class="copybox">
|
||||
<textarea class="form-control copy-source" rows="6"><IFRAME SRC="https://dropload.io/e/lyo2h1snpe5c" FRAMEBORDER=0 MARGINWIDTH=0 MARGINHEIGHT=0 SCROLLING=NO WIDTH=640 HEIGHT=360 allowfullscreen></IFRAME></textarea>
|
||||
<button class="btn btn-primary" onclick="if (!window.__cfRLUnblockHandlers) return false; copy(this);" data-cf-modified-b402dc6aa066e52050d893f1-="">Copy</button>
|
||||
<button class="btn btn-primary" onclick="if (!window.__cfRLUnblockHandlers) return false; copy(this);" data-cf-modified-fb4dc13d1285d9e23d3f1de2-="">Copy</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -305,7 +305,7 @@ $.cookie('aff', '4', { expires: 10 });
|
|||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body pt-0">
|
||||
<form method="POST" action="/" onsubmit="if (!window.__cfRLUnblockHandlers) return false; $.post('/',$(this).serialize(),function(code){ eval(code); } );return false;" data-cf-modified-b402dc6aa066e52050d893f1-="">
|
||||
<form method="POST" action="/" onsubmit="if (!window.__cfRLUnblockHandlers) return false; $.post('/',$(this).serialize(),function(code){ eval(code); } );return false;" data-cf-modified-fb4dc13d1285d9e23d3f1de2-="">
|
||||
<input type="hidden" name="op" value="report_file">
|
||||
<input type="hidden" name="file_code" value="lyo2h1snpe5c">
|
||||
<div class="mb-3">
|
||||
|
|
@ -370,7 +370,7 @@ $.cookie('aff', '4', { expires: 10 });
|
|||
|
||||
|
||||
|
||||
<script type="b402dc6aa066e52050d893f1-text/javascript">eval(function(p,a,c,k,e,d){while(c--)if(k[c])p=p.replace(new RegExp('\\b'+c.toString(a)+'\\b','g'),k[c]);return p}('1d("5w").5v({5u:{2i:"/5t/2l/2k-o.2l?v=3",q:"2k-o"},5s:[{2j:"13://5r.o.12/5q/5p/5o/5n/5m.5l?t=5k&s=1z&e=5j&f=22&i=0.0&5i=0&5h=21.20.5g.5f"}],5e:"1j%",5d:"1j%",5c:"5b",5a:"59.56",58:\'57\',55:"y",a:[{2j:"/26?23=54&k=53&2i=13://2h.o.12/52.2g",51:"50"}],1s:{4z:1,2f:\'#4y\',4x:\'#4w\',4v:"4u",4t:30,4s:\'1j\',},\'4r\':{"4q":"4p"},4o:"4n",4m:"13://o.12/",4l:{},4k:y,1r:[1,1.25,1.5,2],4j:\'13://2h.o.12/4i.2g\'}).g(\'1t\',8(){d n=2d.4h("11");n.4g="n";n.2e(\'4f\',\'4-1i 4-1i-4e 4-2c-2f 4-4d 4-1i-4c\');n.2e(\'4b\',\'6.1c(6.4a()+10)\');2d.49(\'.4-2c-48\').47(n)});d 1g,1h;d 46=0,45=0;d 6=1d();d 2a=0,44=0,43=0,j=0;$.42({41:{\'40-3z\':\'3y-3x\'}});6.g(\'3w\',8(x){9(5>0&&x.p>=5&&1h!=1){1h=1;$(\'11.3v\').3u(\'3t\')}9(x.p>=j+5||x.p<j){j=x.p;1f.3s(\'1e\',3r.3q(j),{3p:2b*2b*24*7})}});6.g(\'1c\',8(x){2a=x.p});6.g(\'3o\',8(x){29(x)});6.g(\'3n\',8(){$(\'11.28\').3m();1f.3l(\'1e\')});6.g(\'3k\',8(x){});8 29(x){$(\'11.28\').27();$(\'#3j\').27();9(1g)15;1g=1;z=0;9(3i.3h===3g){z=1}$.1x(\'/26?23=3f&3e=3d&3c=22-21-20-1z-3b&3a=&z=\'+z,8(1y){$(\'#39\').38(1y)});d j=1f.1x(\'1e\');9(j>0){1d().1c(j)}}8 37(){d a=6.16(1w);1v.1u(a);9(a.k>1){1m(i=0;i<a.k;i++){9(a[i].q==1w){1v.1u(\'!!=\'+i);6.1k(i)}}}}6.g(\'1t\',8(){});6.g("h",8(r){d a=6.16();9(a.k<2)15;$(\'.4-c-36-35\').34(8(){$(\'#4-c-b-h\').19(\'4-c-b-u\');$(\'.4-b-h\').m(\'l-1a\',\'w\')});6.33("/32/31.2z","2y 2x",8(){$(\'.4-1q\').2w(\'4-c-1p\');$(\'.4-c-1s, .4-c-1r\').m(\'l-1b\',\'w\');9($(\'.4-1q\').2v(\'4-c-1p\')){$(\'.4-b-h\').m(\'l-1b\',\'y\');$(\'.4-b-h\').m(\'l-1a\',\'y\');$(\'.4-c-b-2u\').19(\'4-c-b-u\');$(\'.4-c-b-h\').2t(\'4-c-b-u\')}2s{$(\'.4-b-h\').m(\'l-1b\',\'w\');$(\'.4-b-h\').m(\'l-1a\',\'w\');$(\'.4-c-b-h\').19(\'4-c-b-u\')}},"2r");6.g("2q",8(r){18.2p(\'17\',r.a[r.2o].q)});9(18.1o(\'17\')){2n("1n(18.1o(\'17\'));",2m)}});d 14;8 1n(1l){d a=6.16();9(a.k>1){1m(i=0;i<a.k;i++){9(a[i].q==1l){9(i==14){15}14=i;6.1k(i)}}}}',36,213,'||||jw||player||function|if|tracks|submenu|settings|var|||on|audioTracks||lastt|length|aria|attr|newButton|dropload|position|name|event|||active||false||true|adb||div|io|https|current_audio|return|getAudioTracks|default_audio|localStorage|removeClass|expanded|checked|seek|jwplayer|ttlyo2h1snpe5c|ls|vvplay|vvad|icon|100|setCurrentAudioTrack|audio_name|for|audio_set|getItem|open|controls|playbackRates|captions|ready|log|console|track_name|get|data|1746644167|61|130|987607|op|||dl|hide|video_ad|doPlay|prevt|60|button|document|setAttribute|color|jpg|img|url|file|jw8|css|300|setTimeout|currentTrack|setItem|audioTrackChanged|dualSound|else|addClass|quality|hasClass|toggleClass|Track|Audio|svg||dualy|images|addButton|mousedown|buttons|topbar|set_audio_track|html|fviews|embed|dfd8c020bb0d74e1c9d98c1a09212cef|hash|lyo2h1snpe5c|file_code|view|undefined|cRAds|window|over_player_msg|pause|remove|show|complete|play|ttl|round|Math|set|slow|fadeIn|video_ad_fadein|time|cache|no|Cache|Content|headers|ajaxSetup|v2done|tott|vastdone2|vastdone1|appendChild|container|querySelector|getPosition|onclick|forward|reset|inline|class|id|createElement|lyo2h1snpe5c_xt|image|playbackRateControls|cast|aboutlink|DropLoad|abouttext|HD|1557|qualityLabels|fontOpacity|backgroundOpacity|Tahoma|fontFamily|303030|backgroundColor|FFFFFF|userFontScale|thumbnails|kind|lyo2h1snpe5c0000|7259|get_slides|androidhls||metadata|preload|7258|duration|uniform|stretching|height|width|204|236|ii|sp|14400|EIGVExKNGKfXGRFbZEiW12CdAXoqbqvCxk4p2qLrRdQ|m3u8|master|lyo2h1snpe5c_h|00197|01|hls2|srv27|sources|assets2|skin|setup|vplayer'.split('|')))
|
||||
<script type="fb4dc13d1285d9e23d3f1de2-text/javascript">eval(function(p,a,c,k,e,d){while(c--)if(k[c])p=p.replace(new RegExp('\\b'+c.toString(a)+'\\b','g'),k[c]);return p}('1d("5w").5v({5u:{2i:"/5t/2l/2k-o.2l?v=3",q:"2k-o"},5s:[{2j:"13://5r.o.12/5q/5p/5o/5n/5m.5l?t=5k&s=1z&e=5j&f=22&i=0.0&5i=0&5h=21.20.5g.5f"}],5e:"1j%",5d:"1j%",5c:"5b",5a:"59.56",58:\'57\',55:"y",a:[{2j:"/26?23=54&k=53&2i=13://2h.o.12/52.2g",51:"50"}],1s:{4z:1,2f:\'#4y\',4x:\'#4w\',4v:"4u",4t:30,4s:\'1j\',},\'4r\':{"4q":"4p"},4o:"4n",4m:"13://o.12/",4l:{},4k:y,1r:[1,1.25,1.5,2],4j:\'13://2h.o.12/4i.2g\'}).g(\'1t\',8(){d n=2d.4h("11");n.4g="n";n.2e(\'4f\',\'4-1i 4-1i-4e 4-2c-2f 4-4d 4-1i-4c\');n.2e(\'4b\',\'6.1c(6.4a()+10)\');2d.49(\'.4-2c-48\').47(n)});d 1g,1h;d 46=0,45=0;d 6=1d();d 2a=0,44=0,43=0,j=0;$.42({41:{\'40-3z\':\'3y-3x\'}});6.g(\'3w\',8(x){9(5>0&&x.p>=5&&1h!=1){1h=1;$(\'11.3v\').3u(\'3t\')}9(x.p>=j+5||x.p<j){j=x.p;1f.3s(\'1e\',3r.3q(j),{3p:2b*2b*24*7})}});6.g(\'1c\',8(x){2a=x.p});6.g(\'3o\',8(x){29(x)});6.g(\'3n\',8(){$(\'11.28\').3m();1f.3l(\'1e\')});6.g(\'3k\',8(x){});8 29(x){$(\'11.28\').27();$(\'#3j\').27();9(1g)15;1g=1;z=0;9(3i.3h===3g){z=1}$.1x(\'/26?23=3f&3e=3d&3c=22-21-20-1z-3b&3a=&z=\'+z,8(1y){$(\'#39\').38(1y)});d j=1f.1x(\'1e\');9(j>0){1d().1c(j)}}8 37(){d a=6.16(1w);1v.1u(a);9(a.k>1){1m(i=0;i<a.k;i++){9(a[i].q==1w){1v.1u(\'!!=\'+i);6.1k(i)}}}}6.g(\'1t\',8(){});6.g("h",8(r){d a=6.16();9(a.k<2)15;$(\'.4-c-36-35\').34(8(){$(\'#4-c-b-h\').19(\'4-c-b-u\');$(\'.4-b-h\').m(\'l-1a\',\'w\')});6.33("/32/31.2z","2y 2x",8(){$(\'.4-1q\').2w(\'4-c-1p\');$(\'.4-c-1s, .4-c-1r\').m(\'l-1b\',\'w\');9($(\'.4-1q\').2v(\'4-c-1p\')){$(\'.4-b-h\').m(\'l-1b\',\'y\');$(\'.4-b-h\').m(\'l-1a\',\'y\');$(\'.4-c-b-2u\').19(\'4-c-b-u\');$(\'.4-c-b-h\').2t(\'4-c-b-u\')}2s{$(\'.4-b-h\').m(\'l-1b\',\'w\');$(\'.4-b-h\').m(\'l-1a\',\'w\');$(\'.4-c-b-h\').19(\'4-c-b-u\')}},"2r");6.g("2q",8(r){18.2p(\'17\',r.a[r.2o].q)});9(18.1o(\'17\')){2n("1n(18.1o(\'17\'));",2m)}});d 14;8 1n(1l){d a=6.16();9(a.k>1){1m(i=0;i<a.k;i++){9(a[i].q==1l){9(i==14){15}14=i;6.1k(i)}}}}',36,213,'||||jw||player||function|if|tracks|submenu|settings|var|||on|audioTracks||lastt|length|aria|attr|newButton|dropload|position|name|event|||active||false||true|adb||div|io|https|current_audio|return|getAudioTracks|default_audio|localStorage|removeClass|expanded|checked|seek|jwplayer|ttlyo2h1snpe5c|ls|vvplay|vvad|icon|100|setCurrentAudioTrack|audio_name|for|audio_set|getItem|open|controls|playbackRates|captions|ready|log|console|track_name|get|data|1746903744|61|130|987607|op|||dl|hide|video_ad|doPlay|prevt|60|button|document|setAttribute|color|jpg|img|url|file|jw8|css|300|setTimeout|currentTrack|setItem|audioTrackChanged|dualSound|else|addClass|quality|hasClass|toggleClass|Track|Audio|svg||dualy|images|addButton|mousedown|buttons|topbar|set_audio_track|html|fviews|embed|4d087dfd416ea7ee8d382d34d700a2b9|hash|lyo2h1snpe5c|file_code|view|undefined|cRAds|window|over_player_msg|pause|remove|show|complete|play|ttl|round|Math|set|slow|fadeIn|video_ad_fadein|time|cache|no|Cache|Content|headers|ajaxSetup|v2done|tott|vastdone2|vastdone1|appendChild|container|querySelector|getPosition|onclick|forward|reset|inline|class|id|createElement|lyo2h1snpe5c_xt|image|playbackRateControls|cast|aboutlink|DropLoad|abouttext|HD|1557|qualityLabels|fontOpacity|backgroundOpacity|Tahoma|fontFamily|303030|backgroundColor|FFFFFF|userFontScale|thumbnails|kind|lyo2h1snpe5c0000|7259|get_slides|androidhls||metadata|preload|7258|duration|uniform|stretching|height|width|204|236|ii|sp|14400|qTZsRGIMnUjXsQ4o2LRLlsT4tGG1AdJrRBRDGttNLPM|m3u8|master|lyo2h1snpe5c_h|00197|01|hls2|srv27|sources|assets2|skin|setup|vplayer'.split('|')))
|
||||
</script>
|
||||
|
||||
<style media="screen">
|
||||
|
|
@ -411,13 +411,13 @@ $.cookie('aff', '4', { expires: 10 });
|
|||
}
|
||||
</style>
|
||||
|
||||
<script type="b402dc6aa066e52050d893f1-text/javascript">
|
||||
<script type="fb4dc13d1285d9e23d3f1de2-text/javascript">
|
||||
$('.lightdown').on('click', function(){
|
||||
$('body').toggleClass('body-lightdown');
|
||||
})
|
||||
</script>
|
||||
|
||||
<Script type="b402dc6aa066e52050d893f1-text/javascript">
|
||||
<Script type="fb4dc13d1285d9e23d3f1de2-text/javascript">
|
||||
$("#embed_div textarea").focus(function (){ $(this).select(); })
|
||||
var tab_cookie='tab_down';
|
||||
|
||||
|
|
@ -440,17 +440,17 @@ $.cookie('aff', '4', { expires: 10 });
|
|||
|
||||
|
||||
</Script>
|
||||
<script src="https://dropload.io/js/tabber.js" type="b402dc6aa066e52050d893f1-text/javascript"></script>
|
||||
<script src="https://dropload.io/js/tabber.js" type="fb4dc13d1285d9e23d3f1de2-text/javascript"></script>
|
||||
|
||||
|
||||
<Script type="b402dc6aa066e52050d893f1-text/javascript">
|
||||
<Script type="fb4dc13d1285d9e23d3f1de2-text/javascript">
|
||||
$(function() {
|
||||
|
||||
});
|
||||
</Script>
|
||||
<script data-cfasync="false" async type="text/javascript" src="//sx.impubicpuddly.com/rO7FQr7AANJdtg/111561"></script>
|
||||
<script src='https://dropload.io/tag2.js' type="b402dc6aa066e52050d893f1-text/javascript"></script>
|
||||
<script src='https://dropload.io/tag1.js' type="b402dc6aa066e52050d893f1-text/javascript"></script>
|
||||
<script src='https://dropload.io/tag2.js' type="fb4dc13d1285d9e23d3f1de2-text/javascript"></script>
|
||||
<script src='https://dropload.io/tag1.js' type="fb4dc13d1285d9e23d3f1de2-text/javascript"></script>
|
||||
|
||||
|
||||
<!-- Javascript Alt Ads code start -->
|
||||
|
|
@ -495,7 +495,7 @@ $.cookie('aff', '4', { expires: 10 });
|
|||
</footer>
|
||||
|
||||
|
||||
<script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="b402dc6aa066e52050d893f1-|49" defer></script></body>
|
||||
<script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="fb4dc13d1285d9e23d3f1de2-|49" defer></script></body>
|
||||
|
||||
</html>
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -56,24 +56,24 @@
|
|||
<span>120:43</span>
|
||||
</div>
|
||||
<div class="_player-btns">
|
||||
<a href="#" onclick="if (!window.__cfRLUnblockHandlers) return false; return false" data-cf-modified-439eff7a0cccd973bece8aa1-="">
|
||||
<a href="#" onclick="if (!window.__cfRLUnblockHandlers) return false; return false" data-cf-modified-0f3750606b637881c3eadcfb-="">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="13" height="14" viewBox="0 0 13 14">
|
||||
<path d="M12.3 8.1L2 13.9c-.9.5-2-.1-2-1.1V1.3C0 .3 1.1-.3 2 .2L12.3 6c.7.3.9 1 .5 1.6-.1.2-.2.4-.5.5z" fill="#00c6ff" /></svg>
|
||||
</a>
|
||||
<a href="#" onclick="if (!window.__cfRLUnblockHandlers) return false; return false" data-cf-modified-439eff7a0cccd973bece8aa1-="">
|
||||
<a href="#" onclick="if (!window.__cfRLUnblockHandlers) return false; return false" data-cf-modified-0f3750606b637881c3eadcfb-="">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="17.9" height="16" viewBox="0 0 17.9 16">
|
||||
<path
|
||||
d="M12.5 4l-1.3 1.3c.6.7 1 1.7 1 2.7s-.4 2-1.1 2.7l1.3 1.3c1-1 1.7-2.4 1.7-4s-.6-3-1.6-4zm2.6-2.7l-1.3 1.3C15.2 4 16 5.9 16 8s-.8 4-2.2 5.3l1.3 1.3c1.7-1.7 2.8-4.1 2.8-6.7s-1.1-4.8-2.8-6.6zM2.4 5.2H0v5.6h2.4L7.5 16h1.9V0H7.5L2.4 5.2zm5.1 8.1L3.1 8.9H1.9V7.1h1.3l4.4-4.4v10.6z"
|
||||
fill="#fff" /></svg>
|
||||
</a>
|
||||
<a href="#" onclick="if (!window.__cfRLUnblockHandlers) return false; return false" data-cf-modified-439eff7a0cccd973bece8aa1-="">
|
||||
<a href="#" onclick="if (!window.__cfRLUnblockHandlers) return false; return false" data-cf-modified-0f3750606b637881c3eadcfb-="">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="34.3" height="14" viewBox="0 0 34.3 14">
|
||||
<path
|
||||
d="M7 0C3.1 0 0 3.1 0 7s3.1 7 7 7c2.6 0 4.8-1.4 6-3.5l-1.4-.8c-.9 1.6-2.6 2.7-4.6 2.7-3 0-5.4-2.4-5.4-5.4C1.6 4 4 1.6 7 1.6c1.5 0 2.8.6 3.8 1.6L9 5h4.6V.3L11.9 2C10.6.8 8.9 0 7 0zm14.2 5.1h-1.3V7h-1.8v1.3h1.8v2h1.3v-2H23V7h-1.8V5.1zm2.9-.2V6l1.7-.5V11h1.4V3.9H27l-2.9 1zm9.5-.3c-.4-.5-1-.8-1.8-.8s-1.4.3-1.8.8c-.4.5-.6 1.3-.6 2.3v1.3c0 1 .2 1.7.6 2.2.4.5 1 .8 1.8.8s1.4-.3 1.8-.8c.4-.5.6-1.3.6-2.3V6.8c.1-1-.1-1.7-.6-2.2zm-.7 3.7c0 .6-.1 1-.2 1.2-.2.3-.4.4-.7.4-.3 0-.6-.1-.8-.4-.2-.3-.2-.7-.2-1.3V6.5c0-.5.1-.9.3-1.2.2-.3.4-.4.7-.4.3 0 .6.1.8.4.2.3.2.7.2 1.3v1.7z"
|
||||
fill="#fff" /></svg>
|
||||
</a>
|
||||
<div class="space"></div>
|
||||
<a href="#" onclick="if (!window.__cfRLUnblockHandlers) return false; return false" data-cf-modified-439eff7a0cccd973bece8aa1-="">
|
||||
<a href="#" onclick="if (!window.__cfRLUnblockHandlers) return false; return false" data-cf-modified-0f3750606b637881c3eadcfb-="">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20.5" height="16" viewBox="0 0 20.5 16">
|
||||
<path
|
||||
d="M2.2 12.2c.5 0 1-.4 1-1V4.8c0-.4-.2-.7-.6-.9-.4-.1-.8-.1-1 .2L.3 5.4c-.4.4-.4 1 0 1.4.3.2.6.3 1 .2v4.2c0 .5.4 1 .9 1zm3.7-8.4c-1 0-1.8.8-1.8 1.8v4.8c0 1 .8 1.8 1.8 1.8h1.3c1 0 1.8-.8 1.8-1.8V5.6c0-1-.8-1.8-1.8-1.8H5.9zM7 10.2H6V5.8h1v4.4zm4.7-6.4c-1 0-1.8.8-1.8 1.8v4.8c0 1 .8 1.8 1.8 1.8H13c1 0 1.8-.8 1.8-1.8V5.6c0-1-.8-1.8-1.8-1.8h-1.3zm1.1 6.4h-1V9h1v1.2zm0-3.2h-1V5.8h1V7zm5.9-3.2h-1.3c-1 0-1.8.8-1.8 1.8v4.8c0 1 .8 1.8 1.8 1.8h1.3c1 0 1.8-.8 1.8-1.8V5.6c0-1-.8-1.8-1.8-1.8zm-.2 6.4h-1V5.8h1v4.4zM1 1.9h18.5c.5 0 1-.4 1-1 0-.5-.4-1-1-1H1C.4 0 0 .4 0 1c0 .5.4.9 1 .9zm18.5 12.2H1c-.5 0-1 .4-1 1s.4 1 1 1h18.5c.5 0 1-.4 1-1s-.5-1-1-1z"
|
||||
|
|
@ -94,16 +94,16 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<img src="https://m.media-amazon.com/images/M/MV5BMDRjNGJlNTQtYjU5Yy00OWEzLTk3MGMtYmNjZDYwYjJkZWI5XkEyXkFqcGc@._V1_QL75_UX820_.jpg" class="_player-cover" alt="">
|
||||
<img src="https://m.media-amazon.com/images/M/MV5BM2Y0Yjg1NDYtZTdlZS00ZGQ1LTk0YTEtNjA4MGUxYjlkNTQ4XkEyXkFqcGc@._V1_QL75_UX820_.jpg" class="_player-cover" alt="">
|
||||
<iframe id="_player" style="" allowfullscreen="" src="" scrolling="no" style="background-color:#fff"></iframe>
|
||||
<div class="spinner-container" style="display:none"><div class="spinner-border"></div></div>
|
||||
</div>
|
||||
|
||||
|
||||
<script src="/static/js/jquery.min.js" type="439eff7a0cccd973bece8aa1-text/javascript"></script>
|
||||
<script src="/static/js/bootstrap.bundle.min.js" type="439eff7a0cccd973bece8aa1-text/javascript"></script>
|
||||
<script src="/static/js/main.js?v=12" type="439eff7a0cccd973bece8aa1-text/javascript"></script>
|
||||
<script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="439eff7a0cccd973bece8aa1-|49" defer></script></body>
|
||||
<script src="/static/js/jquery.min.js" type="0f3750606b637881c3eadcfb-text/javascript"></script>
|
||||
<script src="/static/js/bootstrap.bundle.min.js" type="0f3750606b637881c3eadcfb-text/javascript"></script>
|
||||
<script src="/static/js/main.js?v=12" type="0f3750606b637881c3eadcfb-text/javascript"></script>
|
||||
<script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="0f3750606b637881c3eadcfb-|49" defer></script></body>
|
||||
|
||||
</html>
|
||||
|
||||
|
|
@ -15,9 +15,9 @@
|
|||
|
||||
<link rel="stylesheet" href="https://supervideo.cc/assets/css/style.css?v=130">
|
||||
<!-- jsdata -->
|
||||
<script src="https://supervideo.cc/assets/js/libs.min.js?v=2" type="42cae66dfbde55b74a18efcc-text/javascript"></script>
|
||||
<script src="https://supervideo.cc/assets/js/common.js?v=2" type="42cae66dfbde55b74a18efcc-text/javascript"></script>
|
||||
<script src="https://supervideo.cc/js/xupload.js?v=4" type="42cae66dfbde55b74a18efcc-text/javascript"></script>
|
||||
<script src="https://supervideo.cc/assets/js/libs.min.js?v=2" type="2b0d82ffb81a8be8a3dd04a1-text/javascript"></script>
|
||||
<script src="https://supervideo.cc/assets/js/common.js?v=2" type="2b0d82ffb81a8be8a3dd04a1-text/javascript"></script>
|
||||
<script src="https://supervideo.cc/js/xupload.js?v=4" type="2b0d82ffb81a8be8a3dd04a1-text/javascript"></script>
|
||||
<!-- favicon -->
|
||||
<link rel="apple-touch-icon" href="https://supervideo.cc/assets/images/favicon/apple-touch-icon.png" sizes="180x180">
|
||||
<link rel="icon" href="https://supervideo.cc/assets/images/favicon/favicon-32x32.png" sizes="32x32">
|
||||
|
|
@ -113,16 +113,16 @@
|
|||
|
||||
|
||||
<!--25% ads-->
|
||||
<script src="/9271593.js" type="42cae66dfbde55b74a18efcc-text/javascript"></script>
|
||||
<script src="/9271609.js" type="42cae66dfbde55b74a18efcc-text/javascript"></script>
|
||||
<script src="/9271593.js" type="2b0d82ffb81a8be8a3dd04a1-text/javascript"></script>
|
||||
<script src="/9271609.js" type="2b0d82ffb81a8be8a3dd04a1-text/javascript"></script>
|
||||
<script data-cfasync="false" async type="text/javascript" src="//zm.nostocbark.com/rljPIWhbr4xr/115547"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script language="JavaScript" type="42cae66dfbde55b74a18efcc-text/javascript" CHARSET="UTF-8" src="https://supervideo.cc/js/jquery.cookie.js"></script>
|
||||
<script type="42cae66dfbde55b74a18efcc-text/javascript">
|
||||
<script language="JavaScript" type="2b0d82ffb81a8be8a3dd04a1-text/javascript" CHARSET="UTF-8" src="https://supervideo.cc/js/jquery.cookie.js"></script>
|
||||
<script type="2b0d82ffb81a8be8a3dd04a1-text/javascript">
|
||||
$.cookie('file_id', '1396174', { expires: 10 });
|
||||
$.cookie('aff', '14532', { expires: 10 });
|
||||
|
||||
|
|
@ -144,10 +144,10 @@ $.cookie('aff', '14532', { expires: 10 });
|
|||
|
||||
<div class="download__player">
|
||||
<div class="overlay " >
|
||||
<script type="42cae66dfbde55b74a18efcc-text/javascript" src='https://supervideo.cc/player8/jwplayer.js'></script>
|
||||
<script type="42cae66dfbde55b74a18efcc-text/javascript">jwplayer.key="9dOyFG96QFb9AWbR+FhhislXHfV1gIhrkaxLYfLydfiYyC0s";</script>
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-46849459-36" type="42cae66dfbde55b74a18efcc-text/javascript"></script>
|
||||
<script type="42cae66dfbde55b74a18efcc-text/javascript">
|
||||
<script type="2b0d82ffb81a8be8a3dd04a1-text/javascript" src='https://supervideo.cc/player8/jwplayer.js'></script>
|
||||
<script type="2b0d82ffb81a8be8a3dd04a1-text/javascript">jwplayer.key="9dOyFG96QFb9AWbR+FhhislXHfV1gIhrkaxLYfLydfiYyC0s";</script>
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-46849459-36" type="2b0d82ffb81a8be8a3dd04a1-text/javascript"></script>
|
||||
<script type="2b0d82ffb81a8be8a3dd04a1-text/javascript">
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
|
|
@ -167,7 +167,7 @@ $.cookie('aff', '14532', { expires: 10 });
|
|||
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="https://supervideo.cc/assets/player/myskinfile.css?v=11">
|
||||
<script src="https://supervideo.cc/js/pop.js" type="42cae66dfbde55b74a18efcc-text/javascript"></script>
|
||||
<script src="https://supervideo.cc/js/pop.js" type="2b0d82ffb81a8be8a3dd04a1-text/javascript"></script>
|
||||
<div id='vplayer' style="width:100%;height:100%;text-align:center;"><img src="https://i.serversicuro.cc/22go50mon0ke_xt.jpg" style="width:100%;height:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -186,7 +186,7 @@ $.cookie('aff', '14532', { expires: 10 });
|
|||
germanserien
|
||||
</a></li>
|
||||
<li><i class="icon icon_eye icon_align_left"></i>
|
||||
623 views
|
||||
624 views
|
||||
</li>
|
||||
<li><button type="button" class="btn download__flag" data-toggle="modal" data-target="#vid-flag"><i class="icon icon_flag"></i></button>
|
||||
<div class="modal fade" id="vid-flag" tabindex="-1" role="dialog" aria-labelledby="modal-title" aria-hidden="true">
|
||||
|
|
@ -199,7 +199,7 @@ $.cookie('aff', '14532', { expires: 10 });
|
|||
</button>
|
||||
</div>
|
||||
<div class="modal-body" id="id_flag">
|
||||
<form class="form" method="POST" action="/" onsubmit="if (!window.__cfRLUnblockHandlers) return false; $.post('/',$(this).serialize(),function(code){ eval(code); $('#id_flag').wrapInner('<span></span>').addClass('alert alert-success'); } );return false;" data-cf-modified-42cae66dfbde55b74a18efcc-="">
|
||||
<form class="form" method="POST" action="/" onsubmit="if (!window.__cfRLUnblockHandlers) return false; $.post('/',$(this).serialize(),function(code){ eval(code); $('#id_flag').wrapInner('<span></span>').addClass('alert alert-success'); } );return false;" data-cf-modified-2b0d82ffb81a8be8a3dd04a1-="">
|
||||
<input type="hidden" name="op" value="report_file">
|
||||
<input type="hidden" name="file_code" value="22go50mon0ke">
|
||||
<div class="form__group">
|
||||
|
|
@ -236,18 +236,18 @@ $.cookie('aff', '14532', { expires: 10 });
|
|||
</div>
|
||||
<div class="col-sm-auto">
|
||||
<ul class="download-social">
|
||||
<li><a class="download-social__item download-social__item_facebook" onclick="if (!window.__cfRLUnblockHandlers) return false; window.open(this.href, 'Share Facebook', 'width=640,height=436,toolbar=0,status=0'); return false" href="https://www.facebook.com/sharer/sharer.php?u=/22go50mon0ke" data-cf-modified-42cae66dfbde55b74a18efcc-=""><i class="icon icon_facebook"></i></a></li>
|
||||
<li><a class="download-social__item download-social__item_twitter" onclick="if (!window.__cfRLUnblockHandlers) return false; window.open(this.href, 'Share Twitter', 'width=640,height=436,toolbar=0,status=0'); return false" href="https://twitter.com/intent/tweet?text=Black Mirror 2x4" data-cf-modified-42cae66dfbde55b74a18efcc-=""><i class="icon icon_twitter"></i></a></li>
|
||||
<li><a class="download-social__item download-social__item_facebook" onclick="if (!window.__cfRLUnblockHandlers) return false; window.open(this.href, 'Share Facebook', 'width=640,height=436,toolbar=0,status=0'); return false" href="https://www.facebook.com/sharer/sharer.php?u=/22go50mon0ke" data-cf-modified-2b0d82ffb81a8be8a3dd04a1-=""><i class="icon icon_facebook"></i></a></li>
|
||||
<li><a class="download-social__item download-social__item_twitter" onclick="if (!window.__cfRLUnblockHandlers) return false; window.open(this.href, 'Share Twitter', 'width=640,height=436,toolbar=0,status=0'); return false" href="https://twitter.com/intent/tweet?text=Black Mirror 2x4" data-cf-modified-2b0d82ffb81a8be8a3dd04a1-=""><i class="icon icon_twitter"></i></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<div class="dowonload-rating" id="vote">
|
||||
<button type="button" class="btn dowonload-rating__btn dowonload-rating__btn_plus" onclick="if (!window.__cfRLUnblockHandlers) return false; return jah('/?op=vote&file_code=22go50mon0ke&v=up')" title="Like" data-cf-modified-42cae66dfbde55b74a18efcc-=""><i
|
||||
<button type="button" class="btn dowonload-rating__btn dowonload-rating__btn_plus" onclick="if (!window.__cfRLUnblockHandlers) return false; return jah('/?op=vote&file_code=22go50mon0ke&v=up')" title="Like" data-cf-modified-2b0d82ffb81a8be8a3dd04a1-=""><i
|
||||
class="icon icon_like icon_align_left icon-size_20 dowonload-rating__icon"></i><span id="likes_num">
|
||||
0
|
||||
</span></button>
|
||||
<span class="dowonload-rating__divider"></span>
|
||||
<button type="button" class="btn dowonload-rating__btn dowonload-rating__btn_minus" onclick="if (!window.__cfRLUnblockHandlers) return false; return jah('/?op=vote&file_code=22go50mon0ke&v=down')" title="Don't Like" data-cf-modified-42cae66dfbde55b74a18efcc-=""><i
|
||||
<button type="button" class="btn dowonload-rating__btn dowonload-rating__btn_minus" onclick="if (!window.__cfRLUnblockHandlers) return false; return jah('/?op=vote&file_code=22go50mon0ke&v=down')" title="Don't Like" data-cf-modified-2b0d82ffb81a8be8a3dd04a1-=""><i
|
||||
class="icon icon_dislike icon_align_left icon-size_20 dowonload-rating__icon"></i><span id="dislikes_num">
|
||||
0
|
||||
</span></button>
|
||||
|
|
@ -264,7 +264,7 @@ $.cookie('aff', '14532', { expires: 10 });
|
|||
<ul class="dropdown-menu downloadbox__dropdown-menu">
|
||||
|
||||
<li>
|
||||
<a href="#" onclick="if (!window.__cfRLUnblockHandlers) return false; download_video('22go50mon0ke','n','1396174-130-61-1746646836-0284dd84d32b999da0164b49232f21fe')" data-cf-modified-42cae66dfbde55b74a18efcc-=""><i
|
||||
<a href="#" onclick="if (!window.__cfRLUnblockHandlers) return false; download_video('22go50mon0ke','n','1396174-130-61-1746903686-88e9c56541498dffbe90f4b9e084a8dd')" data-cf-modified-2b0d82ffb81a8be8a3dd04a1-=""><i
|
||||
class="icon icon_download icon_size_18 icon_align_left"></i><b class="downloadbox__quality">
|
||||
Normal quality
|
||||
</b><span class="downloadbox__size">
|
||||
|
|
@ -349,9 +349,9 @@ $.cookie('aff', '14532', { expires: 10 });
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<script type="42cae66dfbde55b74a18efcc-text/javascript">eval(function(p,a,c,k,e,d){while(c--)if(k[c])p=p.replace(new RegExp('\\b'+c.toString(a)+'\\b','g'),k[c]);return p}('e("3m").3l({3k:[{m:"6://3j.n.4/3i/,3h,.3g/3f.3e"}],3d:"6://i.n.4/3c.10",3b:"14%",3a:"14%",39:"38",37:"13.11",36:\'35\',34:"l",33:"l",32:"31",30:"2z",2y:[0.25,0.5,0.2x,1,1.25,1.5,2],2w:{2v:"2u"},2t:[{m:"/2s?t=2r&2q=13.11&2p=6://i.n.4/2o.10",2n:"2m"}],2l:{2k:\'#2j\',2i:12,2h:"2g",2f:0,2e:\'2d\',2c:2b},2a:"29",28:"",27:{m:"6://d.4/r/26.q",24:"6://d.4/c",8:"o-23",22:"5",u:l},21:{}});k f,j,h=0;k 20=0,1z=0;k 7=e();7.9(\'1y\',3(x){b(5>0&&x.8>=5&&j!=1){j=1;$(\'g.1x\').1w(\'1v\')}b(h==0&&x.8>=z&&x.8<=(z+2)){h=x.8}});7.9(\'1u\',3(x){y(x)});7.9(\'1t\',3(){$(\'g.w\').1s()});3 y(x){$(\'g.w\').u();b(f)1r;f=1;a=0;b(p.1q===1p){a=1}$.1o(\'/1n?t=1m&1l=c&1k=1j-1i-1h-1g-1f&1e=&a=\'+a,3(s){$(\'#1d\').1c(s)})}7.9(\'1b\',3(){});e().1a("6://d.4/r/19.q","18",3(){p.o.17.16=\'/v/c\'},"15");',36,131,'|||function|cc||https|player|position|on|adb|if|22go50mon0ke|supervideo|jwplayer|vvplay|div|x2ok||vvad|var|true|file|serversicuro|top|window|png|images|data|op|hide||video_ad||doPlay|1111|jpg|60||4444|100|download11|href|location|Download|download2|addButton|ready|html|fviews|embed|49962ceb3bba76bd843b7b7aeef61c46|1746646835|61|130|1396174|hash|file_code|view|dl|get|undefined|cRAds|return|show|complete|play|slow|fadeIn|video_ad_fadein|time|vastdone2|vastdone1|cast|margin|right|link||logo_p|logo|aboutlink|xvs|abouttext|90|fontOpacity|none|edgeStyle|backgroundOpacity|Verdana|fontFamily|fontSize|FFFFFF|color|captions|thumbnails|kind|22go50mon0ke0000|url|length|get_slides|dlf|tracks|myskin|name|skin|75|playbackRateControls|start|startparam|html5|primary|hlshtml|androidhls|metadata|preload|duration|uniform|stretching|height|width|22go50mon0ke_xt|image|m3u8|master|urlset|dnzpervt3xg4a3gyvdix52ttsqpj5jgxs7keazdmhvru2uyin5gujtxe5u4a|hls|hfs279|sources|setup|vplayer'.split('|')))
|
||||
<script type="2b0d82ffb81a8be8a3dd04a1-text/javascript">eval(function(p,a,c,k,e,d){while(c--)if(k[c])p=p.replace(new RegExp('\\b'+c.toString(a)+'\\b','g'),k[c]);return p}('e("3m").3l({3k:[{m:"6://3j.n.4/3i/,3h,.3g/3f.3e"}],3d:"6://i.n.4/3c.10",3b:"14%",3a:"14%",39:"38",37:"13.11",36:\'35\',34:"l",33:"l",32:"31",30:"2z",2y:[0.25,0.5,0.2x,1,1.25,1.5,2],2w:{2v:"2u"},2t:[{m:"/2s?t=2r&2q=13.11&2p=6://i.n.4/2o.10",2n:"2m"}],2l:{2k:\'#2j\',2i:12,2h:"2g",2f:0,2e:\'2d\',2c:2b},2a:"29",28:"",27:{m:"6://d.4/r/26.q",24:"6://d.4/c",8:"o-23",22:"5",u:l},21:{}});k f,j,h=0;k 20=0,1z=0;k 7=e();7.9(\'1y\',3(x){b(5>0&&x.8>=5&&j!=1){j=1;$(\'g.1x\').1w(\'1v\')}b(h==0&&x.8>=z&&x.8<=(z+2)){h=x.8}});7.9(\'1u\',3(x){y(x)});7.9(\'1t\',3(){$(\'g.w\').1s()});3 y(x){$(\'g.w\').u();b(f)1r;f=1;a=0;b(p.1q===1p){a=1}$.1o(\'/1n?t=1m&1l=c&1k=1j-1i-1h-1g-1f&1e=&a=\'+a,3(s){$(\'#1d\').1c(s)})}7.9(\'1b\',3(){});e().1a("6://d.4/r/19.q","18",3(){p.o.17.16=\'/v/c\'},"15");',36,131,'|||function|cc||https|player|position|on|adb|if|22go50mon0ke|supervideo|jwplayer|vvplay|div|x2ok||vvad|var|true|file|serversicuro|top|window|png|images|data|op|hide||video_ad||doPlay|1111|jpg|60||4444|100|download11|href|location|Download|download2|addButton|ready|html|fviews|embed|79ae1783a18f09a22b00d441b919acf4|1746903685|61|130|1396174|hash|file_code|view|dl|get|undefined|cRAds|return|show|complete|play|slow|fadeIn|video_ad_fadein|time|vastdone2|vastdone1|cast|margin|right|link||logo_p|logo|aboutlink|xvs|abouttext|90|fontOpacity|none|edgeStyle|backgroundOpacity|Verdana|fontFamily|fontSize|FFFFFF|color|captions|thumbnails|kind|22go50mon0ke0000|url|length|get_slides|dlf|tracks|myskin|name|skin|75|playbackRateControls|start|startparam|html5|primary|hlshtml|androidhls|metadata|preload|duration|uniform|stretching|height|width|22go50mon0ke_xt|image|m3u8|master|urlset|dnzpervt3xg4a3gyvdix52ttsqpj5jgxs7keazdmhvru2uyin5g7f67a5u4a|hls|hfs279|sources|setup|vplayer'.split('|')))
|
||||
</script>
|
||||
<script type="42cae66dfbde55b74a18efcc-text/javascript">
|
||||
<script type="2b0d82ffb81a8be8a3dd04a1-text/javascript">
|
||||
|
||||
</script>
|
||||
|
||||
|
|
@ -397,5 +397,5 @@ $.cookie('aff', '14532', { expires: 10 });
|
|||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="42cae66dfbde55b74a18efcc-|49" defer></script></body>
|
||||
<script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="2b0d82ffb81a8be8a3dd04a1-|49" defer></script></body>
|
||||
</html>
|
||||
|
|
@ -15,9 +15,9 @@
|
|||
|
||||
<link rel="stylesheet" href="https://supervideo.cc/assets/css/style.css?v=130">
|
||||
<!-- jsdata -->
|
||||
<script src="https://supervideo.cc/assets/js/libs.min.js?v=2" type="984fd910af585e6bd302d264-text/javascript"></script>
|
||||
<script src="https://supervideo.cc/assets/js/common.js?v=2" type="984fd910af585e6bd302d264-text/javascript"></script>
|
||||
<script src="https://supervideo.cc/js/xupload.js?v=4" type="984fd910af585e6bd302d264-text/javascript"></script>
|
||||
<script src="https://supervideo.cc/assets/js/libs.min.js?v=2" type="e152b60ced1d55f4994d258c-text/javascript"></script>
|
||||
<script src="https://supervideo.cc/assets/js/common.js?v=2" type="e152b60ced1d55f4994d258c-text/javascript"></script>
|
||||
<script src="https://supervideo.cc/js/xupload.js?v=4" type="e152b60ced1d55f4994d258c-text/javascript"></script>
|
||||
<!-- favicon -->
|
||||
<link rel="apple-touch-icon" href="https://supervideo.cc/assets/images/favicon/apple-touch-icon.png" sizes="180x180">
|
||||
<link rel="icon" href="https://supervideo.cc/assets/images/favicon/favicon-32x32.png" sizes="32x32">
|
||||
|
|
@ -107,8 +107,8 @@
|
|||
|
||||
|
||||
<!--100% ads-->
|
||||
<script src="/9271593.js" type="984fd910af585e6bd302d264-text/javascript"></script>
|
||||
<script src="/9271609.js" type="984fd910af585e6bd302d264-text/javascript"></script>
|
||||
<script src="/9271593.js" type="e152b60ced1d55f4994d258c-text/javascript"></script>
|
||||
<script src="/9271609.js" type="e152b60ced1d55f4994d258c-text/javascript"></script>
|
||||
<script data-cfasync="false" async type="text/javascript" src="//zm.nostocbark.com/rljPIWhbr4xr/115547"></script>
|
||||
|
||||
|
||||
|
|
@ -121,8 +121,8 @@
|
|||
|
||||
|
||||
|
||||
<script language="JavaScript" type="984fd910af585e6bd302d264-text/javascript" CHARSET="UTF-8" src="https://supervideo.cc/js/jquery.cookie.js"></script>
|
||||
<script type="984fd910af585e6bd302d264-text/javascript">
|
||||
<script language="JavaScript" type="e152b60ced1d55f4994d258c-text/javascript" CHARSET="UTF-8" src="https://supervideo.cc/js/jquery.cookie.js"></script>
|
||||
<script type="e152b60ced1d55f4994d258c-text/javascript">
|
||||
$.cookie('file_id', '2071851', { expires: 10 });
|
||||
$.cookie('aff', '11057', { expires: 10 });
|
||||
|
||||
|
|
@ -144,10 +144,10 @@ $.cookie('aff', '11057', { expires: 10 });
|
|||
|
||||
<div class="download__player">
|
||||
<div class="overlay " >
|
||||
<script type="984fd910af585e6bd302d264-text/javascript" src='https://supervideo.cc/player8/jwplayer.js'></script>
|
||||
<script type="984fd910af585e6bd302d264-text/javascript">jwplayer.key="9dOyFG96QFb9AWbR+FhhislXHfV1gIhrkaxLYfLydfiYyC0s";</script>
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-46849459-36" type="984fd910af585e6bd302d264-text/javascript"></script>
|
||||
<script type="984fd910af585e6bd302d264-text/javascript">
|
||||
<script type="e152b60ced1d55f4994d258c-text/javascript" src='https://supervideo.cc/player8/jwplayer.js'></script>
|
||||
<script type="e152b60ced1d55f4994d258c-text/javascript">jwplayer.key="9dOyFG96QFb9AWbR+FhhislXHfV1gIhrkaxLYfLydfiYyC0s";</script>
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-46849459-36" type="e152b60ced1d55f4994d258c-text/javascript"></script>
|
||||
<script type="e152b60ced1d55f4994d258c-text/javascript">
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
|
|
@ -167,7 +167,7 @@ $.cookie('aff', '11057', { expires: 10 });
|
|||
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="https://supervideo.cc/assets/player/myskinfile.css?v=11">
|
||||
<script src="https://supervideo.cc/js/pop.js" type="984fd910af585e6bd302d264-text/javascript"></script>
|
||||
<script src="https://supervideo.cc/js/pop.js" type="e152b60ced1d55f4994d258c-text/javascript"></script>
|
||||
<div id='vplayer' style="width:100%;height:100%;text-align:center;"><img src="https://i.serversicuro.cc/q7i0sw1oytw3_xt.jpg" style="width:100%;height:100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -186,7 +186,7 @@ $.cookie('aff', '11057', { expires: 10 });
|
|||
germancloud123
|
||||
</a></li>
|
||||
<li><i class="icon icon_eye icon_align_left"></i>
|
||||
1830 views
|
||||
1833 views
|
||||
</li>
|
||||
<li><button type="button" class="btn download__flag" data-toggle="modal" data-target="#vid-flag"><i class="icon icon_flag"></i></button>
|
||||
<div class="modal fade" id="vid-flag" tabindex="-1" role="dialog" aria-labelledby="modal-title" aria-hidden="true">
|
||||
|
|
@ -199,7 +199,7 @@ $.cookie('aff', '11057', { expires: 10 });
|
|||
</button>
|
||||
</div>
|
||||
<div class="modal-body" id="id_flag">
|
||||
<form class="form" method="POST" action="/" onsubmit="if (!window.__cfRLUnblockHandlers) return false; $.post('/',$(this).serialize(),function(code){ eval(code); $('#id_flag').wrapInner('<span></span>').addClass('alert alert-success'); } );return false;" data-cf-modified-984fd910af585e6bd302d264-="">
|
||||
<form class="form" method="POST" action="/" onsubmit="if (!window.__cfRLUnblockHandlers) return false; $.post('/',$(this).serialize(),function(code){ eval(code); $('#id_flag').wrapInner('<span></span>').addClass('alert alert-success'); } );return false;" data-cf-modified-e152b60ced1d55f4994d258c-="">
|
||||
<input type="hidden" name="op" value="report_file">
|
||||
<input type="hidden" name="file_code" value="q7i0sw1oytw3">
|
||||
<div class="form__group">
|
||||
|
|
@ -236,18 +236,18 @@ $.cookie('aff', '11057', { expires: 10 });
|
|||
</div>
|
||||
<div class="col-sm-auto">
|
||||
<ul class="download-social">
|
||||
<li><a class="download-social__item download-social__item_facebook" onclick="if (!window.__cfRLUnblockHandlers) return false; window.open(this.href, 'Share Facebook', 'width=640,height=436,toolbar=0,status=0'); return false" href="https://www.facebook.com/sharer/sharer.php?u=/q7i0sw1oytw3" data-cf-modified-984fd910af585e6bd302d264-=""><i class="icon icon_facebook"></i></a></li>
|
||||
<li><a class="download-social__item download-social__item_twitter" onclick="if (!window.__cfRLUnblockHandlers) return false; window.open(this.href, 'Share Twitter', 'width=640,height=436,toolbar=0,status=0'); return false" href="https://twitter.com/intent/tweet?text=des-teufels-bad-2024" data-cf-modified-984fd910af585e6bd302d264-=""><i class="icon icon_twitter"></i></a></li>
|
||||
<li><a class="download-social__item download-social__item_facebook" onclick="if (!window.__cfRLUnblockHandlers) return false; window.open(this.href, 'Share Facebook', 'width=640,height=436,toolbar=0,status=0'); return false" href="https://www.facebook.com/sharer/sharer.php?u=/q7i0sw1oytw3" data-cf-modified-e152b60ced1d55f4994d258c-=""><i class="icon icon_facebook"></i></a></li>
|
||||
<li><a class="download-social__item download-social__item_twitter" onclick="if (!window.__cfRLUnblockHandlers) return false; window.open(this.href, 'Share Twitter', 'width=640,height=436,toolbar=0,status=0'); return false" href="https://twitter.com/intent/tweet?text=des-teufels-bad-2024" data-cf-modified-e152b60ced1d55f4994d258c-=""><i class="icon icon_twitter"></i></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<div class="dowonload-rating" id="vote">
|
||||
<button type="button" class="btn dowonload-rating__btn dowonload-rating__btn_plus" onclick="if (!window.__cfRLUnblockHandlers) return false; return jah('/?op=vote&file_code=q7i0sw1oytw3&v=up')" title="Like" data-cf-modified-984fd910af585e6bd302d264-=""><i
|
||||
<button type="button" class="btn dowonload-rating__btn dowonload-rating__btn_plus" onclick="if (!window.__cfRLUnblockHandlers) return false; return jah('/?op=vote&file_code=q7i0sw1oytw3&v=up')" title="Like" data-cf-modified-e152b60ced1d55f4994d258c-=""><i
|
||||
class="icon icon_like icon_align_left icon-size_20 dowonload-rating__icon"></i><span id="likes_num">
|
||||
0
|
||||
</span></button>
|
||||
<span class="dowonload-rating__divider"></span>
|
||||
<button type="button" class="btn dowonload-rating__btn dowonload-rating__btn_minus" onclick="if (!window.__cfRLUnblockHandlers) return false; return jah('/?op=vote&file_code=q7i0sw1oytw3&v=down')" title="Don't Like" data-cf-modified-984fd910af585e6bd302d264-=""><i
|
||||
<button type="button" class="btn dowonload-rating__btn dowonload-rating__btn_minus" onclick="if (!window.__cfRLUnblockHandlers) return false; return jah('/?op=vote&file_code=q7i0sw1oytw3&v=down')" title="Don't Like" data-cf-modified-e152b60ced1d55f4994d258c-=""><i
|
||||
class="icon icon_dislike icon_align_left icon-size_20 dowonload-rating__icon"></i><span id="dislikes_num">
|
||||
0
|
||||
</span></button>
|
||||
|
|
@ -264,7 +264,7 @@ $.cookie('aff', '11057', { expires: 10 });
|
|||
<ul class="dropdown-menu downloadbox__dropdown-menu">
|
||||
|
||||
<li>
|
||||
<a href="#" onclick="if (!window.__cfRLUnblockHandlers) return false; download_video('q7i0sw1oytw3','n','2071851-130-61-1746643877-522918f4433ccf39599ad14f728e96bf')" data-cf-modified-984fd910af585e6bd302d264-=""><i
|
||||
<a href="#" onclick="if (!window.__cfRLUnblockHandlers) return false; download_video('q7i0sw1oytw3','n','2071851-130-61-1746903745-e8be3229426947800bfdcef2f350092d')" data-cf-modified-e152b60ced1d55f4994d258c-=""><i
|
||||
class="icon icon_download icon_size_18 icon_align_left"></i><b class="downloadbox__quality">
|
||||
Normal quality
|
||||
</b><span class="downloadbox__size">
|
||||
|
|
@ -349,9 +349,9 @@ $.cookie('aff', '11057', { expires: 10 });
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<script type="984fd910af585e6bd302d264-text/javascript">eval(function(p,a,c,k,e,d){while(c--)if(k[c])p=p.replace(new RegExp('\\b'+c.toString(a)+'\\b','g'),k[c]);return p}('e("3l").3k({3j:[{m:"6://3i.n.4/3h/,3g,.3f/3e.3d"}],3c:"6://i.n.4/3b.11",3a:"15%",39:"15%",38:"10",37:"14.13",36:\'35\',34:"l",33:"l",32:"31",30:"2z",2y:[0.25,0.5,0.2x,1,1.25,1.5,2],2w:{2v:"2u"},2t:[{m:"/2s?t=2r&2q=14.13&2p=6://i.n.4/2o.11",2n:"2m"}],2l:{2k:\'#2j\',2i:12,2h:"2g",2f:0,2e:\'10\',2d:2c},2b:"2a",29:"",28:{m:"6://d.4/r/27.q",26:"6://d.4/c",8:"o-24",23:"5",u:l},22:{}});k f,j,h=0;k 21=0,20=0;k 7=e();7.9(\'1z\',3(x){b(5>0&&x.8>=5&&j!=1){j=1;$(\'g.1y\').1x(\'1w\')}b(h==0&&x.8>=z&&x.8<=(z+2)){h=x.8}});7.9(\'1v\',3(x){y(x)});7.9(\'1u\',3(){$(\'g.w\').1t()});3 y(x){$(\'g.w\').u();b(f)1s;f=1;a=0;b(p.1r===1q){a=1}$.1p(\'/1o?t=1n&1m=c&1l=1k-1j-1i-1h-1g&1f=&a=\'+a,3(s){$(\'#1e\').1d(s)})}7.9(\'1c\',3(){});e().1b("6://d.4/r/1a.q","19",3(){p.o.18.17=\'/v/c\'},"16");',36,130,'|||function|cc||https|player|position|on|adb|if|q7i0sw1oytw3|supervideo|jwplayer|vvplay|div|x2ok||vvad|var|true|file|serversicuro|top|window|png|images|data|op|hide||video_ad||doPlay|1814|uniform|jpg||58|7258|100|download11|href|location|Download|download2|addButton|ready|html|fviews|embed|9b2d39efe6d0590778523b0549bd11ed|1746643876|61|130|2071851|hash|file_code|view|dl|get|undefined|cRAds|return|show|complete|play|slow|fadeIn|video_ad_fadein|time|vastdone2|vastdone1|cast|margin|right||link|logo_p|logo|aboutlink|xvs|abouttext|90|fontOpacity|edgeStyle|backgroundOpacity|Verdana|fontFamily|fontSize|FFFFFF|color|captions|thumbnails|kind|q7i0sw1oytw30000|url|length|get_slides|dlf|tracks|myskin|name|skin|75|playbackRateControls|start|startparam|html5|primary|hlshtml|androidhls|metadata|preload|duration|stretching|height|width|q7i0sw1oytw3_xt|image|m3u8|master|urlset|dnzpfi3d27g4a3gyvbmh5klwtl65qh654hyjtgupd6p56thhyquqzo3klbfa|hls|hfs290|sources|setup|vplayer'.split('|')))
|
||||
<script type="e152b60ced1d55f4994d258c-text/javascript">eval(function(p,a,c,k,e,d){while(c--)if(k[c])p=p.replace(new RegExp('\\b'+c.toString(a)+'\\b','g'),k[c]);return p}('e("3l").3k({3j:[{m:"6://3i.n.4/3h/,3g,.3f/3e.3d"}],3c:"6://i.n.4/3b.11",3a:"15%",39:"15%",38:"10",37:"14.13",36:\'35\',34:"l",33:"l",32:"31",30:"2z",2y:[0.25,0.5,0.2x,1,1.25,1.5,2],2w:{2v:"2u"},2t:[{m:"/2s?t=2r&2q=14.13&2p=6://i.n.4/2o.11",2n:"2m"}],2l:{2k:\'#2j\',2i:12,2h:"2g",2f:0,2e:\'10\',2d:2c},2b:"2a",29:"",28:{m:"6://d.4/r/27.q",26:"6://d.4/c",8:"o-24",23:"5",u:l},22:{}});k f,j,h=0;k 21=0,20=0;k 7=e();7.9(\'1z\',3(x){b(5>0&&x.8>=5&&j!=1){j=1;$(\'g.1y\').1x(\'1w\')}b(h==0&&x.8>=z&&x.8<=(z+2)){h=x.8}});7.9(\'1v\',3(x){y(x)});7.9(\'1u\',3(){$(\'g.w\').1t()});3 y(x){$(\'g.w\').u();b(f)1s;f=1;a=0;b(p.1r===1q){a=1}$.1p(\'/1o?t=1n&1m=c&1l=1k-1j-1i-1h-1g&1f=&a=\'+a,3(s){$(\'#1e\').1d(s)})}7.9(\'1c\',3(){});e().1b("6://d.4/r/1a.q","19",3(){p.o.18.17=\'/v/c\'},"16");',36,130,'|||function|cc||https|player|position|on|adb|if|q7i0sw1oytw3|supervideo|jwplayer|vvplay|div|x2ok||vvad|var|true|file|serversicuro|top|window|png|images|data|op|hide||video_ad||doPlay|1814|uniform|jpg||58|7258|100|download11|href|location|Download|download2|addButton|ready|html|fviews|embed|93ab40e175b6d83dbf807c5f0206299a|1746903744|61|130|2071851|hash|file_code|view|dl|get|undefined|cRAds|return|show|complete|play|slow|fadeIn|video_ad_fadein|time|vastdone2|vastdone1|cast|margin|right||link|logo_p|logo|aboutlink|xvs|abouttext|90|fontOpacity|edgeStyle|backgroundOpacity|Verdana|fontFamily|fontSize|FFFFFF|color|captions|thumbnails|kind|q7i0sw1oytw30000|url|length|get_slides|dlf|tracks|myskin|name|skin|75|playbackRateControls|start|startparam|html5|primary|hlshtml|androidhls|metadata|preload|duration|stretching|height|width|q7i0sw1oytw3_xt|image|m3u8|master|urlset|dnzpfi3d27g4a3gyvbmh5klwtl65qh654hyjtgupd6p56thhyqu6ra3olbfa|hls|hfs290|sources|setup|vplayer'.split('|')))
|
||||
</script>
|
||||
<script type="984fd910af585e6bd302d264-text/javascript">
|
||||
<script type="e152b60ced1d55f4994d258c-text/javascript">
|
||||
|
||||
</script>
|
||||
|
||||
|
|
@ -397,5 +397,5 @@ $.cookie('aff', '11057', { expires: 10 });
|
|||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="984fd910af585e6bd302d264-|49" defer></script></body>
|
||||
<script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="e152b60ced1d55f4994d258c-|49" defer></script></body>
|
||||
</html>
|
||||
|
|
@ -3,12 +3,12 @@ import type { Config } from 'jest';
|
|||
const config: Config = {
|
||||
collectCoverage: true,
|
||||
collectCoverageFrom: [
|
||||
'./src/**/*.ts',
|
||||
'!./src/**/index.ts',
|
||||
'!./src/**/types.ts',
|
||||
'!./src/landingTemplate.ts',
|
||||
'<rootDir>/src/**/*.ts',
|
||||
'!<rootDir>/src/**/index.ts',
|
||||
'!<rootDir>/src/**/types.ts',
|
||||
'!<rootDir>/src/landingTemplate.ts',
|
||||
],
|
||||
coverageDirectory: 'coverage',
|
||||
coverageDirectory: '<rootDir>/coverage',
|
||||
coverageProvider: 'babel',
|
||||
coverageThreshold: {
|
||||
global: {
|
||||
|
|
@ -18,7 +18,9 @@ const config: Config = {
|
|||
statements: 100,
|
||||
},
|
||||
},
|
||||
resetModules: true,
|
||||
restoreMocks: true,
|
||||
setupFilesAfterEnv: ['<rootDir>/jest.setup.ts'],
|
||||
testEnvironment: 'node',
|
||||
transform: {
|
||||
'^.+.tsx?$': ['ts-jest', {}],
|
||||
|
|
|
|||
22
jest.setup.ts
Normal file
22
jest.setup.ts
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
import { cachedFetchText } from './src/utils/fetch';
|
||||
import fs from 'node:fs';
|
||||
import slugify from 'slugify';
|
||||
|
||||
// Mocks cachedFetchText and either returns existing fixtures or creates new ones
|
||||
jest.mock('./src/utils/fetch', () => ({
|
||||
cachedFetchText: jest.fn(),
|
||||
}));
|
||||
(cachedFetchText as jest.Mock).mockImplementation(
|
||||
async (url: string) => {
|
||||
const path = `${__dirname}/fixtures/cachedFetchText/${slugify(url)}`;
|
||||
if (fs.existsSync(path)) {
|
||||
return fs.readFileSync(path).toString();
|
||||
} else {
|
||||
const realFetchModule = jest.requireActual('./src/utils/fetch');
|
||||
const text = await realFetchModule.cachedFetchText(url);
|
||||
fs.writeFileSync(path, text);
|
||||
|
||||
return text;
|
||||
}
|
||||
},
|
||||
);
|
||||
30
src/embed-extractor/Dropload.ts
Normal file
30
src/embed-extractor/Dropload.ts
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
import { EmbedExtractor } from './types';
|
||||
import { cachedFetchText, extractUrlFromPacked, iso2ToFlag, scanFromResolution } from '../utils';
|
||||
|
||||
export class Dropload implements EmbedExtractor {
|
||||
readonly id = 'dropload';
|
||||
|
||||
readonly label = 'Dropload';
|
||||
|
||||
readonly extract = async (url: string, language: string) => {
|
||||
const normalizedUrl = url.replace('/e/', '').replace('/embed-', '/');
|
||||
const html = await cachedFetchText(normalizedUrl);
|
||||
|
||||
const resolutionMatch = html.match(/(\d{3,}x\d{3,}),/);
|
||||
const resolution = resolutionMatch && resolutionMatch[1] ? scanFromResolution(resolutionMatch[1]) : undefined;
|
||||
|
||||
const sizeMatch = html.match(/([\d.]+) ?([GM]B)/);
|
||||
const size = sizeMatch && sizeMatch[1] && sizeMatch[2] ? `${sizeMatch[1]} ${sizeMatch[2]}` : undefined;
|
||||
|
||||
return {
|
||||
url: await extractUrlFromPacked(html, [/sources:\[{file:"(.*?)"/]),
|
||||
name: `WebStreamr ${resolution}`,
|
||||
title: `${this.label} | 💾 ${size} | ${iso2ToFlag(language)}`,
|
||||
behaviorHints: {
|
||||
group: `webstreamr-${this.id}`,
|
||||
},
|
||||
resolution,
|
||||
size,
|
||||
};
|
||||
};
|
||||
}
|
||||
31
src/embed-extractor/SuperVideo.ts
Normal file
31
src/embed-extractor/SuperVideo.ts
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
import { EmbedExtractor } from './types';
|
||||
import { cachedFetchText, extractUrlFromPacked, iso2ToFlag, scanFromResolution } from '../utils';
|
||||
|
||||
export class SuperVideo implements EmbedExtractor {
|
||||
readonly id = 'supervideo';
|
||||
|
||||
readonly label = 'SuperVideo';
|
||||
|
||||
readonly extract = async (url: string, language: string) => {
|
||||
const normalizedUrl = url.replace('/e/', '').replace('/embed-', '/');
|
||||
const html = await cachedFetchText(normalizedUrl);
|
||||
|
||||
// TODO: resolution and size can be merged: <span class="downloadbox__size">1280x720, 699.8 MB</span>
|
||||
const resolutionMatch = html.match(/(\d{3,}x\d{3,}),/);
|
||||
const resolution = resolutionMatch && resolutionMatch[1] ? scanFromResolution(resolutionMatch[1]) : undefined;
|
||||
|
||||
const sizeMatch = html.match(/([\d.]+) ?([GM]B)/);
|
||||
const size = sizeMatch && sizeMatch[1] && sizeMatch[2] ? `${sizeMatch[1]} ${sizeMatch[2]}` : undefined;
|
||||
|
||||
return {
|
||||
url: await extractUrlFromPacked(html, [/sources:\[{file:"(.*?)"/]),
|
||||
name: `WebStreamr ${resolution}`,
|
||||
title: `${this.label} | 💾 ${size} | ${iso2ToFlag(language)}`,
|
||||
behaviorHints: {
|
||||
group: `webstreamr-${this.id}`,
|
||||
},
|
||||
resolution,
|
||||
size,
|
||||
};
|
||||
};
|
||||
}
|
||||
10
src/embed-extractor/index.ts
Normal file
10
src/embed-extractor/index.ts
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
import { Dropload } from './Dropload';
|
||||
import { SuperVideo } from './SuperVideo';
|
||||
import { EmbedExtractor } from './types';
|
||||
|
||||
type EmbedExtractorRegistryType = Record<string, EmbedExtractor>;
|
||||
|
||||
export const EmbedExtractorRegistry: EmbedExtractorRegistryType = {
|
||||
dropload: new Dropload(),
|
||||
supervideo: new SuperVideo(),
|
||||
};
|
||||
9
src/embed-extractor/types.ts
Normal file
9
src/embed-extractor/types.ts
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
import { StreamWithMeta } from '../types';
|
||||
|
||||
export interface EmbedExtractor {
|
||||
readonly id: string;
|
||||
|
||||
readonly label: string;
|
||||
|
||||
readonly extract: (embedUrl: string, language: string) => Promise<StreamWithMeta>;
|
||||
}
|
||||
|
|
@ -1,17 +1,7 @@
|
|||
import fs from 'node:fs';
|
||||
import slugify from 'slugify';
|
||||
import { KinoKiste } from './KinoKiste';
|
||||
import { cachedFetchText } from '../utils';
|
||||
|
||||
const kinokiste = new KinoKiste();
|
||||
|
||||
jest.mock('./../utils/fetch', () => ({
|
||||
cachedFetchText: jest.fn(),
|
||||
}));
|
||||
(cachedFetchText as jest.Mock).mockImplementation(
|
||||
(url: string) => fs.readFileSync(`${__dirname}/fixtures/kinokiste/${slugify(url)}`).toString(),
|
||||
);
|
||||
|
||||
describe('KinoKiste', () => {
|
||||
test('does not handle non imdb series', async () => {
|
||||
const streams = await kinokiste.handle('kitsu:123');
|
||||
|
|
@ -31,22 +21,22 @@ describe('KinoKiste', () => {
|
|||
expect(streams).toHaveLength(2);
|
||||
expect(streams[0]).toStrictEqual({
|
||||
behaviorHints: {
|
||||
group: 'webstreamr-kinokiste-supervideo',
|
||||
group: 'webstreamr-supervideo',
|
||||
},
|
||||
name: 'WebStreamr DE | 720p',
|
||||
name: 'WebStreamr 720p',
|
||||
resolution: '720p',
|
||||
size: '699.8 MB',
|
||||
title: 'KinoKiste - supervideo | 💾 699.8 MB | 🇩🇪',
|
||||
title: 'SuperVideo | 💾 699.8 MB | 🇩🇪',
|
||||
url: expect.stringMatching(/^https:\/\/.*?.m3u8/),
|
||||
});
|
||||
expect(streams[1]).toStrictEqual({
|
||||
behaviorHints: {
|
||||
group: 'webstreamr-kinokiste-dropload',
|
||||
group: 'webstreamr-dropload',
|
||||
},
|
||||
name: 'WebStreamr DE | 720p',
|
||||
name: 'WebStreamr 720p',
|
||||
resolution: '720p',
|
||||
size: '699.8 MB',
|
||||
title: 'KinoKiste - dropload | 💾 699.8 MB | 🇩🇪',
|
||||
title: 'Dropload | 💾 699.8 MB | 🇩🇪',
|
||||
url: expect.stringMatching(/^https:\/\/.*?.m3u8/),
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
import * as cheerio from 'cheerio';
|
||||
import slugify from 'slugify';
|
||||
import { Handler } from './types';
|
||||
import { ImdbId, cachedFetchText, fulfillAllPromises, parseImdbId, parsePackedEmbed } from '../utils';
|
||||
import { ImdbId, cachedFetchText, fulfillAllPromises, parseImdbId } from '../utils';
|
||||
import { EmbedExtractorRegistry } from '../embed-extractor';
|
||||
|
||||
export class KinoKiste implements Handler {
|
||||
readonly id = 'kinokiste';
|
||||
|
|
@ -24,23 +25,27 @@ export class KinoKiste implements Handler {
|
|||
return Promise.resolve([]);
|
||||
}
|
||||
|
||||
const streamsPromises = (await this.fetchStreamData(imdbId, seriesPageUrl))
|
||||
.map(async ({ group, url }) => {
|
||||
const { url: finalUrl, resolution, size } = await parsePackedEmbed(url);
|
||||
const html = await cachedFetchText(seriesPageUrl);
|
||||
|
||||
return {
|
||||
url: finalUrl,
|
||||
name: `WebStreamr DE | ${resolution}`,
|
||||
title: `${this.label} - ${group} | 💾 ${size} | 🇩🇪`,
|
||||
behaviorHints: {
|
||||
group: `webstreamr-${this.id}-${group}`,
|
||||
},
|
||||
resolution,
|
||||
size,
|
||||
};
|
||||
});
|
||||
const $ = cheerio.load(html);
|
||||
|
||||
return fulfillAllPromises(streamsPromises);
|
||||
return fulfillAllPromises(
|
||||
$(`[data-num="${imdbId.series}x${imdbId.episode}"]`).map((_i, urlWrapperElement) => {
|
||||
return $(urlWrapperElement).siblings('.mirrors').children('[data-link]')
|
||||
.map((_i, urlElement) => ({
|
||||
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
||||
embedId: slugify($(urlElement).attr('data-m')!),
|
||||
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
||||
embedUrl: $(urlElement).attr('data-link')!
|
||||
.replace(/^(https:)?\/\//, 'https://'),
|
||||
}))
|
||||
.toArray()
|
||||
.filter(({ embedId }) => embedId.match(/^(dropload|supervideo)$/));
|
||||
})
|
||||
.toArray()
|
||||
.map(({ embedId, embedUrl }) => EmbedExtractorRegistry[embedId]?.extract(embedUrl, 'de'))
|
||||
.filter(stream => stream !== undefined),
|
||||
);
|
||||
};
|
||||
|
||||
private fetchSeriesPageUrl = async (imdbId: ImdbId): Promise<string | undefined> => {
|
||||
|
|
@ -52,25 +57,4 @@ export class KinoKiste implements Handler {
|
|||
.map((_i, el) => $(el).attr('href'))
|
||||
.get(0);
|
||||
};
|
||||
|
||||
private fetchStreamData = async (imdbId: ImdbId, seriesPageUrl: string): Promise<{ group: string; url: string }[]> => {
|
||||
const html = await cachedFetchText(seriesPageUrl);
|
||||
|
||||
const $ = cheerio.load(html);
|
||||
|
||||
return $(`[data-num="${imdbId.series}x${imdbId.episode}"]`).map((_i, urlWrapperElement) => {
|
||||
return $(urlWrapperElement).siblings('.mirrors').children('[data-link]')
|
||||
.map((_i, urlElement) => ({
|
||||
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
||||
group: slugify($(urlElement).attr('data-m')!),
|
||||
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
||||
url: $(urlElement).attr('data-link')!
|
||||
.replace(/^(https:)?\/\//, 'https://')
|
||||
.replace('/e/', '/')
|
||||
.replace('/embed-', '/'),
|
||||
}))
|
||||
.toArray()
|
||||
.filter(({ url }) => url.match(/dropload|supervideo/));
|
||||
}).toArray();
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,17 +1,7 @@
|
|||
import fs from 'node:fs';
|
||||
import slugify from 'slugify';
|
||||
import { MeineCloud } from './MeineCloud';
|
||||
import { cachedFetchText } from '../utils';
|
||||
|
||||
const meinecloud = new MeineCloud();
|
||||
|
||||
jest.mock('./../utils/fetch', () => ({
|
||||
cachedFetchText: jest.fn(),
|
||||
}));
|
||||
(cachedFetchText as jest.Mock).mockImplementation(
|
||||
(url: string) => fs.readFileSync(`${__dirname}/fixtures/meinecloud/${slugify(url)}`).toString(),
|
||||
);
|
||||
|
||||
describe('MeineCloud', () => {
|
||||
test('does not handle non imdb movies', async () => {
|
||||
const streams = await meinecloud.handle('kitsu:123');
|
||||
|
|
@ -31,22 +21,22 @@ describe('MeineCloud', () => {
|
|||
expect(streams).toHaveLength(2);
|
||||
expect(streams[0]).toStrictEqual({
|
||||
behaviorHints: {
|
||||
group: 'webstreamr-meinecloud-supervideo',
|
||||
group: 'webstreamr-supervideo',
|
||||
},
|
||||
name: 'WebStreamr DE | 720p',
|
||||
name: 'WebStreamr 720p',
|
||||
resolution: '720p',
|
||||
size: '1.0 GB',
|
||||
title: 'MeineCloud - supervideo | 💾 1.0 GB | 🇩🇪',
|
||||
title: 'SuperVideo | 💾 1.0 GB | 🇩🇪',
|
||||
url: expect.stringMatching(/^https:\/\/.*?.m3u8/),
|
||||
});
|
||||
expect(streams[1]).toStrictEqual({
|
||||
behaviorHints: {
|
||||
group: 'webstreamr-meinecloud-dropload',
|
||||
group: 'webstreamr-dropload',
|
||||
},
|
||||
name: 'WebStreamr DE | 1080p',
|
||||
name: 'WebStreamr 1080p',
|
||||
resolution: '1080p',
|
||||
size: '1.3 GB',
|
||||
title: 'MeineCloud - dropload | 💾 1.3 GB | 🇩🇪',
|
||||
title: 'Dropload | 💾 1.3 GB | 🇩🇪',
|
||||
url: expect.stringMatching(/^https:\/\/.*?.m3u8/),
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
import * as cheerio from 'cheerio';
|
||||
import slugify from 'slugify';
|
||||
import { Handler } from './types';
|
||||
import { cachedFetchText, fulfillAllPromises, parseImdbId, parsePackedEmbed } from '../utils';
|
||||
import { cachedFetchText, fulfillAllPromises, parseImdbId } from '../utils';
|
||||
import { EmbedExtractorRegistry } from '../embed-extractor';
|
||||
|
||||
export class MeineCloud implements Handler {
|
||||
readonly id = 'meinecloud';
|
||||
|
|
@ -20,32 +21,19 @@ export class MeineCloud implements Handler {
|
|||
const html = await cachedFetchText(`https://meinecloud.click/movie/${parseImdbId(id).id}`);
|
||||
|
||||
const $ = cheerio.load(html);
|
||||
const streamsPromises = $('[data-link!=""]')
|
||||
.map((_i, el) => ({
|
||||
group: slugify($(el).text()),
|
||||
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
||||
url: $(el).attr('data-link')!
|
||||
.replace(/^(https:)?\/\//, 'https://')
|
||||
.replace('/e/', '/')
|
||||
.replace('/embed-', '/'),
|
||||
}))
|
||||
.toArray()
|
||||
.filter(({ url }) => url.match(/dropload|supervideo/))
|
||||
.map(async ({ group, url }) => {
|
||||
const { url: finalUrl, resolution, size } = await parsePackedEmbed(url);
|
||||
|
||||
return {
|
||||
url: finalUrl,
|
||||
name: `WebStreamr DE | ${resolution}`,
|
||||
title: `${this.label} - ${group} | 💾 ${size} | 🇩🇪`,
|
||||
behaviorHints: {
|
||||
group: `webstreamr-${this.id}-${group}`,
|
||||
},
|
||||
resolution,
|
||||
size,
|
||||
};
|
||||
});
|
||||
|
||||
return fulfillAllPromises(streamsPromises);
|
||||
return fulfillAllPromises(
|
||||
$('[data-link!=""]')
|
||||
.map((_i, el) => ({
|
||||
embedId: slugify($(el).text()),
|
||||
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
||||
embedUrl: $(el).attr('data-link')!
|
||||
.replace(/^(https:)?\/\//, 'https://'),
|
||||
}))
|
||||
.toArray()
|
||||
.filter(({ embedId }) => embedId.match(/^(dropload|supervideo)$/))
|
||||
.map(({ embedId, embedUrl }) => EmbedExtractorRegistry[embedId]?.extract(embedUrl, 'de'))
|
||||
.filter(stream => stream !== undefined),
|
||||
);
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,4 @@
|
|||
import { Stream } from 'stremio-addon-sdk';
|
||||
|
||||
export type HandlerStream = Stream & { resolution: string | undefined; size: string | undefined };
|
||||
import { StreamWithMeta } from '../types';
|
||||
|
||||
export interface Handler {
|
||||
readonly id: string;
|
||||
|
|
@ -11,5 +9,5 @@ export interface Handler {
|
|||
|
||||
readonly languages: string[];
|
||||
|
||||
readonly handle: (id: string) => Promise<HandlerStream[]>;
|
||||
readonly handle: (id: string) => Promise<StreamWithMeta[]>;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import express, { NextFunction, Request, Response } from 'express';
|
||||
import { landingTemplate } from './landingTemplate';
|
||||
import { Handler, HandlerStream, KinoKiste, MeineCloud } from './handler';
|
||||
import { Handler, KinoKiste, MeineCloud } from './handler';
|
||||
import { buildManifest, fulfillAllPromises, logInfo } from './utils';
|
||||
import { Config } from './types';
|
||||
import { Config, StreamWithMeta } from './types';
|
||||
|
||||
const addon = express();
|
||||
|
||||
|
|
@ -81,7 +81,7 @@ addon.get('/:config/stream/:type/:id.json', async function (req: Request, res: R
|
|||
return;
|
||||
}
|
||||
|
||||
const streams: HandlerStream[] = [];
|
||||
const streams: StreamWithMeta[] = [];
|
||||
const handlerPromises = selectedHandlers.map(async (handler) => {
|
||||
if (!handler.contentTypes.includes(type)) {
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
import { Manifest, ManifestConfig } from 'stremio-addon-sdk';
|
||||
import { Manifest, ManifestConfig, Stream } from 'stremio-addon-sdk';
|
||||
|
||||
export type ManifestWithConfig = Manifest & { config: ManifestConfig[] };
|
||||
|
||||
export type Config = Record<string, string>;
|
||||
|
||||
export type StreamWithMeta = Stream & { resolution: string | undefined; size: string | undefined };
|
||||
|
|
|
|||
|
|
@ -1,58 +1,28 @@
|
|||
import { unpack } from 'unpacker';
|
||||
import { cachedFetchText } from './fetch';
|
||||
import { parsePackedEmbed } from './embed';
|
||||
import { extractUrlFromPacked } from './embed';
|
||||
|
||||
jest.mock('unpacker', () => ({
|
||||
unpack: jest.fn(),
|
||||
}));
|
||||
|
||||
jest.mock('./fetch', () => ({
|
||||
cachedFetchText: jest.fn(),
|
||||
}));
|
||||
|
||||
describe('unpackEmbedUrl', () => {
|
||||
test('throw if no embed was found', async () => {
|
||||
(cachedFetchText as jest.Mock).mockReturnValue(
|
||||
Promise.resolve('<html></html>'),
|
||||
);
|
||||
|
||||
await expect(parsePackedEmbed('https://some-url.test')).rejects.toThrow('No p.a.c.k.e.d string found on https://some-url.test');
|
||||
describe('extractUrlFromPacked', () => {
|
||||
test('throw if no embed was found', () => {
|
||||
expect(extractUrlFromPacked('', [/eval/])).rejects.toThrow('No p.a.c.k.e.d string found on https://some-url.test');
|
||||
});
|
||||
|
||||
test('throw if no link was found', async () => {
|
||||
test('throw if no link was found', () => {
|
||||
(unpack as jest.Mock).mockReturnValue('some-unexpected-data');
|
||||
(cachedFetchText as jest.Mock).mockReturnValue(
|
||||
Promise.resolve('<html><script>(eval(function(p,a,c,k,e,d){...}))</script></html>'),
|
||||
);
|
||||
|
||||
await expect(parsePackedEmbed('https://some-url.test')).rejects.toThrow('Could not find a stream link on https://some-url.test');
|
||||
expect(extractUrlFromPacked('eval(function(p,a,c,k,e,d){...})', [/eval/])).rejects.toThrow('Could not find a stream link on https://some-url.test');
|
||||
});
|
||||
|
||||
test('finds link with resolution and size', async () => {
|
||||
test('finds link', async () => {
|
||||
(unpack as jest.Mock).mockReturnValue('{sources:[{file:"https://streaming-url.mp4"}');
|
||||
(cachedFetchText as jest.Mock).mockReturnValue(
|
||||
Promise.resolve('<html><body>Something to stream;1280x720, 834.6 MB<script>(eval(function(p,a,c,k,e,d){...}))</script></body></html>'),
|
||||
);
|
||||
|
||||
const parsePackedEmbedResult = await parsePackedEmbed('https://some-url.test');
|
||||
expect(parsePackedEmbedResult).toStrictEqual({
|
||||
url: 'https://streaming-url.mp4',
|
||||
resolution: '720p',
|
||||
size: '834.6 MB',
|
||||
});
|
||||
});
|
||||
|
||||
test('resolution and size return undefined if not found', async () => {
|
||||
(unpack as jest.Mock).mockReturnValue('{sources:[{file:"https://streaming-url.mp4"}');
|
||||
(cachedFetchText as jest.Mock).mockReturnValue(
|
||||
Promise.resolve('<html><body>Something to stream<script>(eval(function(p,a,c,k,e,d){...}))</script></body></html>'),
|
||||
);
|
||||
|
||||
const parsePackedEmbedResult = await parsePackedEmbed('https://some-url.test');
|
||||
expect(parsePackedEmbedResult).toStrictEqual({
|
||||
url: 'https://streaming-url.mp4',
|
||||
resolution: undefined,
|
||||
size: undefined,
|
||||
});
|
||||
expect(extractUrlFromPacked('eval(function(p,a,c,k,e,d){...})', [/eval/])).toBe('https://streaming-url.mp4');
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,49 +1,19 @@
|
|||
import { unpack } from 'unpacker';
|
||||
import { cachedFetchText } from './fetch';
|
||||
import { scanFromResolution } from './resolution';
|
||||
|
||||
const LINK_REGEXPS = [
|
||||
/sources:\[{file:"(.*?)"/, // dropload, supervideo
|
||||
];
|
||||
|
||||
interface ParsePackedEmbedResult {
|
||||
url: string;
|
||||
resolution: string | undefined;
|
||||
size: string | undefined;
|
||||
}
|
||||
|
||||
const findResolution = (html: string): string | undefined => {
|
||||
const match = html.match(/(\d{3,}x\d{3,}),/);
|
||||
|
||||
return match && match[1] ? scanFromResolution(match[1]) : undefined;
|
||||
};
|
||||
|
||||
const findSize = (html: string): string | undefined => {
|
||||
const sizeMatch = html.match(/([\d.]+) ?([GM]B)/);
|
||||
|
||||
return sizeMatch && sizeMatch[1] && sizeMatch[2] ? `${sizeMatch[1]} ${sizeMatch[2]}` : undefined;
|
||||
};
|
||||
|
||||
export const parsePackedEmbed = async (url: string): Promise<ParsePackedEmbedResult> => {
|
||||
const html = await cachedFetchText(url);
|
||||
|
||||
export const extractUrlFromPacked = (html: string, linkRegExps: RegExp[]): string => {
|
||||
const evalMatch = html.match(/eval\(function\(p,a,c,k,e,d\).*\)\)/);
|
||||
if (!evalMatch) {
|
||||
throw new Error(`No p.a.c.k.e.d string found on ${url}`);
|
||||
throw new Error(`No p.a.c.k.e.d string found`);
|
||||
}
|
||||
|
||||
const unpacked = unpack(evalMatch[0]);
|
||||
|
||||
for (const linkRegexp of LINK_REGEXPS) {
|
||||
for (const linkRegexp of linkRegExps) {
|
||||
const linkMatch = unpacked.match(linkRegexp);
|
||||
if (linkMatch && linkMatch[1]) {
|
||||
return {
|
||||
url: 'https://' + linkMatch[1].replace(/^(https:)?\/\//, ''),
|
||||
resolution: findResolution(html),
|
||||
size: findSize(html),
|
||||
};
|
||||
return 'https://' + linkMatch[1].replace(/^(https:)?\/\//, '');
|
||||
}
|
||||
}
|
||||
|
||||
throw new Error(`Could not find a stream link on ${url}`);
|
||||
throw new Error(`Could not find a stream link in embed`);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import { cachedFetchText } from './fetch';
|
||||
const realFetchModule = jest.requireActual('./fetch');
|
||||
const cachedFetchText = realFetchModule.cachedFetchText;
|
||||
|
||||
global.console = {
|
||||
...console,
|
||||
|
|
|
|||
|
|
@ -5,3 +5,4 @@ export * from './language';
|
|||
export * from './log';
|
||||
export * from './manifest';
|
||||
export * from './promise';
|
||||
export * from './resolution';
|
||||
|
|
|
|||
Loading…
Reference in a new issue