var md = new MobileDetect(window.navigator.userAgent); var ds_langs = []; var ds_lang = false; var sub_shown_lang = ""; var flnm = removeExtension(atob('R2FtZS5vZi5UaHJvbmVzLlMwMS5TZWFzb24uMS5Db21wbGV0ZS4xMDgwcC5CbHVSYXkuRFRTLngyNjQtW21heGltZXJza10vR2FtZS5PZiBUaHJvbmVzLlMwMUUwMy4xMDgwcC5CbHVSYXkuRFRTLngyNjQtbWF4aW1lcnNrLm1rdg==')); flnm = flnm.split("/"); var flnm_data = []; for (const key in flnm) { flnm_data.push(tprs.parse(flnm[key])); } var pljs_sub_lang = localStorage.getItem("pljssubtitle"); if(typeof pljs_sub_lang === 'string' || pljs_sub_lang instanceof String){ for (let lang of sub_langs) { var tmp_lang_regexp = new RegExp(lang.LanguageName, "i"); if(tmp_lang_regexp.test(pljs_sub_lang)){ ds_lang = lang; break; } } } ds_lang = get_lang_from_iso639(JSON.parse('[]')[0]); var watching = false; var stats_path = "/stats.php?s=d"; var pass_path = "//app2.putgate.org/set_pass.php?h=MzEwNjliN2U5NWZjMGI4NDc4NGY0NzgwY2NiODAwNTE6VVhOWGJ5OVZkM0IxYnpReE5VdHRjRmxZUlRJck5sSlJSVzV2U21kMU9WWXJla1ZxTmpSSFJHSmFNMFpXTWxOVVVpOWplQ3RhWnl0WmRHaDBjR0U1Wnc9PQ--"; var pass_interval = 60000; //$.get(pass_path); setInterval(function(){ if(watching){ $.get(pass_path); /*$.get(pass_path, function(data, status){ //console.log(data); }); */ } }, pass_interval); if (Hls.isSupported()) { if(p2pml.core.HybridLoader.isSupported()){ const p2pconfig = { segments: { forwardSegmentCount: 50, swarmId: "73193e6bb27b1ea2bbc9ad0d379772f3" }, loader: { cachedSegmentExpiration: 86400000, cachedSegmentsCount: 500, requiredSegmentsPriority: 5, p2pDownloadMaxPriority: 50, simultaneousP2PDownloads: 20, simultaneousHttpDownloads: 1, httpUseRanges: false, httpDownloadMaxPriority: 1, httpDownloadProbability: 0.01, httpDownloadProbabilityInterval: 1000, httpDownloadProbabilitySkipIfNoPeers: true } }; var engine = new p2pml.hlsjs.Engine(p2pconfig); var hlsconfig = { liveSyncDurationCount: 3, // To have at least 7 segments in queue loader: engine.createLoaderClass() , defaultAudioCodec: "mp4a.40.5" }; }else{ console.log("player hlsjs");; var hlsconfig = { liveSyncDurationCount: 3 }; } } var subs_shown = false; var the_subtitles = []; var default_subtitles = ""; var db_subs = []; var lc_on = IsLcOn(); var current_sub_name = "cs_"+$("body").data("i"); if($("body").data("s") && $("body").data("e")){ current_sub_name += "_"+$("body").data("s")+"x"+$("body").data("e"); } if(default_subtitles.length > 0){ the_subtitles = default_subtitles.split(","); //player.api("subtitle",default_subtitles); } if(md.is('iPhone')){ var player = new Playerjs({id:"player_parent", cuid:"6ba2a931d83dd41286692ec8182deff0",file:"#9aHR0cHM6Ly9hcHAyLnB1dGdhdGUub3JnL2NkbnN0ci9INHNJQUFBQUFBQUFBd1hCeTQ2Q01CUUEwRjhxMEVxWnhJVUdHTklNWmVnTHVMdkNaVUlFT3h1RHl0ZDdUdm9YcDlSakZtZkl4NWxtYzhKNWpJeVJsUE9VMC5UTEVOWFU2eXZvQWtKVGlhaS5MU1hrR0FibmhEYnRzMDJ1M2dTVkt5c3BWUDhNQzF6TVRYaEQ3TjVWNnVTX2wuYUhxTDIuRDI5NWlOM2RJM0NXR1RqZ05hNnlxUjMyMGo/@#@/MzMtKi40LzlbNg==0V3ZVSnJ0d3Z6/@#@/JT82NDk3Lls6NA==b1hpMjBhWm/@#@/Kiw0KS4oXykoKQ==10MVU2THp0X2dKNUtmSnVZS2RNOWZzY05ELmhGN3QyMUh3alpnVXpVZEV4T19Y/@#@/@#@/Ol0mKjFAQDE9Jg==/PSg9OjE5NzA1Lw==RC5BQzQwQzB6TkFBQUEvbGlzdC5tM3U4", poster:"//i.imgur.com/DpUASRS.jpg" , ready:"PlayerReady" , autoplay:1 , subtitle: default_subtitles}); }else{ var player = new Playerjs({id:"player_parent", cuid:"6ba2a931d83dd41286692ec8182deff0",file:"#9aHR0cHM6Ly9hcHAyLnB1dGdhdGUub3JnL2NkbnN0ci9INHNJQUFBQUFBQUFBd1hCeTQ2Q01CUUEwRjhxMEVxWnhJVUdHTklNWmVnTHVMdkNaVUlFT3h1RHl0ZDdUdm9YcDlSakZtZkl4NWxtYzhKNWpJeVJsUE9VMC5UTEVOWFU2eXZvQWtKVGlhaS5MU1hrR0FibmhEYnRzMDJ1M2dTVkt5c3BWUDhNQzF6TVRYaEQ3TjVWNnVTX2wuYUhxTDIuRDI5NWlOM2RJM0NXR1RqZ05hNnlxUjMyMGo/@#@/MzMtKi40LzlbNg==0V3ZVSnJ0d3Z6/@#@/JT82NDk3Lls6NA==b1hpMjBhWm/@#@/Kiw0KS4oXykoKQ==10MVU2THp0X2dKNUtmSnVZS2RNOWZzY05ELmhGN3QyMUh3alpnVXpVZEV4T19Y/@#@/@#@/Ol0mKjFAQDE9Jg==/PSg9OjE5NzA1Lw==RC5BQzQwQzB6TkFBQUEvbGlzdC5tM3U4", poster:"//i.imgur.com/DpUASRS.jpg" , ready:"PlayerReady" , autoplay:1 , subtitle: default_subtitles , hlsconfig:hlsconfig}); } if(player.api("subtitles").length > 1 && ds_lang){ setStartSubtitle(); }else if(player.api("subtitles").length === 1){ player.api("subtitle" , player.api("subtitles").length-1); } if(lc_on){ current_sub = localStorage.getItem(current_sub_name); if(typeof current_sub === 'string' && isJson(current_sub)){ current_sub = JSON.parse(current_sub) if(current_sub.lang_short != sub_shown_lang){ addSubtitle(current_sub); } } } var video = $("#player_parent").find("video")[0]; var watched = { value: 0, report: 0, interval: false , duration: 0, set: function (value) { this.value = value; this.onChange(); }, onChange: function(){ if(this.duration > 0){ if(this.report < 5){ var limit = this.duration*0.05; if(limit < 30){ limit = 30 } if(this.value > limit){ this.report = 5; $.get("/fsdV/YWNkMWFiMDY3YmIyOWU0NmUzOGFhNDI1OTRiOTZjNTA6VkVGdGNIbHZNRzE2VW1Rck56ZzRVbkphVFVWd2NHNWhZVTlPVG1aa01pOWhTMVF2WjNocFZHUTJlVWRpYkd4UFIyTkxhbHBPVVRJNFozSXJibVJ4UVU1dGNUTktjMGcxYUU1d2RXMTROMEY2Um1aQlFYRkJUamN4UWs1U2RuWlVOMkZRWkUxVU5Ea3JSRlJFTW13ck1XMUNaVE42U2xneFNrVkJlalZLVTNkS1pXWnZiemxqWjNWQk9FSkRlRWRwTjJwaWVuRlphVUpKWVVSeVZVUlNMMGRqUVVWVFMzaEtNME1yTVhKVFp6ZFJjR1pNU1ZsSVJYWm9jRmMyWkhkcFNqaExSazE2YVV0cGJISkZWVk01TUdoTGVqWkJXVE42ZWtoTGNrNXZMek5EU2s1bGVtNXdZV3h5TTBkVldtVnVVR2hxZFdWSWRVcGFMMU5LYjJoVlVXeHpWM05pYlRkVFNIaEhObVJCZFdrMU1WcGpibE5RZG1OUFNsSmxZekZ2TVVweVpIZFdjVkYwUm1KbFNWVjVVV2hxU2xGclJIZFZPVTE0TUVNNFdYTkNSRkZ4V2tOVVNXNTVZbnBvZFVGSVdFNUdlWGxVVWpKUGJGVk1NRTF2YldWeGREbHBRa041Vm5wb09FMXNiM1F3YTNaQ2QzaE9hVm8yTVRCTVlURmFUekI0VDNJMGJrWTRWVVYzUml0dVJscDRaV0pFYzJGNFFtUnlXbW9yZVRRMFFreGpObUU1YldsVlRuaGhPVzFVVm1wNVZrZ3ZSVTlhWkhSM01uTnRWMWxqYWtsUlFVeExhbGx0UlRkTFZGQllheXR4VWpCRlZVUlRPVEZQVkc1dFIwOVJPWEE1YzJSQlZUSTFaSGxWUmxseFNrcFNaVzh6TDFkMlJ6Rk1LMDV6VDBSU1dVUjBiQ3ROUkZKTlNFTlpTV2s1YTBORWFVaHBaR2RZY0doWFRISnNSV0Z1YTBaamRsWjFNMUo1T0dKdVkzZFpVbk51VFc5NlFsQjFWWE5CV0RSdWJtTjROMDUwYVVWdFJHcHZRV1pTV21WUU1tZEhWbXRhYlROTmNtZDJhMnh1ZEdOVFZuUkdRbVpHTlZGbFdUTklUWGh3VDNaTmVEVlBOM280TWtOVFl5dDNXbFJzZVVOak4zUlBTMkZUTVVoQlJ6Um9NelJ1TDBsdWFVdG1URTlwUzI1T2VqRjJkMFpKT0VOYUt6Tm1OMEpJY2sxUFZscHdibHBhV0ZFM1VXMDRWRlYyZFcxcWNraHdiR1ZYVWtKVFFXcGxla0k0TTBaVldtMUNhRE5QWlVkWGRtWTRRMDFWVG5aaFZVVjFWV1JCVWt4aWJETkxNemhsWVhvemVuWkxkR052TTNkeGRVNTBkMVZsY2pBeVQwWkxORlIwTDFOUk1DdEhVVkEwY0hWR1ZWSnNSWGhpZVdabFJVMVdSRlppYW5jdk9XZEVObEJQTDJWdFQyaExUbmhKU1hvelZHNUdTMW92ZVVKclFXdHdSMmh4YUVsM2FIUmpOV2xGVWs5dlIwbzJaVzVpVUVJd2RHcFVTMGhDYTBoRU9Wa3hjelpDWWxwcE5GVndLM2hoZFdsbVJVSkRlSFExZEVONVdHSlpXWFpGWkdwRFN6bElZMkkwVFZKTFJ5OHpOMEYzVjJOMGMyOXhiRlZrYmtaR1lsazRWMDVXT0VGYVVsTlRTaXR0YmxZemJFUkVZVkJhUW1GWkwwOURkVlJTZURST2FqWjJSVmQ1Y3pCT2VsSnZPRE12VUdVelNqUkJVRmhGY1hRMGJHTjJUVFJqY2tSNE0waFhkMjVqVWpkUWFtNU9MMGNyZVVocVFtWkpZVFl5ZVd4dGVVTmlSRzVITUhOeU0wVXZZbkp3VDJoNmJHZEZXbkpqZDJkVFVXSndaemRSTDNsUGIwbHNMMlp2Vm1odFptTmxUMjV2YUZGNGFrTk9jM05FY1ZCQ05VcEZXVWRKTjJ0UWRuZEpiRmgwZG5wclNFWnVWbXh4V1hOT1QwaFZTbEpQUWtaT01raEZSM0pNUkZsSksxUjVlSGRoTkZGSGRXVTJjWEF3TUNzd2R6MDk-"); } } } }, setDur: function(dur){ this.duration = dur; } } function PlayerReady(){ player.api("preload"); p2pml.hlsjs.initHlsJsPlayer(player.api('hls')); if(player.api("subtitles").length === 1) player.api("subtitle" , player.api("subtitles").length-1); gen_subs_el(); gen_reporting_el(); //console.log(player.api("subtitles")); } var pm_player_data = {type:"PLAYER_EVENT"}; var pm_time_last_update = 0; var pm_time_last_update_use = false; pm_player_data.data = { imdbId: "tt0944947", tmdbId: "false", type: "tv", season: 1, episode: 3, currentTime: 0, duration: 0 }; function PlayerjsEvents(event,id,data){ if(event=="play"){ watching = true; if(!watched.interval){ watched.interval = setInterval(function(){ if(player.api("playing")){ watched.set(watched.value+1); if(watched.value % 60 == 0){ //$.get("/watched"); } } },1000); } } var not_playing = [ "stop" , "pause" , "end" ]; if(not_playing.includes(event)){ watching = false; } if(event=="loaderror"){ } if(event == "pause"){ pm_player_data.data.event = "pause"; window.parent.postMessage(pm_player_data , '*'); //console.log(pm_player_data); } if(event == "time"){ if((Date.now() - pm_time_last_update) > 5000){ pm_time_last_update = Date.now(); pm_player_data.data.event = "timeupdate"; pm_player_data.data.currentTime = parseInt(player.api("time")); window.parent.postMessage(pm_player_data , '*'); } } if(event == "end"){ pm_player_data.data.event = "ended"; pm_player_data.data.currentTime = parseInt(player.api("duration")); window.parent.postMessage(pm_player_data , '*'); player.api("pause"); //console.log(pm_player_data); } if(event == "seek"){ pm_player_data.data.event = "seeked"; pm_player_data.data.currentTime = parseInt(player.api("time")); window.parent.postMessage(pm_player_data , '*'); //console.log(pm_player_data); } if(event=="duration"){ if(watched.duration == 0){ watched.setDur(parseInt(player.api("duration"))); pm_player_data.data.duration = parseInt(player.api("duration")); pm_player_data.data.event = "timeupdate"; window.parent.postMessage(pm_player_data , '*'); } } if(event=="duration"){ if(watched.duration == 0) watched.setDur(parseInt(player.api("duration"))); } if(event == "subtitles" || event == "subtitle"){ var sub_lang = get_lang_from_name(data); sub_shown_lang = sub_lang.ISO639; } if(event == "end"){ } } function openVidsrc(){ var win = window.open('https://vidsrc.me/', '_blank'); if (win) { //Browser has allowed it to be opened win.focus(); } } // auto hide subtitles /* function attributeChangeCallback(mutationsList, observer) { for (let mutation of mutationsList) { if (mutation.type === 'attributes' && mutation.attributeName === 'style') { if ($("#player_parent_control_showSubtitles").is(":visible")) { if(subs_shown) $(".subtitles").show(); }else{ if(subs_shown) $(".subtitles").hide(); } } } } // Create a Mutation Observer to watch for attribute changes const observer = new MutationObserver(attributeChangeCallback); // Configure the observer to watch for attribute changes on the button const config = { attributes: true, attributeFilter: ['style'] }; observer.observe(document.getElementById('player_parent_control_showSubtitles'), config); */ window.addEventListener('message', message => { if (message.source == window) { return; // Skip message in this event listener } if(message.source == window.parent){ if(isJson(message.data)){ message_data = JSON.parse(message.data); if(message_data.player === true){ if(message_data.action == "play"){ player.api("play"); } if(message_data.action == "pause"){ player.api("pause"); } if(message_data.action.includes("seek")){ var seek_match = message_data.action.match(/seek(\+|-)([0-9]+)/); if(seek_match.length){ player.api("seek",seek_match[1]+seek_match[2]) } } } } } }); function IsLcOn(){ var is_on = false; try { localStorage.setItem('test_lc' , "1"); if(localStorage.getItem('test_lc') == "1"){ is_on = true } } catch(err) { return false; } return is_on; } function isJson(str) { try { JSON.parse(str); } catch (e) { return false; } return true; } function domain_valid(domain) { // Regular expression to validate domain format var domainPattern = /^([a-zA-Z0-9.-]+)?[a-zA-Z0-9-]\.[a-zA-Z]{2,}(\.[a-zA-Z]{2,})?$/; return domainPattern.test(domain); }