From c8a46c177f3cb4563554110b278759138937404d Mon Sep 17 00:00:00 2001 From: amal Date: Mon, 30 Jun 2025 17:38:15 +0800 Subject: [PATCH] coba fcm encrypt --- src/app/api/mobile/fcm/[[...slug]]/route.ts | 3 +- xenc | 1 + xsend.ts | 33 ++++++--------------- 3 files changed, 11 insertions(+), 26 deletions(-) create mode 100644 xenc diff --git a/src/app/api/mobile/fcm/[[...slug]]/route.ts b/src/app/api/mobile/fcm/[[...slug]]/route.ts index 4cfd878..a3ebc25 100644 --- a/src/app/api/mobile/fcm/[[...slug]]/route.ts +++ b/src/app/api/mobile/fcm/[[...slug]]/route.ts @@ -1,4 +1,3 @@ -import { sendFCM } from "@/lib/firebase/fcm"; import elysia from "elysia"; import { sendFCMNotification } from "../../../../../../xsend"; @@ -12,7 +11,7 @@ const ApiV2 = new elysia({ 'c89yuexsS_uc1tOErVPu5a:APA91bEb6tEKXAfReZjFVJ2mMyOzoW_RXryLSnSJTpbIVV3G0L_DCNkLuRvJ02Ip-Erz88QCQBAt-C2SN8eCRxu3-v1sBzXzKPtDv-huXpkjXsyrkifqvUo', 'cRz96GHKTRaQaRJ35e8Hxa:APA91bEUSxE0VPbqKSzseQ_zGhbYsDofMexKykRw7o_3z2aPM9YFmZbeA2enrmb3qjdZ2g4-QQtiNHAyaZqAT1ITOrwo9jVJlShTeABmEFYP5GLEUZ3dlLc' ] - sendFCMNotification('c89yuexsS_uc1tOErVPu5a:APA91bEb6tEKXAfReZjFVJ2mMyOzoW_RXryLSnSJTpbIVV3G0L_DCNkLuRvJ02Ip-Erz88QCQBAt-C2SN8eCRxu3-v1sBzXzKPtDv-huXpkjXsyrkifqvUo') + await sendFCMNotification('c89yuexsS_uc1tOErVPu5a:APA91bEb6tEKXAfReZjFVJ2mMyOzoW_RXryLSnSJTpbIVV3G0L_DCNkLuRvJ02Ip-Erz88QCQBAt-C2SN8eCRxu3-v1sBzXzKPtDv-huXpkjXsyrkifqvUo') return { data: "success elysia" }; diff --git a/xenc b/xenc new file mode 100644 index 0000000..26f0195 --- /dev/null +++ b/xenc @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/xsend.ts b/xsend.ts index 1406ac4..4b99f4b 100644 --- a/xsend.ts +++ b/xsend.ts @@ -1,32 +1,17 @@ // Impor Firebase Admin SDK -import { initializeApp, cert, getApp, getApps } from "firebase-admin/app"; +import CryptoJs from 'crypto-js'; +import { cert, getApps, initializeApp } from "firebase-admin/app"; import { getMessaging } from "firebase-admin/messaging"; -import path from "path"; -import fs from 'fs/promises' - - -const key = { - "type": "service_account", - "project_id": "mobile-darmasaba", - "private_key_id": "764e1207d5acf4db2eac539256c8f1bf397c7d8f", - "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCwCU9PBpAbXsOl\ntb1syvWrmH3FSDRyI4oOVWZJRqYX+j44UTNfzTjYySpNy7x1lr91uOC2GGHJeFvT\nLg5er6uvzFvzwg42A8Rz4+aqxlUhvhNXYRyfaaP7tbui5X9GEmhKYzvYd6T/6z1u\njo7LE1tBaiB8eB69tSJidGcr90yXOsbvKFgaPkpvlrseNR/t0PYDUaXHsxdKvCHI\ntK13KxhJCJrU9+/W1Wwr+45WGfK9m+jLVuOEZT9dd3FUgDn/0CFzykZLA0iHRLjx\neczahlrlvLVCtUIJjHbmsjG8vLZyl6/puh1l2OkEZyADb6m7OOxFVTo5ADZvj4nD\nVCCirdMVAgMBAAECggEAMF0mbnJBpltnSkA/vkOWsmHPcCOx0QgFloGM/CXOXTkR\n3hwlDrWN4DWIi14ltXLIwFmeVzkkqJsKM19scEQ4WbC+NJ7Ek79+Ok7LYXDjE8Wq\nf6+9EukNtgqMdikySfilsYZI+2SHrw4czyKYhZ+YS0USjs/btkgtHbqYW+JyJvv4\nlXAGp3129kbOHTc6+DBq6tn4XiRMKUdBNtcRHe9k+zAIuwbeAdsl4bock1ADnMIv\n/Q4FfOua+nJl8MUpPCZDvz14az+3j/rUVkR/wgDqQirFNRfFfpEPNM2oXVSjp0oK\nTC8NEy5mN4aj0DYS8U2x8barsAFDr5N4L9JxTtdlgwKBgQDkXK9iieIe1/yJFDw6\ntHbQu/bl+t82DESapss62++6ckh2mo+IScvVg/rCwXIag7IRQO40BHWwYTrOwTbj\nD1VUamn6UaqJHpIjDj/SK+As3DumuOTcb+kbJq9TpjLGeR2hj0aKcFXAjL5+B+yr\nBt7fVsB2uhouS9aD68HV8azsxwKBgQDFV2yRKgSf11vNRsxtJekpZ7ruF4h8OZPA\nHcq1kMDPRJcuVD9XwG7RAEgxcErKKS6NrrT/2Iaq5r+P3owgxZ6yB5pabGGvsgcg\nqrvsVEjzETsrrDbp5IevwE/MTwplakr6vJBnfAyjqMbDQSGSZPp+6S8M5JtZhJDL\n9Pqy6yxNQwKBgEE9ZXGuWKZdKC11VXukAOnDOVcco9ZKDPNtwVPQb52BdshDgcv6\n4Tvfl606HMIMa7vYI/VCbOj17hoRQv/9anBScnJsEF9aF3/iW0NM+591T6li2ydK\n5Xq3Q5GPQqRHB7sXNpzoWOdIjkdtNiTqMpP1sch5hG9DhUZs/RSFFdUTAoGBALyV\nyD2NXu/1WVh5cQBZe1FDPMMtIBQ+3bB5h+8tDuTEEomGnyXX0s7OKy97tS0uX7us\nGnJo1IDblHMDZPwofnh5hYsmCdBiHCeeoYm+HhyS+e3JXIz2BKjy6g8/9ZpnEpI8\nwu7yAA4iSxfq1Q9Win/fjUQP71mDsvAGA9IZpbOLAoGBAK57RjNemVh3oNB5ZaQs\n45WzfmPPjKoDQdMYLtohHz9HhPxYFLuvlDc/9OcWFCz3tZHtyDrUtXvv+vX+rG4Y\nemxXkqdg3lYo7nayw772myJb2w6QIfGyuSRx/C1/phmPhp+UkHk7B+KdvWhpPmCC\nBufws2LSn5VZzivO6LrwSCfR\n-----END PRIVATE KEY-----\n", - "client_email": "firebase-adminsdk-fbsvc@mobile-darmasaba.iam.gserviceaccount.com", - "client_id": "105653213329235865762", - "auth_uri": "https://accounts.google.com/o/oauth2/auth", - "token_uri": "https://oauth2.googleapis.com/token", - "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", - "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-fbsvc%40mobile-darmasaba.iam.gserviceaccount.com", - "universe_domain": "googleapis.com" -} - +const enc = "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" +const decrypt = CryptoJs.AES.decrypt(enc, "amal").toString(CryptoJs.enc.Utf8) // Fungsi untuk mengirim notifikasi FCM export async function sendFCMNotification(token: string) { - const serviceAccount = await fs.readFile(path.join(process.cwd(), "key.json")); + // const serviceAccount = await fs.readFile(path.join(process.cwd(), "key.json")); if(getApps().length === 0){ initializeApp({ - credential: cert(JSON.parse(serviceAccount.toString())), + credential: cert(JSON.parse(decrypt)), }); } @@ -34,8 +19,8 @@ export async function sendFCMNotification(token: string) { // Konfigurasi pesan const message = { notification: { - title: "Judul Notifikasi", - body: "Ini adalah isi notifikasi", + title: "Judul Notifikasi pake encrypt", + body: "Ini adalah isi notifikasi key diencrypt", }, token, data: { @@ -70,4 +55,4 @@ export async function sendFCMNotification(token: string) { } } -sendFCMNotification('c89yuexsS_uc1tOErVPu5a:APA91bEb6tEKXAfReZjFVJ2mMyOzoW_RXryLSnSJTpbIVV3G0L_DCNkLuRvJ02Ip-Erz88QCQBAt-C2SN8eCRxu3-v1sBzXzKPtDv-huXpkjXsyrkifqvUo') \ No newline at end of file +// sendFCMNotification('c89yuexsS_uc1tOErVPu5a:APA91bEb6tEKXAfReZjFVJ2mMyOzoW_RXryLSnSJTpbIVV3G0L_DCNkLuRvJ02Ip-Erz88QCQBAt-C2SN8eCRxu3-v1sBzXzKPtDv-huXpkjXsyrkifqvUo') \ No newline at end of file