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>:
<script src="https://guard.masha.my.id/masha.js"></script>
SDK akan otomatis melakukan handshake dan mulai melindungi halaman. Tidak perlu kode tambahan.
Environment Setup
Sebelum integrasi, pastikan Anda sudah:
- Register akun di halaman Register.
- Login ke dashboard dan salin API Key dari menu Settings.
- 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)
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
// .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'
]);
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
- Buka dashboard MashaGuard → Settings.
- Isi field Authorized Domain dengan domain Anda.
- Klik Apply Config.
Multi Domain
Jika Anda punya lebih dari satu website, pisahkan dengan koma:
domain1.com,domain2.com,app.domain3.com
Subdomain dianggap domain terpisah. Jika ingin melindungi app.domain.com, daftarkan app.domain.com bukan domain.com.
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-handshakedi server Anda — harus return JSON dengantoken,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:
<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_KEYterisi 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.