MashaGuard Documentation

Selamat datang di dokumentasi resmi MashaGuard V2. MashaGuard adalah platform keamanan untuk website yang melindungi aset JavaScript Anda dari reverse engineering, bot, dan akses tidak sah.

Cara kerjanya: pasang satu baris script di website Anda. Saat ada yang mencoba membuka DevTools atau mengakses file JS Anda secara langsung, MashaGuard otomatis mendeteksi, mengumpulkan data forensik pelaku, dan melaporkannya ke dashboard Anda.

Quick Installation

Tambahkan script berikut di halaman website Anda — letakkan sebelum tag </body>:

HTML
<script src="https://guard.masha.my.id/masha.js"></script>

SDK akan otomatis melakukan handshake dan mulai melindungi halaman. Tidak perlu kode tambahan.

Catatan: Pastikan domain website Anda sudah terdaftar di Authorized Domain pada dashboard. Lihat bagian Authorized Domain.

Environment Setup

Sebelum integrasi, pastikan Anda sudah:

  1. Register akun di halaman Register.
  2. Login ke dashboard dan salin API Key dari menu Settings.
  3. Daftarkan domain website Anda di menu Settings → Authorized Domain.

API Key digunakan untuk membuat endpoint handshake di server Anda — lihat section berikutnya.

Zero-Exposure Handshake

MashaGuard tidak pernah mengirim API Key ke browser. Sebagai gantinya, SDK akan meminta token dari endpoint /.masha-handshake di server Anda sendiri. Server Anda yang membuat token menggunakan API Key, browser hanya menerima token sekali pakai.

Node.js (Express)

Javascript
const crypto = require('crypto');

app.get('/.masha-handshake', (req, res) => {
    const secret = process.env.MASHAGUARD_API_KEY;
    if (!secret) return res.status(500).json({ error: 'NOT_CONFIGURED' });

    const ts = Math.floor(Date.now() / 1000);
    const token = crypto
        .createHmac('sha256', secret)
        .update(ts.toString())
        .digest('hex');

    res.json({
        token: token,
        ts: ts,
        user: 'username_anda'
    });
});

PHP

PHP
<?php
// .masha-handshake.php
$secret = getenv('MASHAGUARD_API_KEY');
if (!$secret) {
    http_response_code(500);
    exit(json_encode(['error' => 'NOT_CONFIGURED']));
}

$ts = time();
$token = hash_hmac('sha256', (string)$ts, $secret);

header('Content-Type: application/json');
echo json_encode([
    'token' => $token,
    'ts' => $ts,
    'user' => 'username_anda'
]);
Penting: Ganti username_anda dengan username yang terdaftar di dashboard MashaGuard. Endpoint ini HARUS di server Anda, bukan di MashaGuard server.

Dashboard Overview

Setelah login ke dashboard, Anda akan melihat Control Center yang menampilkan:

  • Monitoring Cards — Total intrusi, profil AI aktif, identitas server.
  • Live Feed — Notifikasi real-time saat ada intrusi terjadi.
  • Configuration Panel — Toggle proteksi, atur domain, sesuaikan timeout.
  • Security Feed — Riwayat log intrusi lengkap dengan data forensik.

Setiap intrusi tercatat dengan session ID, MG-Eye (fingerprint unik), browser, OS, timestamp, dan domain asal.

Protection Settings

Dari dashboard, Anda bisa mengatur beberapa opsi proteksi:

Guard

Toggle utama. Jika aktif, MashaGuard akan mendeteksi dan merespon intrusi. Jika nonaktif, SDK tetap terpasang tapi tidak melakukan tindakan.

AI Core

Mengaktifkan AI yang akan berinteraksi dengan pelaku melalui console browser. Tersedia 3 kepribadian:

  • SOFT — Peringatan misterius dan intimidasi halus.
  • BALANCED — Playful namun tegas (default).
  • AGGRESSIVE — Singkat, langsung, terminasi sesi.

Kick

Jika aktif, pelaku akan otomatis diarahkan ke Google setelah batas waktu tertentu (1-300 detik). Berguna untuk memastikan pelaku tidak berlama-lama di halaman.

Authorized Domain

Untuk alasan keamanan, MashaGuard hanya akan berjalan di domain yang sudah Anda daftarkan. Ini mencegah orang lain menggunakan API Key Anda di website mereka.

Cara Mendaftarkan Domain

  1. Buka dashboard MashaGuard → Settings.
  2. Isi field Authorized Domain dengan domain Anda.
  3. Klik Apply Config.

Multi Domain

Jika Anda punya lebih dari satu website, pisahkan dengan koma:

Contoh
domain1.com,domain2.com,app.domain3.com

Subdomain dianggap domain terpisah. Jika ingin melindungi app.domain.com, daftarkan app.domain.com bukan domain.com.

Tip: Untuk development di local, Anda tidak perlu mendaftarkan localhost — otomatiz diizinkan.

Troubleshooting

SDK tidak bekerja / tidak ada proteksi

  • Pastikan Guard aktif di dashboard (toggle hijau).
  • Pastikan domain Anda sudah terdaftar di Authorized Domain.
  • Periksa endpoint /.masha-handshake di server Anda — harus return JSON dengan token, ts, user.
  • Cek console browser untuk error. Jika ada error 401/403, ada masalah autentikasi.

Error "MIME type text/html" saat load masha.js

Ini berarti URL masha.js tidak bisa dijangkau. Pastikan URL script tag mengarah ke server MashaGuard yang benar:

HTML
<script src="https://guard.masha.my.id/masha.js"></script>

Intrusion terdeteksi padahal saya sendiri yang buka

MashaGuard mendeteksi DevTools. Jika Anda membuka DevTools di website yang dilindungi, itu akan dianggap intrusi. Nonaktifkan Guard sementara di dashboard saat Anda perlu debugging.

Handshake gagal / error NOT_CONFIGURED

  • Pastikan MASHAGUARD_API_KEY terisi di environment server Anda.
  • Pastikan endpoint handshake bisa diakses di https://domain-anda/.masha-handshake.
  • Pastikan username di response handshake sesuai dengan akun dashboard Anda.