⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.19
Server IP:
178.33.27.10
Server:
Linux cpanel.dev-unit.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
Server Software:
Apache/2.4.57 (Unix) OpenSSL/1.0.2k-fips
PHP Version:
8.2.11
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
id
/
public_html
/
public
/
assets
/
front
/
js
/
View File Name :
enable-push.js
initSW(); function initSW() { if (!"serviceWorker" in navigator) { //service worker isn't supported return; } //don't use it here if you use service worker //for other stuff. if (!"PushManager" in window) { //push isn't supported return; } //register the service worker navigator.serviceWorker.register(mainurl + '/sw.js') .then(() => { console.log('serviceWorker registered!') initPush(); }) .catch((err) => { console.log(err) }); } function initPush() { if (!navigator.serviceWorker.ready) { return; } new Promise(function (resolve, reject) { const permissionResult = Notification.requestPermission(function (result) { resolve(result); }); if (permissionResult) { permissionResult.then(resolve, reject); } }) .then((permissionResult) => { if (permissionResult !== 'granted') { throw new Error('We weren\'t granted permission.'); } subscribeUser(); }); } function subscribeUser() { if ('serviceWorker' in navigator) { navigator.serviceWorker.ready .then((registration) => { const subscribeOptions = { userVisibleOnly: true, applicationServerKey: urlBase64ToUint8Array( vap_pub_key ) }; return registration.pushManager.subscribe(subscribeOptions); }) .then((pushSubscription) => { console.log('Received PushSubscription: ', JSON.stringify(pushSubscription)); storePushSubscription(pushSubscription); }) .catch(err => { console.log(err); }); } } function urlBase64ToUint8Array(base64String) { var padding = '='.repeat((4 - base64String.length % 4) % 4); var base64 = (base64String + padding) .replace(/\-/g, '+') .replace(/_/g, '/'); var rawData = window.atob(base64); var outputArray = new Uint8Array(rawData.length); for (var i = 0; i < rawData.length; ++i) { outputArray[i] = rawData.charCodeAt(i); } return outputArray; } function storePushSubscription(pushSubscription) { const token = document.querySelector('meta[name=csrf-token]').getAttribute('content'); console.log(mainurl + '/push'); fetch(mainurl + '/push', { method: 'POST', body: JSON.stringify(pushSubscription), headers: { 'Accept': 'application/json', 'Content-Type': 'application/json', 'X-CSRF-Token': token } }) .then((res) => { return res.json(); }) .then((res) => { console.log(res) }) .catch((err) => { console.log(err) }); }