Skip to content

Instantly share code, notes, and snippets.

@mamged
Created April 8, 2019 13:39
Show Gist options
  • Save mamged/e12832ec1b0513e37dca195ca4c9df6b to your computer and use it in GitHub Desktop.
Save mamged/e12832ec1b0513e37dca195ca4c9df6b to your computer and use it in GitHub Desktop.
{"version":3,"sources":["messaging.js","backend/utils.js","backend/ad-viewer.js","backend/ad-window-countdown.js","backend/text.js","backend/decrypt.js","backend/app.js","backend/app-update.js","backend/system-checks.js","backend/check-MID.js","backend/alert.js","backend/upzip-gdata.js","channels.js","notifications.js","ViaccessOrca/сonfigurationConstants.js","ViaccessOrca/ViaccessOrca.js","ViaccessOrca/voPlayerHelpers.js","Home.js","App.js","serviceWorker.js","index.js","backend/endpoints.js"],"names":["canShowAdsRequest","Promise","resolve","reject","intvl","setInterval","window","endpoints","ads","clearInterval","setTimeout","endpointsObj","global","getAdminMessage","_ref","Object","C_Users_m2_Videos_connect_kings_nwjs_src_ui_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__","C_Users_m2_Videos_connect_kings_nwjs_src_ui_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default","a","mark","_callee","cb","adminMsg","lastMsg","wrap","_context","prev","next","sent","curentAdminMessage","localStorage","getItem","txt","setItem","adminMessage","abrupt","stop","this","_x","apply","arguments","waitTillCloseAdsWindow","showAdsWindow","removeDimPlayer","clearTimeout","timeout","openOSBrowser","url","getNotifications","notif","fetch","then","response","json","data","isFirstTime","parseInt","getAccessToken","token","alert","restartApp","startAds","require","retreiveAdminMessage","chrome","runtime","reload","nw","Shell","openExternal","isReadyToShowApp","adClicked","adsUrl","canClose","countdownWidget","text","showAds","Window","open","adWindow","appWindow","setAlwaysOnTop","document","addEventListener","eval","JSON","stringify","querySelector","innerHTML","countdownstyle","askToClickhtml","currentWebViewUrl","replace","substr","slice","countdownhtml","countdownjs","on","e","hide","close","dontCloseAdsBeforeTime","_startAds","count","tmout","title","Math","max","console","log","t0","process","__webpack_require__","r","__webpack_exports__","d","module","exports","playingError","internetConnectionFailed","disabledChannel","adsClickTitle","adsClick","adsWillApear","wait5Sec","channelDisabled","password","decryptText","_decryptText","decrypted","decrypt","getCo","retreiveAdsEndpoint","checkUpdate","checkSystem","checkMID","unzipGData","allGood","js","platform","noAds","script","createElement","src","body","appendChild","start","isUpdateRequired","retreiveUpdateUrl","_checkUpdate","getProxySettings","exec","path","fs","beinPlayerPath","join","env","APPDATA","isRunning","query","cmd","concat","err","stdout","stderr","toLowerCase","indexOf","checkBeinPlayerInstalled","stat","stats","isDirectory","App","quit","proxy","http","https","res","rej","isSpying","status","sudo","regKey","Registry","hive","HKLM","key","cwd","get","item","value","executed","name","error","setWithSudo","set","REG_SZ","succss","gpuCachePath","LOCALAPPDATA","beinDataPath","getSize","_unzipGData","size","p","stderror","channels","idChannel","setCoGlobally","coObj","parse","getChannels","map","ch","stream","disabled","Notifications","state","showNotifications","isFetchingNotifications","notifications","newNotification","firstTime","_this2","asyncToGenerator","regenerator_default","_notifications","setState","isThereNewNotification","style","display","warn","localNotificaitons","_this3","_this$state","react_default","position","zIndex","id","type","className","onClick","dangerouslySetInnerHTML","__html","length","notification","i","openUrl","cursor","date","width","Component","regions","_dfpCodes","defineProperty","playerWindowParams","left","top","height","alwaysOnTop","ViaccessOrca","props","_this","classCallCheck","possibleConstructorReturn","getPrototypeOf","call","closeModal","isModalOpen","code","context","onRuntimeStatusChanged","event","newState","downloadRuntime","appVersion","sqph","split","appCoreVersion","Number","appPatchVersion","isPlayerOutOfDate","isInstalling","msg","playStream","authToken","isPlayerInit","isPlayingVOD","installerPath","asset","SQPHelper","viaccessorca","player","localization","uiParams","useClockForTimeshiftLive","launchStream","setVisibleOnAllWorkspaces","toggleAppName","setCustomerOverlay","_this4","playerError","customizationEvent","startService","location","_this5","firstCallTime","Date","now","channelToDisplay","_this6","media","channel","t","alphanetworks","drmLicenseAcquisitionUrl","play","initPlayer","currentChannel","classList","remove","_this7","clearChannelPlayingStatus","_this8","_ref2","customevent","errorCode","homeStyle","padding","Home","showAdminMsg","showAdRequest","waitAdsWindow","isReady","closeAdsWindow","closeWaitAlert","handlePlay","v","ev","currentTarget","add","refs","orca","getMessage","adsTimout","_callee2","_context2","t1","t2","src_ViaccessOrca_ViaccessOrca","ref","undefined","notifications_Notifications","listStyle","flexWrap","_","alt","index_es","closeOnOverlayClick","onClose","center","direction","color","fontSize","showCloseIcon","HashRouter","Route","exact","component","Boolean","hostname","match","invl","ReactDOM","render","src_App_0","getElementById","navigator","serviceWorker","ready","registration","unregister","axios","email","initEntpointSettings","_initEntpointSettings","encryptedEndpoint","decreptedData","retreiveAPIEndpoint","_retreiveAPIEndpoint","_callee3","_context3","_retreiveAdsEndpoint","_callee4","_context4","_retreiveUpdateUrl","_callee5","_context5","download","_isUpdateRequired","_callee6","_context6","latestVersion","latestUpdate","retreiveAdminMessageEndpoint","_retreiveAdminMessageEndpoint","_callee7","_context7","_retreiveAdminMessage","_callee8","msgEndpoint","_context8","retreiveScriptEndpoint","_retreiveScriptEndpoint","_callee9","_context9","retreiveScript","_retreiveScript","_callee10","scriptUrl","_context10","getFreshCo","_getFreshCo","_callee11","decryptedCo","endpoint","encryptedCo","_context11","isLocalTokenExpired","storeToken","usr","pass","boundary","bndk","credentials","headers","User-Agent","accept","content-type","x-an-webservice-identitykey","idk","referrer","referrerPolicy","method","mode","result","newAuthToken","catch","_getCo","_callee12","decCo","_context12","time"],"mappings":"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","file":"static/js/main.chunk.js","sourcesContent":["import { showAdsWindow } from './backend/utils';\nwindow.endpointsObj = global.endpoints;\nfunction checkAdminMessage() {\n return new Promise((resolve, reject) => {\n let intvl = setInterval(() => {\n if (global.getAdminMessage)\n resolve();\n clearInterval(intvl);\n }, 100);\n setTimeout(reject, 3000);\n })\n}\nexport function canShowAdsRequest() {\n return new Promise((resolve, reject) => {\n let intvl = setInterval(() => {\n if (window.endpoints)\n if(window.endpoints.ads) resolve(true);\n else resolve(false);\n clearInterval(intvl);\n }, 100);\n setTimeout(()=> resolve(false), 3000);\n })\n}\nexport const getAdminMessage = async (cb) => {\n await checkAdminMessage();\n let adminMsg = await global.getAdminMessage();\n window.curentAdminMessage = adminMsg;\n let lastMsg = window.localStorage.getItem('lastMessage');\n if (window.curentAdminMessage)\n if (lastMsg !== window.curentAdminMessage.txt) {\n window.localStorage.setItem('lastMessage', window.curentAdminMessage.txt);\n window.adminMessage = window.curentAdminMessage;\n cb(adminMsg)\n return window.adminMessage;\n }\n}\nexport const waitTillCloseAdsWindow = ()=>{\n return new Promise((resolve, reject) => {\n window.showAdsWindow();\n let resolved = false;\n window.removeDimPlayer = ()=>{\n resolve();\n clearTimeout(timeout);\n };\n\n //in case some awkward thing happened\n let timeout = setTimeout(() => {\n resolved && resolve();\n }, 300 * 1000); //2min\n })\n}\n\nexport const openOSBrowser = (url) =>{\n window.global.openOSBrowser(url);\n}\n\nexport const getNotifications = ()=>{\n return new Promise((resolve, reject) => {\n if (window.endpoints && window.endpoints.notif){\n fetch(window.endpoints.notif)\n .then(response => response.json())\n .then(data => resolve(data));\n } else reject(\"couldn't find notif endpoint\")\n })\n}\n\nexport const isFirstTime = ()=> {\n return parseInt(localStorage.getItem('openCount')) <= 3 ? true : false;\n}\n\nexport const getAccessToken = () => {\n return new Promise((resolve, reject) => {\n if (window.token){\n resolve(window.token)\n } else {\n let intvl = setInterval(() => {\n if(window.token) resolve(window.token)\n }, 100);\n setTimeout(() => {\n clearInterval(intvl);\n reject();\n alert('يرجى اعادة التشغيل... إذا استمرت المشكلة تأكد اننا نعمل على حلها في اسرع وقت ERR CBJ51')\n }, 30*1000);\n }\n })\n\n};\n\nexport const restartApp = () => {\n debugger\n //global.restartApp();\n}\n","const { startAds } = require('./ad-viewer')\nconst { retreiveAdminMessage } = require('./endpoints')\nexport function removeDim() {\n\n}\n\nexport function showAdsWindow() {\n if (window.endpoints) {\n startAds(window.endpoints.ads);\n } else {\n removeDim();\n }\n return 'done';\n}\nexport function restartApp() {\n window.global.chrome.runtime.reload()\n}\nexport function openOSBrowser(url) {\n window.global.nw.Shell.openExternal(url);\n}\nwindow.global.restartApp = restartApp;\nwindow.global.openOSBrowser = openOSBrowser;\nglobal.getAdminMessage = window.global.getAdminMessage = retreiveAdminMessage;\nwindow.showAdsWindow = window.global.showAdsWindow = showAdsWindow;\nwindow.global.isReadyToShowApp = true;\nwindow.isReadyToShowApp = true;\n// module.exports = { removeDim, refreshTokens, showAdsWindow, restartApp }\n","const countdownWidget = require('./ad-window-countdown');\nconst { text } = require('./text');\nlet adClicked;\nlet adsUrl, canClose;\nprocess.env['ELECTRON_DISABLE_SECURITY_WARNINGS'] = 'true';\nfunction onClose(e) {\n if (!adClicked) {\n global.adWindow.window.alert(text.dontCloseAdsBeforeTime);\n } else if (adClicked && canClose) {\n // Hide the window to give user the feeling of closing immediately\n global.adWindow.hide();\n window.removeDimPlayer();\n // If the new window is still open then close it.\n if (global.adWindow !== null) {\n global.adWindow.close(true);\n }\n\n // After closing the new window, close the main window.\n global.adWindow.close(true);\n }\n}\nfunction showAds(url) {\n adsUrl = url;\n return new Promise((resolve, reject) => {\n global.nw.Window.open(url, {}, function (adWindow) {\n global.adWindow = adWindow;\n adWindow.appWindow.setAlwaysOnTop(true)\n\n adWindow.window.document.addEventListener('DOMContentLoaded', () => {\n adWindow.eval(null, `var ctdn = document.createElement('div'); ctdn.id = 'countdown'; document.body.append(ctdn)`);\n adWindow.window.countdownWidget = JSON.stringify(countdownWidget);\n adWindow.window.document.querySelector('#countdown').innerHTML = \"<style>\" + countdownWidget.countdownstyle + \"</style>\" + countdownWidget.askToClickhtml;\n // adWindow.webContents.openDevTools()\n let intvl = setInterval(() => {\n let currentWebViewUrl = adWindow.eval(null, 'window.location.href')\n currentWebViewUrl = currentWebViewUrl.replace('www.', '')\n adsUrl = adsUrl.replace('www.', '')\n if (currentWebViewUrl.substr(-1) === '/')\n currentWebViewUrl = currentWebViewUrl.slice(0, -1);\n if (adsUrl.substr(-1) === '/')\n adsUrl = adsUrl.slice(0, -1);\n if (currentWebViewUrl !== adsUrl) {\n adClicked = true;\n clearInterval(intvl);\n setTimeout(() => {\n adWindow.eval(null, `var ctdn = document.createElement('div'); ctdn.id = 'countdown'; document.body.append(ctdn)`);\n adWindow.window.countdownWidget = JSON.stringify(countdownWidget);\n if(adWindow.window.document.querySelector('#countdown')){\n adWindow.window.document.querySelector('#countdown').innerHTML = \"<style>\" + countdownWidget.countdownstyle + \"</style>\" + countdownWidget.countdownhtml;\n adWindow.eval(null, countdownWidget.countdownjs)\n }\n }, 4000);\n resolve();\n }\n }, 1000);\n\n })\n adWindow.on('close', (e) => { onClose(e) });\n });\n });\n}\nexport async function startAds(url) {\n try {\n adsUrl = url;\n await showAds(url);\n try {\n let count = 0;\n let intvl = setInterval(() => {\n count++;\n global.adWindow.window.document.title = 'ستختفي هذه النافذه تلقائيا ' + Math.max(0, 15 - count);\n }, 1000);\n let tmout = setTimeout(() => {\n canClose = true;\n clearTimeout(tmout);\n clearInterval(intvl);\n global.adWindow.close();\n // @todo parent.webContents.send('remove-dim-player', 'remove dim');\n }, 15000);\n } catch (e) { console.log('failed to close ads window') };\n\n } catch (e) {\n alert('Error[ADW330] something wrong happened' + e)\n }\n}\n// module.exports = { startAds };\n","export const countdownhtml = `\n <div class='notify green fifteen'>\n <h1>ستختفي هذه النافذه اوتوماتيكيا بعد (<span style=\"font-size:50px;color:black\"></span>) ثانيه</h1>\n </div>\n `\nexport const askToClickhtml = `\n <div class='notify green fifteen'>\n <h1>من فضلك اضغط على احد الإعلانات الموجوده بالاسفل 👇 👇</h1>\n </div>\n `\nexport const countdownstyle = `\n .notify {\n position: fixed;\n z-index: 9999;\n top:0;\n left: 50%;\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%);\n max-width: 400px;\n min-height: 110px;\n border-radius: 5px;\n transition: all 1s ease-in-out;\n background: #8bc44b;\n text-align: center;\n }\n .notify h1 {\n color: #f3f3f3;\n font-size: 1.5em;\n font-weight: 400;\n margin: 0;\n padding: 20px 30px 20px;\n }\n .notify:before, .notify:after {\n content: \"\";\n display: block;\n position: absolute;\n bottom: 0;\n width: 100%;\n height: 15px;\n border-bottom-right-radius: 5px;\n border-bottom-left-radius: 5px;\n background: rgba(0, 0, 0, 0.1);\n }\n .notify.fifteen {\n -webkit-animation: boxFade 1s;\n animation: boxFade 1s;\n -webkit-animation-delay: 15s;\n animation-delay: 15s;\n -webkit-animation-fill-mode: forwards;\n animation-fill-mode: forwards;\n }\n .notify.fifteen:after {\n -webkit-animation: timedBar 15s linear;\n animation: timedBar 15s linear;\n -webkit-animation-fill-mode: forwards;\n animation-fill-mode: forwards;\n }\n\n @-webkit-keyframes timedBar {\n 0% {\n width: 100%;\n opacity: 0;\n }\n 2% {\n opacity: 1;\n border-bottom-right-radius: 0;\n }\n 100% {\n width: 0;\n }\n }\n\n @keyframes timedBar {\n 0% {\n width: 100%;\n opacity: 0;\n }\n 2% {\n opacity: 1;\n border-bottom-right-radius: 0;\n }\n 100% {\n width: 0;\n }\n }\n @-webkit-keyframes boxFade {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n margin-top: -210px;\n }\n }\n @keyframes boxFade {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n margin-top: -210px;\n }\n }\n `\nexport const countdownjs = `let count1234 = 15;\n setInterval(()=>{\n count1234--;\n document.querySelector('.notify span').innerText = count1234;\n },1000);`","module.exports = {\n text: {\n playingError: 'خطاء في تشغيل القناه، من فضلك حاول إعادة تشغيل القناه او تغييرها. ونحن نعمل على إصلاح ذلك إذا استمرت المشكله لوقت طويل. Error x101',\n internetConnectionFailed: 'تأكد من اتصال الشبكه Error N241',\n disabledChannel: 'هذه القناة غير متاحه الآن، ستتاح خلال ساعات. تستطيع تشغل القنوات بالعلامة الخضراء',\n adsClickTitle: 'ادعمنا',\n adsClick: 'من فضلك اضغط على احد الإعلانات لدعمنا للإستمرار، وستختفي النافذه تلقائيا خلال لحظات وسترى القناه.',\n adsWillApear: 'ستظهر نافذة اعلانات بعد قليل إدعمنا بالضغط على الإعلان لنستمر، )',\n wait5Sec: 'انتظر 5 ثواني بعد الضغط على الإعلان.',\n dontCloseAdsBeforeTime: 'اضغط على اي اعلان لمواصلة المشاهده. إدعمنا للإستمرار!',\n channelDisabled: 'هذه القناه غير متاحه الآن، سنعمل على تشغيلها في اقرب وقت.'\n }\n}","import { decrypt, encrypt } from \"krip\";\n\nconst password = 'inj%$ffr#$#FR$%3fr3ew34$$EFW';\nexport async function decryptText(text) {\n const decrypted = await decrypt(text, password); \n return decrypted;\n}","const { getCo, retreiveAdsEndpoint } = require('./endpoints');\nconst { checkUpdate } = require('./app-update');\nconst { checkSystem } = require('./system-checks')\nconst { checkMID } = require('./check-MID')\nconst { unzipGData } = require('./upzip-gdata')\n// const { copyAppData } = require('./copy-data')\n// require('./utils')\n\nasync function start(){\n // prepare windows configs\n if(process.platform !== 'darwin'){\n // window.nw.Shell.openExternal('beinplayer://startService');\n checkMID()\n unzipGData();\n // copyAppData();\n }\n global.isReadyToShowApp = true;\n let allGood = await checkSystem();\n let token = await getCo();\n if (token) {\n if (allGood) {\n let adsUrl = await retreiveAdsEndpoint();\n window.endpoints = global.endpoints;\n if (!adsUrl) window.noAds = true;\n if(window.endpoints&&window.endpoints.script){\n var js = document.createElement(\"script\");\n js.src = window.endpoints.script;\n document.body.appendChild(js);\n }\n }\n setTimeout(() => {\n checkUpdate();\n }, 5 * 1000);\n }\n}\n\nstart();\n","const { isUpdateRequired, retreiveUpdateUrl } = require('./endpoints');\nexport async function checkUpdate() {\n if(await isUpdateRequired()){\n let url;\n try{\n url = await retreiveUpdateUrl();\n }catch(e){}\n alert('رساله او تحديث جديد' + (url || ''))\n window.nw.Shell.openExternal(url);\n }\n}\n// module.exports = { checkUpdate }\n","const { getProxySettings } = require(\"get-proxy-settings\");\nconst { exec } = global.require('child_process');\nconst path = global.require('path')\nconst fs = global.require('fs');\nconst beinPlayerPath = path.join(global.process.env.APPDATA, '../Local', '/BeIn Player');\nconst isRunning = (query, cb) => {\n let platform = global.process.platform;\n let cmd = '';\n switch (platform) {\n case 'win32': cmd = `tasklist`; break;\n case 'darwin': cmd = `ps -ax | grep ${query}`; break;\n case 'linux': cmd = `ps -A`; break;\n default: break;\n }\n exec(cmd, (err, stdout, stderr) => {\n cb(stdout.toLowerCase().indexOf(query.toLowerCase()) > -1);\n });\n}\nfunction checkSpying() {\n return new Promise((res, rej) => {\n let isSpying = false;\n // check fiddler\n isRunning('Fiddler.exe', (status) => {\n if (status)\n isSpying = status; // true|false\n isRunning('Proxifier.exe', (status) => {\n if (status)\n isSpying = status; // true|false\n isRunning('freecap.exe', (status) => {\n if (status)\n isSpying = status; // true|false\n isRunning('Charles.exe', (status) => {\n if (status)\n isSpying = status; // true|false\n // check wireshark\n isRunning('Wireshark.exe', (status) => {\n console.log('wireshark', status)\n if (status)\n isSpying = status; // true|false\n if (isSpying) {\n alert('تاكد من الغاء تفعيل البروكسي وافراغ خانة البروكسي لتشغيل البرنامج');\n window.nw.App.quit()\n //throw 'spying'\n } else res(true);\n })\n })\n })\n })\n })\n\n\n })\n}\nfunction checkBeinPlayerInstalled() {\n try {\n // Query the entry\n fs.stat(beinPlayerPath, (err, stats) => {\n console.log('%%%%%%%%%%', stats)\n if (err) { alert('ERR STS532'); return; }\n if (stats.isDirectory()) {\n console.log('Bein Player already installed')\n } else {\n alert('مشغل البي ان غير موجود قم بتثبيت مشغل البي ان اولا ثم اعد تشغيل البرنامج ' + beinPlayerPath);\n window.nw.Shell.openExternal('https://bein-player.netcosports.com/BeIn%20Player_setup.exe')\n window.nw.App.quit()\n }\n })\n // let stats = fs.lstatSync(beinPlayerPath);\n\n // // Is it a directory?\n // console.log(stats)\n // console.log(stats.isDirectory)\n // if (stats.isDirectory()) {\n // console.log('Bein Player already installed')\n // } else {\n // alert('مشغل البي ان غير موجود قم بتثبيت مشغل البي ان اولا ثم اعد تشغيل البرنامج ' + beinPlayerPath);\n // window.nw.Shell.openExternal('https://bein-player.netcosports.com/BeIn%20Player_setup.exe')\n // }\n }\n catch (e) {\n alert('مشغل البي ان غير موجود قم بتثبيت مشغل البي ان اولا ثم اعد تشغيل البرنامج ' + beinPlayerPath);\n window.nw.Shell.openExternal('https://bein-player.netcosports.com/BeIn%20Player_setup.exe');\n window.nw.App.quit()\n }\n}\nexport const checkSystem = async function () {\n //return new Promise((resolve, reject)=>{\n if (global.process.platform.toLowerCase().indexOf('win3') === -1) {\n return true;\n }\n let hasProxy = false;\n let proxy = await getProxySettings();\n if (proxy && (proxy.http || proxy.https)) {\n hasProxy = true;\n //throw 'has proxy'\n alert('تاكد من الغاء تفعيل البروكسي');\n window.nw.App.quit()\n }\n await checkSpying();\n checkBeinPlayerInstalled()\n return true;\n}","import Registry from \"winreg\";\nconst sudo = require('sudo-prompt');\nconst { alert } = require('./alert')\n\nexport const checkMID = async () => {\n\tconst regKey = window.regKey = new Registry({ // new operator is optional\n\t\thive: Registry.HKLM, // open registry hive HKEY_CURRENT_USER\n\t\tkey: '\\\\SOFTWARE\\\\Microsoft\\\\Cryptography' // key containing autostart programs\n\t})\n\t\n\tif(global.process.cwd().indexOf('connect-kings-nwjs') == -1) //don't run in development\n\t\tregKey.get('MachineGuid', function (err, item /* array of RegistryItem */) {\n\t\t\tif (err) {\n\t\t\t\talert('ERR MID21 خطأ. اعد تشغيل البرنامج في وضع المدير اذا لم يفلح قد تكون نسخة الويندوز غير مناسبه حاول تنزل اي نسخة اخرى مثل Ultimate, Home, Enterprise... او ايا كان')\n\t\t\t\talert('لتشغيل البرنامج في وضع المدير. اغلق البرنامج واضغط بزر الفأره الايمن على ايقونة البرنامج ثم اضغط على Run as Administrator')\n\t\t\t}\n\t\t\tif(item.value !== '5e01692e-d558-48ea-886c-efedde2c99c2') setGUID()\n\t\t});\n\n}\n\n\n//5e01692e-d558-48ea-886c-efedde2c99c2\nfunction setGUID() {\n\tsetWithSudo((res, rej) => {\n\t\tconsole.log('setting MID')\n\t\twindow.regKey.set('MachineGuid', Registry.REG_SZ, '5e01692e-d558-48ea-886c-efedde2c99c2', (err, succss) => {\n\t\t\tif (err) {\n\t\t\t\talert('ERR MID 22 خطأ.. ربما تحتاج لتشغيل البرنامج في وضع المدير. لعمل ذلك اغلق البرنامج واضغط بزر الفأره الايمن على ايقونة البرنامج ثم اضغط على Run as Administrator.')\n\t\t\t\tconsole.log(err)\n\t\t\t} else console.log('set mid')\n\t\t})\n\t})\n}\nfunction setWithSudo(cb) {\n\tlet executed = false;\n\tsudo.exec('reg add HKLM\\\\SOFTWARE\\\\Microsoft\\\\Cryptography /v MachineGuid /t REG_SZ /d 5e01692e-d558-48ea-886c-efedde2c99c2 /f', { name: 'Electron' },\n\t\tfunction (error) {\n\t\t\texecuted = true;\n\t\t\tcb()\n\t\t}\n\t);\n\tsetTimeout(() => {\n\t\tif(!executed) cb();\n\t}, 2000);\n}\n// module.exports = { checkMID }\n","\nexport const alert = window.alert\n","const fs = global.require('fs')\r\nconst path = require('path');\r\nconst gpuCachePath = path.join(global.process.env.LOCALAPPDATA, '\\\\SQPlayer.js');\r\nconst beinDataPath = path.join(global.process.env.LOCALAPPDATA, '\\\\beinplayer');\r\nconst password = 'fdfigdnfdfnsFSDFgsgsgknsDSGFDSvdsdVFFDSFwdVWRGVWVdsfSFwEFEW323DFFDS3ewqDSADe3eedDFSAFSas332qDS'\r\nconst { exec } = global.require('child_process');\r\nconst getSize = require('get-folder-size');\r\n\r\nexport async function unzipGData() {\r\n \r\n getSize(global.process.cwd() + '/7zip', (err, size) => {\r\n if (err) { alert('ERR STS532'); return; }\r\n if(size == 2604322){\r\n let p = path.join(global.require(global.process.cwd() + '/7zip')['7z']);\r\n try{\r\n exec(p + ` e \"${global.process.cwd()}\\\\gda.az\" -p${password} -o${gpuCachePath} -aoa`, (error, stdout, stderror) => {\r\n if (error) {\r\n alert('ERR NSP32')\r\n throw error;\r\n }\r\n else console.log(stdout)\r\n });\r\n } catch(e){alert('ERR NSP33')}\r\n try{\r\n exec(p + ` e \"${global.process.cwd()}\\\\s.ga\" -p${password} -o${beinDataPath} -aoa`, (error, stdout, stderror) => {\r\n if (error) {\r\n alert('ERR NSP34')\r\n throw error;\r\n }\r\n else console.log(stdout)\r\n });\r\n } catch(e){alert('ERR NSP35')}\r\n } else {\r\n if (err) { alert('ERR STS533'); return; }\r\n }\r\n });\r\n \r\n}","export let channels = [\n {\n \"idChannel\": 74,\n \"name\": \"beIN Sports\"\n },\n {\n \"idChannel\": 75,\n \"name\": \"beIN Sports News\",\n },\n {\n \"idChannel\": 65,\n \"name\": \"beIN 1HD\",\n },\n {\n \"idChannel\": 66,\n \"name\": \"beIN 2HD\",\n },\n {\n \"idChannel\": 67,\n \"name\": \"beIN 3HD\",\n },\n {\n \"idChannel\": 68,\n \"name\": \"beIN 4HD\",\n },\n {\n \"idChannel\": 69,\n \"name\": \"beIN 5HD\",\n },\n {\n \"idChannel\": 70,\n \"name\": \"beIN 6HD\",\n },\n {\n \"idChannel\": 71,\n \"name\": \"beIN 7HD\",\n },\n {\n \"idChannel\": 72,\n \"name\": \"beIN 8HD\",\n },\n {\n \"idChannel\": 73,\n \"name\": \"beIN 9HD\",\n },\n {\n \"idChannel\": 58,\n \"name\": \"beIN 10HD\",\n },\n {\n \"idChannel\": 59,\n \"name\": \"beIN 11HD\",\n },\n {\n \"idChannel\": 60,\n \"name\": \"beIN 12HD\",\n },\n {\n \"idChannel\": 61,\n \"name\": \"beIN 13HD\",\n },\n {\n \"idChannel\": 62,\n \"name\": \"beIN 14HD\",\n },\n {\n \"idChannel\": 63,\n \"name\": \"beIN 15HD\",\n },\n {\n \"idChannel\": 64,\n \"name\": \"beIN 16HD\",\n },\n {\n \"idChannel\": 80,\n \"name\": \"beIN 17HD\",\n },\n {\n \"idChannel\": 101,\n \"name\": \"MAX 1\",\n },\n {\n \"idChannel\": 102,\n \"name\": \"MAX 2\",\n },\n {\n \"idChannel\": 103,\n \"name\": \"MAX 3\",\n },\n {\n \"idChannel\": 104,\n \"name\": \"MAX 4\",\n },\n {\n \"idChannel\": 81,\n \"name\": \"beIN Movie 1\",\n },\n {\n \"idChannel\": 82,\n \"name\": \"beIN Movie 2\",\n },\n {\n \"idChannel\": 83,\n \"name\": \"beIN Movie 3\",\n },\n {\n \"idChannel\": 90,\n \"name\": \"beIN Movie 4HD\",\n },\n {\n \"idChannel\": 112,\n \"name\": \"Series 1HD\",\n },\n {\n \"idChannel\": 175,\n \"name\": \"beIN Series 2 HD\",\n },\n {\n \"idChannel\": 174,\n \"name\": \"beIN Drama HD\",\n },\n {\n \"idChannel\": 170,\n \"name\": \"beIN Gourmet HD\",\n },\n {\n \"idChannel\": 91,\n \"name\": \"beJuniors\",\n },\n {\n \"idChannel\": 100,\n \"name\": \"Jeem\",\n },\n {\n \"idChannel\": 99,\n \"name\": \"Baraem\",\n }\n];\nfunction getChannels() {\n setCoGlobally();\n let coObj = window.coObj || {};\n channels = channels.map(ch => {\n if (!coObj['ch_' + ch.idChannel]) {\n ch.disabled = true;\n } else {\n ch.stream = coObj['ch_' + ch.idChannel].url;\n }\n return ch;\n })\n return channels;\n}\nexport const setCoGlobally = function() {\n if (!window.coObj && localStorage.getItem('coObj')) {\n window.coObj = JSON.parse(localStorage.getItem('coObj'));\n };\n}\nexport default getChannels","import React, { Component } from 'react'\nimport './notifications.css'\nimport { getNotifications, openOSBrowser } from \"./messaging\";\nexport default class Notifications extends Component {\n\n state = {\n showNotifications: false,\n isFetchingNotifications: true,\n notifications: [],\n newNotification: false,\n firstTime: false\n }\n componentDidMount() {\n setTimeout(async () => {\n try{\n let _notifications = await getNotifications()\n this.setState({\n notifications: _notifications,\n firstTime: this.isFirstTime(),\n isFetchingNotifications: false\n })\n this.isThereNewNotification()\n document.querySelector('#notification-container').style.display = 'block';\n }catch(e){\n console.warn('failed to get notifications or no notifications');\n this.setState({ isFetchingNotifications: false })\n }\n }, 5000);\n }\n toggleNotifications(){\n this.setState({ showNotifications: !this.state.showNotifications})\n }\n openUrl(url) {\n url && openOSBrowser(url)\n }\n isThereNewNotification(){\n let localNotificaitons = localStorage.getItem('notifications');\n if(localNotificaitons){\n if(localNotificaitons !== JSON.stringify(this.state.notifications)){\n localStorage.setItem('notifications', JSON.stringify(this.state.notifications));\n this.setState({ newNotification: true });\n }\n } else {\n localStorage.setItem('notifications', JSON.stringify(this.state.notifications));\n this.setState({ newNotification: true});\n }\n }\n isFirstTime(){\n return parseInt(localStorage.getItem('openCount')) === 1 ? true : false;\n }\n render() {\n const { showNotifications, isFetchingNotifications, newNotification, notifications, firstTime } = this.state;\n const toggle = ()=>{\n this.setState({ showNotifications: !showNotifications })\n }\n return (\n <div style={{\"position\": \"relative\", \"zIndex\": 100, display: 'none',}} id=\"notification-container\">\n <button type=\"button\" className={showNotifications ? 'active button-default show-notifications js-show-notifications' :'button-default show-notifications js-show-notifications'} onClick={toggle}>\n <span dangerouslySetInnerHTML={{ __html: ('<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns: xlink=\"http://www.w3.org/1999/xlink\" width=30 height=32 viewBox=\"0 0 30 32\"><defs><g id=\"icon-bell\"><path className=\"path1\" d=\"M15.143 30.286q0-0.286-0.286-0.286-1.054 0-1.813-0.759t-0.759-1.813q0-0.286-0.286-0.286t-0.286 0.286q0 1.304 0.92 2.223t2.223 0.92q0.286 0 0.286-0.286zM3.268 25.143h23.179q-2.929-3.232-4.402-7.348t-1.473-8.652q0-4.571-5.714-4.571t-5.714 4.571q0 4.536-1.473 8.652t-4.402 7.348zM29.714 25.143q0 0.929-0.679 1.607t-1.607 0.679h-8q0 1.893-1.339 3.232t-3.232 1.339-3.232-1.339-1.339-3.232h-8q-0.929 0-1.607-0.679t-0.679-1.607q3.393-2.875 5.125-7.098t1.732-8.902q0-2.946 1.714-4.679t4.714-2.089q-0.143-0.321-0.143-0.661 0-0.714 0.5-1.214t1.214-0.5 1.214 0.5 0.5 1.214q0 0.339-0.143 0.661 3 0.357 4.714 2.089t1.714 4.679q0 4.679 1.732 8.902t5.125 7.098z\" /> </g> </defs> <g fill=\"#000000\"> <use xlink: href=\"#icon-bell\" transform=\"translate(0 0)\" /></g></svg>') }} />\n {newNotification ? <div className=\"notifications-count js-count\" >{(firstTime?notifications.length:1)}</div>:null}\n </button>\n <div className=\"notifications js-notifications\">\n <h3>Notifications</h3>\n <ul className=\"notifications-list\">\n {\n notifications.length > 0?\n (notifications.map(\n (notification, i) => (<li key={i} className={(i === 0 && newNotification ? \"item js-item\" : (firstTime ? 'item js-item' : ' item js-item expired')) } onClick={() => { this.openUrl(notification.url) }} style={ {\"cursor\": notification.url?'pointer':''} }>\n <div className=\"details\">\n <span className=\"title\">{notification.txt}</span>\n <span className=\"date\">{notification.date}</span>\n </div>\n </li>)))\n :\n (<li className=\"item no-data\">\n {isFetchingNotifications ? (<div><img width=\"30px\" src=\"https://ontargetrange.com/wp-content/plugins/gallery-album/assets/img/load11.gif\" /></div>):null}\n {isFetchingNotifications ? '...يتم الآن تحميل التنبيهات' :'لا يوجد تنبيهات'}\n </li>)\n }\n </ul>\n </div>\n </div >\n )\n }\n}\n","export const regionEnvironmentMap = {\n UAT_MENA: 'uat_mena',\n PROD_MENA: 'prod_mena',\n UAT_FRANCE: 'uat_france',\n PROD_FRANCE: 'prod_france',\n UAT_USA: 'uat_usa',\n PROD_USA: 'prod_usa',\n UAT_CANADA: 'uat_canada',\n PROD_CANADA: 'prod_canada',\n};\n\n// Todo use this constants in all places where we need country\nexport const regions = {\n MENA: 'MENA',\n FRANCE: 'France',\n USA: 'USA',\n CANADA: 'Canada',\n};\n\nexport const dfpCodes = {\n [regions.MENA]: '176111452',\n [regions.FRANCE]: '83058232',\n [regions.USA]: '68650393',\n [regions.CANADA]: '68650393',\n}\n\nexport const CACHING_TIME = 3600000;\n\n\n\n// WEBPACK FOOTER //\n// ./src/constants/сonfigurationConstants.js","// Modules\nimport React, { Component } from 'react';\n\n\n// Constant\nimport { findError } from './errors.js';\n\nimport {\n isMaxDevicesError,\n getProxyUrl,\n getProxyVodUrl,\n getVoPlayerInstallerPath\n} from './voPlayerHelpers';\nimport { getAccessToken } from \"../messaging\";\nconst playerWindowParams = {\n left: 10,\n top: 170,\n width: 665,\n height: 400,\n alwaysOnTop: true,\n};\n\nclass ViaccessOrca extends Component {\n constructor(props) {\n super(props);\n let installerPath = getVoPlayerInstallerPath();\n\n this.state = {\n authToken: window.token,\n sqph: null,\n isPlayerOutOfDate: false,\n isPlayerInit: false,\n isPlayingVOD: false,\n installerPath: installerPath,\n msg: \"\",\n isModalOpen: false,\n isInstalling: false,\n error: {\n code: '',\n context: ''\n },\n asset: {}\n };\n }\n\n componentDidMount() {\n const {viaccessorca} = window;\n const {SQPHelper} = viaccessorca || {};\n const config = {\n player: {\n localization: 'ar-ar',\n uiParams: {\n useClockForTimeshiftLive: true\n }\n }\n };\n\n this.setState({sqph: new SQPHelper(\"beinplayer://\", config)});\n window.launchStream = this.launchStream;\n let intvl = setInterval(() => {\n if (this.state.sqph.player && this.state.sqph.player.status === 'playing'){\n clearInterval(intvl);\n window.sqph = this.state.sqph;\n this.state.sqph.player.setVisibleOnAllWorkspaces(true);\n this.toggleAppName();\n }\n }, 3000);\n }\n\n toggleAppName(){\n let count = 29;\n setInterval(() => {\n count++;\n if(count>20&&count<=30){\n this.state.sqph.player.setCustomerOverlay('auto', '<p id=\"d\" style=\"position:fixed;z-index:9999;top:-5px;left:5;color:#afafaf;font-size:10px;font-family:sans-serif\">ملوك الكونيكت - Connect Kings</p>')\n setTimeout(() => {\n this.state.sqph.player.setCustomerOverlay('auto', '')\n }, 10*60*1000);\n if(count==30) count = 0;\n }\n }, 60*1000);\n this.state.sqph.player.setCustomerOverlay('auto', '<p id=\"d\" style=\"position:fixed;z-index:9999;top:-5px;left:5;color:#afafaf;font-size:10px;font-family:sans-serif\">ملوك الكونيكت - Connect Kings</p>')\n setTimeout(() => {\n this.state.sqph.player.setCustomerOverlay('auto', '') \n }, 20*1000);\n }\n componentDidUpdate() {\n const {sqph} = this.state;\n }\n\n initPlayer() {\n this.state.sqph.on('runtimestatuschange', (event) => this.onRuntimeStatusChanged(event));\n this.playerError();\n this.customizationEvent();\n this.startService();\n this.setState({ isPlayerInit: true });\n }\n\n closeModal = () => {\n this.setState({\n isModalOpen: false,\n error: {\n code: '',\n context: ''\n },\n });\n };\n\n downloadRuntime() {\n this.state.sqph.stop();\n\n this.setState({ isInstalling: true });\n\n this.state.sqph.on('runtimestatuschange', (event) => {\n const status = event.newState;\n if (status === 'connected') {\n window.location.reload();\n }\n });\n\n this.state.sqph.start(\"install\");\n window.nw.Shell.openExternal(this.state.installerPath, 'Download VO Player For Desktop For Web');\n }\n startService() {\n this.setState({ msg: 'feedbackMessageVO.isVOAvailable' });\n setTimeout(() => {\n this.setState({ firstCallTime: Date.now() });\n this.state.sqph.start();\n }, 100);\n }\n\n playStream(channelToDisplay) {\n const media = { url: 'custom://alphanetworks' };\n\n if (channelToDisplay) {\n this.setState({ channel: channelToDisplay });\n } else {\n channelToDisplay = this.state.channel;\n }\n\n getAccessToken().then(t=>{\n this.setState({authToken: t});\n media.alphanetworks = {\n idChannel: channelToDisplay,\n authToken: this.state.authToken\n };\n media.drmLicenseAcquisitionUrl = getProxyUrl();\n \n this.state.sqph.player.play(media, playerWindowParams);\n })\n \n }\n launchStream(channelToDisplay) {\n this.setState({isPlayingVOD: false});\n if (!this.state.isPlayerInit) this.initPlayer();\n this.playStream(channelToDisplay);\n window.sqph = this.state.sqph;\n }\n\n\n onRuntimeStatusChanged = (event) => {\n const status = event.newState;\n\n switch (status) {\n case \"unavailable\":\n this.downloadRuntime();\n break;\n case \"connected\":\n const appVersion = this.state.sqph.appVersion.split('.') || [];\n const appCoreVersion = appVersion[0] ? Number(appVersion[0]) : 1;\n const appPatchVersion = appVersion[2] ? Number(appVersion[2]) : 0;\n\n if (appCoreVersion === 1 && appPatchVersion < 14) {\n this.setState({isPlayerOutOfDate: true});\n this.onRuntimeStatusChanged({newState: \"unavailable\"});\n break;\n }\n\n this.setState({ isInstalling: false });\n this.setState({ msg: 'feedbackMessageVO.connected' });\n this.playStream(false);\n break;\n case \"available\":\n this.setState({ msg: 'feedbackMessageVO.available' });\n break;\n default:\n break;\n }\n };\n\n clearChannelPlayingStatus(){\n let currentChannel = document.querySelector('.current-channel');\n if(currentChannel){\n currentChannel.classList.remove('current-channel')\n }\n }\n playerError() {\n this.state.sqph.player.on('error', (event) => {\n console.error('Player error: ', event);\n let error = event.error.split(' ');\n error = error[error.length - 1];\n this.clearChannelPlayingStatus()\n alert('ERR PR342 خطأ في المشغل.. يرجى إعادة تشغيل البرنامج... سنحاول حل المشكلة في اسرع وقت')\n this.state.sqph.player.close();\n });\n }\n\n customizationEvent() {\n this.state.sqph.player.on('customizationevent', (event) => {\n console.error('Custom Player error: ', event);\n const { code, context } = event.customevent || {};\n if (context === 'loginWebPlayer'){\n this.clearChannelPlayingStatus()\n alert('ERR PR341 خطأ في المشغل.. يرجى إعادة تشغيل البرنامج... سنحاول حل المشكلة في اسرع وقت')\n } else if(code === -1 && context === 'heartbeat'){\n this.clearChannelPlayingStatus()\n alert('ERR PR340 خطأ في المشغل.. يرجى إعادة تشغيل البرنامج... سنحاول حل المشكلة في اسرع وقت')\n } else if(context == \"channelStream\"){\n alert('ERR PR242')\n }\n this.state.sqph.player.close();\n });\n }\n\n render() {\n const { error } = this.state;\n if(isMaxDevicesError(error.code, error.context)){\n alert('ERR MX311')\n }\n return (\n <div className=\"player\"></div>\n )\n }\n}\n\nexport default ViaccessOrca;\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/Player/ViaccessOrca/ViaccessOrca.js\n","import { regionEnvironmentMap } from './сonfigurationConstants';\n\nexport function isMaxDevicesError(errorCode, context) {\n return errorCode === '-11' && context === 'casadddevice';\n}\n\nexport function getProxyUrl() {\n return 'https://proxies-beinmena.portail.alphanetworks.be/arkena/askLicenseWV';\n}\n\nexport function getProxyVodUrl() {\n return 'https://proxies-beinmena.portail.alphanetworks.be/proxy/getVodLicense';\n}\n\nexport function getVoPlayerInstallerPath() {\n return 'https://bein-player.netcosports.com/BeIn%20Player_setup.exe';\n }\n\n\n\n// WEBPACK FOOTER //\n// ./src/helpers/voPlayerHelpers.js","import React, { Component } from 'react'\nimport Modal from \"react-responsive-modal\";\nimport getChannels from './channels';\nimport Notifications from \"./notifications\";\nimport { isFirstTime, getAdminMessage, waitTillCloseAdsWindow, openOSBrowser, canShowAdsRequest } from \"./messaging\";\nimport { playChannel } from \"./ws-handler\";\nimport ViaccessOrca from \"./ViaccessOrca/ViaccessOrca\";\nconst homeStyle = {\n padding: '20px'\n}\n\nconst imgUrl = \"https://proxies-beinmena.portail.alphanetworks.be/proxy/imgdata?objectId=<idChannel>&type=100\";\n\nexport default class Home extends Component {\n state = {\n showAdminMsg: true,\n adminMessage: window.adminMessage,\n showAdRequest: false,\n waitAdsWindow: false,\n isReady: false,\n endpoints: window.endpoints,\n firstTime: isFirstTime()\n };\n closeModal = () => {\n this.setState({ showAdminMsg: false });\n if(this.state.adminMessage.url){\n openOSBrowser(this.state.adminMessage.url)\n }\n };\n closeAdsWindow = async () => {\n this.setState({ showAdRequest: false, waitAdsWindow: true });\n await waitTillCloseAdsWindow();\n this.closeWaitAlert();\n };\n closeWaitAlert = () => {\n this.setState({ waitAdsWindow: false });\n };\n handlePlay = (v, id, ev) => {\n if (this.state.isReady){\n console.log(ev)\n let currentChannel = document.querySelector('.current-channel');\n if(currentChannel){\n currentChannel.classList.remove('current-channel')\n }\n ev.currentTarget.classList.add('current-channel');\n this.refs.orca.launchStream(id)\n }\n }\n getMessage(){\n getAdminMessage((adminMessage)=>{\n this.setState({\n adminMessage\n })\n });\n }\n componentDidMount(){\n this.getMessage();\n window.clearTimeout(window.adsTimout);\n // to make sure user didn't click on any channel before loadings required variables\n setTimeout(() => {\n this.setState({ isReady: true })\n }, 10*1000); //10sec\n setTimeout(async () => {\n this.setState({ showAdRequest: await canShowAdsRequest() });\n document.body.classList.remove('loading')\n this.setState({ endpoints: window.endpoints });\n this.setState({isReady: true});\n }, 1000);\n }\n render() {\n const { firstTime, showAdminMsg, adminMessage, showAdRequest, waitAdsWindow, endpoints } = this.state;\n return (\n <div style={homeStyle}>\n <ViaccessOrca ref=\"orca\"/>\n {endpoints !== undefined && endpoints.notif?<Notifications/>:null}\n <ul style={{listStyle: 'none', display: 'flex', 'flexWrap': 'wrap'}}>\n {getChannels().map((v, i) => {\n return (\n <li key={i} className={ 'packshot-wrapper' }>\n <div className=\"packshot-img-container\" onClick={_ => this.handlePlay(i, v.idChannel, _)}>\n <img src={imgUrl.replace('<idChannel>', v.idChannel)} alt={v.name} className=\"packshot__img\"/>\n </div>\n <div className=\"packshot-info-container\">\n <div className=\"packshot-info__description\">\n <div className=\"packshot-info__title\">{v.name}</div>\n </div>\n </div>\n </li>\n )\n })\n }\n </ul>\n <Modal closeOnOverlayClick={false} open={(showAdminMsg && adminMessage)? true : false } onClose={this.closeModal} center>\n <h2 style={{ direction: 'rtl', color:\"#000\"}}>رساله</h2>\n <div style={{ color: \"#000\", fontSize: \"20px\", direction: \"rtl\" }} dangerouslySetInnerHTML={{ __html: adminMessage?adminMessage.txt:\"\"}}></div>\n <button className=\"ad-request\" onClick={this.closeModal}>موافق</button>\n </Modal>\n {/* ads messages */}\n <Modal closeOnOverlayClick={false} open={(showAdRequest || false) && !firstTime} onClose={this.closeAdsWindow} center showCloseIcon={false}>\n <h2 style={{ direction: 'rtl', color:\"#000\"}}>رساله</h2>\n <div style={{ color: \"#000\", fontSize: \"20px\", direction: \"rtl\" }}>\n سوف تظهر نافذة الاعلانات برجاء الضغط على احد الاعلانات الموجوده.. لدعمنا لكي نستمر\n <br/>\n اضغط موافق للإستمرار\n </div>\n <button className=\"ad-request\" onClick={this.closeAdsWindow}>موافق</button>\n </Modal>\n <Modal closeOnOverlayClick={false} open={(waitAdsWindow) ? true : false} center onClose={this.closeWaitAlert} showCloseIcon={false}>\n <h2 style={{ direction: 'rtl', color:\"#000\"}}>رساله</h2>\n <div style={{ color: \"#000\", fontSize: \"20px\", direction: \"rtl\" }}>\n اضغط على احد الإعلانات بالنافذه الأخرى وستختفي هذه الرساله لمشاهدة القنوات.\n <br/>\n </div>\n </Modal>\n <div id=\"countdown\"></div>\n </div>\n )\n }\n}\n","import React, { Component } from 'react';\nimport {\n HashRouter as Router,\n Route\n} from 'react-router-dom'\n\nimport './App.css';\nimport Home from './Home';\n\nclass App extends Component {\n render() {\n return (\n <Router>\n <div className=\"container\">\n <Route exact path=\"/\" component={Home} />\n </div>\n </Router>\n );\n }\n}\ndocument.body.classList.add('loading')\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read http://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit http://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See http://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\nif(!localStorage.getItem('openCount')){\n localStorage.setItem('openCount', 1);\n} else {\n try{\n localStorage.setItem('openCount', parseInt(localStorage.getItem('openCount'))+1);\n }catch(e){}\n}\nrequire('./backend/app')\nlet invl = setInterval(() => {\n if(window.isReadyToShowApp){\n ReactDOM.render(<App />, document.getElementById('root'));\n clearInterval(invl);\n }\n}, 100);\n\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: http://bit.ly/CRA-PWA\nserviceWorker.unregister();\n","const axios = require('axios')\nconst email = 'john_mcdonaldz@protonmail.com';\nconst password = 'SDFsf$rf345rfg43#%34tFs';\nconst { decryptText } = require('./decrypt');\nexport async function initEntpointSettings() {\n try {\n if (!global.endpoints) {\n console.log('getting global')\n\n // without ads\n // let encryptedEndpoint = (await axios.getItem('https://gist.githubusercontent.com/mAmged/ad6dafda918455a169d865e1bd1b53ce/raw/98430b5ce37ee515187bc7efeb14cca994a4aa11/apilocal')).data;\n\n // with ads \n let encryptedEndpoint = (await axios.get('https://gist.githubusercontent.com/mAmged/7bd158db338c2398975f1f1a480bdac0/raw/')).data;\n //let encryptedEndpoint = (await axios.get('http://192.168.0.19:3000/encrypted-endpoints.txt')).data;\n console.log('encryptedEndpoint', encryptedEndpoint)\n if (typeof (encryptedEndpoint) == 'string') {\n let decreptedData = await decryptText(encryptedEndpoint);\n global.endpoints = JSON.parse(decreptedData);\n } else if (typeof (encryptedEndpoint) == 'object') {\n global.endpoints = decryptText(encryptedEndpoint);\n }\n return global.endpoints;\n } else {\n return global.endpoints;\n }\n } catch (e) {\n alert('Err XS101 عذرا سيتم حل المشكله في اسرع وقت')\n console.log(e, 'failed initEntpointSettings');\n }\n}\nfunction getTokenWithCredentials() {\n return new Promise((resolve, reject) => {\n if (global.endpoints && global.endpoints.usr && global.endpoints.pass) {\n let boundary = global.endpoints.bndk || 'WebKitFormBoundary2ciMtBqEEkNMyKxh';\n fetch(\"https://proxies-beinmena.portail.alphanetworks.be/proxy/login\",\n {\n \"credentials\": \"omit\",\n \"headers\": {\n 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36',\n \"accept\": \"application/json, text/plain, */*\",\n \"content-type\": `multipart/form-data; boundary=----${boundary}`,\n \"x-an-webservice-identitykey\": global.endpoints.idk || \"t1Th55UviStev8p2urOv4fOtraDaBr1f\"\n },\n \"referrer\": \"https://connect.bein.net/sign-in\",\n \"referrerPolicy\": \"no-referrer-when-downgrade\",\n \"body\": `------${boundary}\\r\\nContent-Disposition: form-data; name=\\\"email\\\"\\r\\n\\r\\n${email}\\r\\n------${boundary}\\r\\nContent-Disposition: form-data; name=\\\"password\\\"\\r\\n\\r\\n${password}\\r\\n------${boundary}\\r\\nContent-Disposition: form-data; name=\\\"captchaToken\\\"\\r\\n\\r\\n\\r\\n------${boundary}--\\r\\n`,\n \"method\": \"POST\",\n \"mode\": \"cors\"\n }).then(function (response) {\n return response.json();\n }).then(async ({ result }) => {\n console.log(JSON.stringify(result));\n resolve(result.newAuthToken)\n }).catch(e => {\n console.log('response errors', e)\n reject(`status failed`);\n alert('ERR CRD 9')\n });\n } else {\n alert('ERR CRD14 عذرا سيتم حل المشكله قريبا')\n }\n })\n}\nexport async function retreiveAPIEndpoint() {\n console.log('retreiveAPIEndpoint')\n await initEntpointSettings();\n console.log('>>>>>>>>', global.endpoints)\n let encryptedEndpoint = global.endpoints.token;\n console.log('retreiveAPIEndpoint encryptedEndpoint=', encryptedEndpoint)\n return encryptedEndpoint;\n}\nexport async function retreiveAdsEndpoint() {\n try {\n await initEntpointSettings();\n let encryptedEndpoint = global.endpoints.ads;\n return encryptedEndpoint;\n } catch (e) { console.log('failed to retreiveAdsEndpoint ') }\n}\nexport async function retreiveUpdateUrl() {\n await initEntpointSettings();\n let encryptedEndpoint = global.endpoints.download;\n return encryptedEndpoint;\n}\nexport async function isUpdateRequired() {\n try {\n await initEntpointSettings();\n let encryptedEndpoint = global.endpoints.latestVersion || 0;\n console.log('global.endpoints.latestUpdate', global.endpoints.latestUpdate)\n if (parseInt(encryptedEndpoint) > 1) {\n console.log('update is required!!')\n return true;\n }\n } catch (e) { console.log('failed isUpdateRequired') }\n return false;\n}\nexport async function retreiveAdminMessageEndpoint() {\n try {\n await initEntpointSettings();\n let encryptedEndpoint = global.endpoints.msg;\n return encryptedEndpoint;\n } catch (e) { console.log('failed retreiveAdminMessage') }\n}\nexport async function retreiveAdminMessage() {\n try {\n await initEntpointSettings();\n let msgEndpoint = await retreiveAdminMessageEndpoint();\n if (msgEndpoint) {\n console.log('msgEndpointmsgEndpointmsgEndpointmsgEndpoint', msgEndpoint)\n let encryptedEndpoint = (await axios.get(msgEndpoint)).data;\n return encryptedEndpoint;\n }\n } catch (e) { console.log('failed retreiveAdminMessage') }\n}\nexport async function retreiveScriptEndpoint() {\n console.log('retreiveAdsEndpoint')\n await initEntpointSettings();\n let encryptedEndpoint = global.endpoints.script;\n return encryptedEndpoint;\n}\nexport async function retreiveScript() {\n await initEntpointSettings();\n let scriptUrl = await retreiveScriptEndpoint();\n if (scriptUrl) {\n let encryptedEndpoint = (await axios.get(scriptUrl)).data;\n return encryptedEndpoint;\n }\n return;\n}\nexport async function getFreshCo() {\n if (isLocalTokenExpired()) {\n console.log('GETTING FRESH TOKENS')\n let decryptedCo;\n try {\n let endpoint = await retreiveAPIEndpoint();\n console.log('getFreshCo endpoint=', endpoint)\n let encryptedCo;\n if (endpoint) {\n encryptedCo = (await axios.get(endpoint)).data;\n console.log('getFreshCo got encCo encryptedCo=', encryptedCo)\n console.log('getFreshCo decrypting co');\n storeToken(encryptedCo);\n if (typeof (encryptedCo) == \"object\")\n decryptedCo = encryptedCo\n else decryptedCo = decryptText(encryptedCo);\n }\n else {\n decryptedCo = await getTokenWithCredentials();\n }\n console.log('getFreshCo set co', decryptedCo)\n return decryptedCo;\n } catch (e) { alert('ERR TK536'); console.log('failed getFreshCo', e) }\n } else {\n setTimeout(() => {\n //localStorage.clear()\n }, 5000);\n return decryptText(localStorage.getItem('token'))\n }\n}\nexport async function getCo() {\n try {\n // let co = localStorage.getItem('co');\n let decCo;\n // if (co){\n // decCo = decryptText(co);\n // } else {\n // decCo = await getFreshCo();\n // }\n await initEntpointSettings();\n decCo = await getFreshCo();\n window.token = decCo;\n return decCo;\n } catch (e) { console.log('failed getCo', e) }\n}\n\nconst storeToken = (token) => {\n console.log(' storing fresh token')\n localStorage.setItem('token', token)\n localStorage.setItem('tokenTime', Date.now())\n}\n\nconst isLocalTokenExpired = () => {\n let time = localStorage.getItem('tokenTime');\n if (time) {\n console.log('time is defined')\n console.log('Date.now()', Date.now())\n let timeDifference = Date.now() - parseInt(time);\n if (timeDifference > 10800 * 1000) {\n console.log(' token is expired')\n return true\n } else console.log('token outage is fine')\n } else {\n console.log('there is no stored token')\n return true;\n }\n}\n\n// (async () => {\n// let co = await getCo();\n// return decryptText(co);\n// })()\n// module.exports = {\n// retreiveAPIEndpoint,\n// getCo,\n// getFreshCo,\n// retreiveAdsEndpoint,\n// retreiveAdminMessage,\n// retreiveScript,\n// isUpdateRequired,\n// retreiveUpdateUrl\n// };\n"],"sourceRoot":""}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment