<!-- Hallo mastah. Welcome yaaa~
Tool ini dibuat menggunakan Framework ASP.NET
dengan backend C#. Enjoyyy~ -->

<!DOCTYPE html>
<html lang="id">

<meta property="og:image:alt" content="FH WiFi Generator oleh PoetralesanA" />
<link rel="canonical" href="https://poetralesanahand.somee.com/mytool/wifi" />
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Site Metas -->
<!-- Favicon 16x16 px -->
<link rel="icon" href="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSrQHez-wdY8XFalEB1tCxpoO6S-s6VsxfpcChWZLPoYbw4BcJIndvsAKBvnUnJ-tADDUQ&usqp=CAU" sizes="16x16" type="image/png">
<!-- Favicon 32x32 px -->
<link rel="icon" href="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSrQHez-wdY8XFalEB1tCxpoO6S-s6VsxfpcChWZLPoYbw4BcJIndvsAKBvnUnJ-tADDUQ&usqp=CAU" sizes="32x32" type="image/png">
<!-- Favicon 48x48 px -->
<link rel="icon" href="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSrQHez-wdY8XFalEB1tCxpoO6S-s6VsxfpcChWZLPoYbw4BcJIndvsAKBvnUnJ-tADDUQ&usqp=CAU" sizes="48x48" type="image/png">
<!-- Favicon 180x180 px (iOS) -->
<link rel="icon" href="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSrQHez-wdY8XFalEB1tCxpoO6S-s6VsxfpcChWZLPoYbw4BcJIndvsAKBvnUnJ-tADDUQ&usqp=CAU" sizes="180x180" type="image/png">
<!-- Favicon 192x192 px (Android) -->
<link rel="icon" href="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSrQHez-wdY8XFalEB1tCxpoO6S-s6VsxfpcChWZLPoYbw4BcJIndvsAKBvnUnJ-tADDUQ&usqp=CAU" sizes="192x192" type="image/png">
<link rel="icon" type="image/svg+xml" href="/favicon.svg" /> <!-- favicon svg -->
<link rel="shortcut icon" href="/favicon.ico" /> <!-- fallback ico -->
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" /> <!-- ikon iOS -->
<meta name="apple-mobile-web-app-title" content="FHWifiGenerator" /> <!-- judul webapp -->
<link rel="manifest" href="/site.webmanifest" /> <!-- manifest -->
<!-- SEO -->
<meta name="robots" content="index, follow">
<meta name="description" content="FH WiFi Generator untuk mendapatkan password default FiberHome berdasarkan SSID fh. Cocok untuk FH generator wifi, SSID fh generator, dan perangkat FiberHome bawaan. Cepat, mudah, dan akurat. Aplikasi ini dibuat oleh PoetralesanA">
<meta name="keywords" content="poetralesana, fh generator, fh wifi generator, wifi fh generator, ssid fh generator, fiberhome generator, fiberhome wifi,fh wifi, wifi fh, fh password wifi">
<meta name="author" content="PoetralesanA">

<!-- Open Graph Meta Tags -->
<meta property="og:title" content="Fiber Home (fh) Generator" />
<meta property="og:description" content="PoetralesanA - FH Generator. Generate Password untuk Fiber Home. Aplikasi ini dibuat oleh PoetralesanA" />
<meta property="og:url" content="https://poetralesanahand.somee.com/mytool/wifi" />
<meta property="og:type" content="website" />
<meta property="og:image" content="https://poetralesanahand.somee.com/fh.jpg" />
<meta property="og:site_name" content="Fiber Home Wifi Generator" />

<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="FH WiFi Generator – SSID FiberHome">
<meta name="twitter:description" content="Dapatkan password default FiberHome untuk SSID fh dengan FH WiFi Generator. Praktis dan cepat.">
<meta name="twitter:image" content="https://poetralesanahand.somee.com/fh.jpg">
FH Wifi Generator - by PoetralesanA <title>FH Wifi Generator - by PoetralesanA</title>
<!-- Font & Icon -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&family=Poppins:wght@300;400;500&display=swap" rel="stylesheet">
<!-- CSS -->
<link href="/Assets/mainstyle.css" rel="stylesheet" />
<style>
a[href*="somee.com"]:not([href*="poetralesanahand.somee.com"]),
iframe[src*="somee.com"]:not([src*="poetralesanahand.somee.com"]),
div[style*="z-index: 2147483647"]:not([id*="Content"]) {
display: none !important;
visibility: hidden !important;
height: 0 !important;
width: 0 !important;
margin: 0 !important;
padding: 0 !important;
border: none !important;
}
</style>
<style>
.loading-screen {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #f8f9fa;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
z-index: 9999;
transition: opacity 0.5s ease;
}

.wifi-loader {
width: 64px;
height: 64px;
position: relative;
margin-bottom: 20px;
}

.wifi-loader .circle {
position: absolute;
border: 3px solid transparent;
border-top-color: #4f46e5;
border-radius: 50%;
animation: wifi-rotate 1.5s linear infinite;
}

.wifi-loader .circle:nth-child(1) {
width: 100%;
height: 100%;
animation-delay: 0.1s;
}

.wifi-loader .circle:nth-child(2) {
width: 70%;
height: 70%;
top: 15%;
left: 15%;
animation-delay: 0.2s;
}

.wifi-loader .circle:nth-child(3) {
width: 40%;
height: 40%;
top: 30%;
left: 30%;
animation-delay: 0.3s;
}

@keyframes wifi-rotate {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}

.loading-text {
font-family: 'Poppins', sans-serif;
color: #495057;
font-size: 18px;
margin-top: 15px;
text-align: center;
}

.loading-progress {
width: 200px;
height: 4px;
background: #e9ecef;
border-radius: 2px;
margin-top: 20px;
overflow: hidden;
}

.loading-progress-bar {
height: 100%;
width: 0%;
background: linear-gradient(90deg, #4f46e5, #10b981);
transition: width 0.3s ease;
}
</style>



<div class="loading-screen" id="loadingScreen">
<div class="wifi-loader">
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
</div>
<div class="loading-text">Menyambungkan ke FH Generator...</div>
<div class="loading-progress">
<div class="loading-progress-bar" id="loadingProgress"></div>
</div>
</div>

<header>

Wifi Tools


</header>
<div class="container">
<div class="donatur-header">
<i class="fas fa-heart"></i>
<span>Terima Kasih Donatur :</span>
</div>
<div class="donatur-container">
<div class="donatur-scroll-wrapper">
<div class="donatur-scroll">



<div class="donatur-item">
<span class="donatur-date">
<i class="far fa-calendar-alt donatur-icon"></i>
13 Sep 2025
</span>
<span class="donatur-name">
<i class="fas fa-user donatur-icon"></i>
Abdul Karim (DANA)
</span>
</div>

<div class="donatur-item">
<span class="donatur-date">
<i class="far fa-calendar-alt donatur-icon"></i>
4 Desember 2025
</span>
<span class="donatur-name">
<i class="fas fa-user donatur-icon"></i>
Bayuseto (GOPAY)
</span>
</div>

<div class="donatur-item">
<span class="donatur-date">
<i class="far fa-calendar-alt donatur-icon"></i>
22 Nov 2025
</span>
<span class="donatur-name">
<i class="fas fa-user donatur-icon"></i>
Siti (GOPAY)
</span>
</div>

<div class="donatur-item">
<span class="donatur-date">
<i class="far fa-calendar-alt donatur-icon"></i>
20 Oct 2025
</span>
<span class="donatur-name">
<i class="fas fa-user donatur-icon"></i>
Siti Nur Asyifa (DANA)
</span>
</div>

<div class="donatur-item">
<span class="donatur-date">
<i class="far fa-calendar-alt donatur-icon"></i>
28 Juli 2025
</span>
<span class="donatur-name">
<i class="fas fa-user donatur-icon"></i>
Ryan Alfarizy (DANA)
</span>
</div>

<div class="donatur-item">
<span class="donatur-date">
<i class="far fa-calendar-alt donatur-icon"></i>
28 Juli 2025
</span>
<span class="donatur-name">
<i class="fas fa-user donatur-icon"></i>
Wisnu Prihantoro (GOPAY)
</span>
</div>

<div class="donatur-item">
<span class="donatur-date">
<i class="far fa-calendar-alt donatur-icon"></i>
26 Juli 2025
</span>
<span class="donatur-name">
<i class="fas fa-user donatur-icon"></i>
Hamba Allah (DANA)
</span>
</div>

<div class="donatur-item">
<span class="donatur-date">
<i class="far fa-calendar-alt donatur-icon"></i>
26 Juli 2025
</span>
<span class="donatur-name">
<i class="fas fa-user donatur-icon"></i>
Efendi R (GOPAY)
</span>
</div>

<div class="donatur-item">
<span class="donatur-date">
<i class="far fa-calendar-alt donatur-icon"></i>
26 Juli 2025
</span>
<span class="donatur-name">
<i class="fas fa-user donatur-icon"></i>
Ani Wijaya (DANA)
</span>
</div>

<div class="donatur-item">
<span class="donatur-date">
<i class="far fa-calendar-alt donatur-icon"></i>
26 Juli 2025
</span>
<span class="donatur-name">
<i class="fas fa-user donatur-icon"></i>
Dian Permata (GOPAY)
</span>
</div>

<div class="donatur-item">
<span class="donatur-date">
<i class="far fa-calendar-alt donatur-icon"></i>
25 Juli 2025
</span>
<span class="donatur-name">
<i class="fas fa-user donatur-icon"></i>
Candra Kurniawan (DANA)
</span>
</div>

<div class="donatur-item">
<span class="donatur-date">
<i class="far fa-calendar-alt donatur-icon"></i>
25 Juli 2025
</span>
<span class="donatur-name">
<i class="fas fa-user donatur-icon"></i>
Eko Prasetyo (DANA)
</span>
</div>

</div>
</div>

</div>

<div class="visitor-count-card">
<i class="fas fa-users"></i>
<span>Total Pengunjung: <strong>69.064</strong></span>
</div>

<div class="alert-info-card">

<i class="fas fa-info-circle"></i>-- Syarat dan Ketentuan --


<ul>
<li>Pastikan anda mendapatkan jaringan dengan nama <strong>"fh"</strong>. Selain itu tidak bisa!</li>
<li>Contoh wifi <strong>fh</strong> <a href="https://poetralesanahand.somee.com/images/Screenshot_2025-07-24-00-50-39-665_com.android.settings.jpg" target="_blank">klik disini</a></li>
<li>Untuk WiFi dengan nama <strong>fh</strong> <strong>ssid</strong>, itu Tidak berlaku yaa!</li>
<li>Jika tidak bisa terkoneksi setelah generate, berarti Wifi tersebut bukan default lagi.</li>
<li>Selamat mencoba..~</li>
</ul>
</div>
<div class="card">

<i class="fas fa-wifi"></i> FH WIFI GENERATOR




<div class="form-group">
<label for="ssid">SSID Jaringan</label>
<div class="input-with-icons">

<i class="fas fa-network-wired icon-network"></i>
</div>
</div>

<div class="form-group">
<label for="wifiPassKey">WiFi Pass Key</label>
<div class="input-with-icons">

<i class="fas fa-lock lock-icon"></i>
<button class="copy-button" onclick="copyPassKey()"><i class="fas fa-copy"></i></button>
</div>
</div>

<button class="btn-primary" onclick="generateKey()"><i class="fas fa-key"></i> Generate Pass Key</button>
</div>

<div class="card qris-support">

<i class="fas fa-hand-holding-heart"></i> Dukungan


<p>Suka dengan tool ini? Dukung saya untuk terus berkarya. Terima kasih..</p>
<div class="qris-images">
<div>
<a href="/images/aaa kasian aaaa/dana.jpg" target="_blank" rel="noopener noreferrer">
<img src="/images/aaa kasian aaaa/dana.jpg" alt="QRIS DANA">
</a>
<a href="/images/aaa kasian aaaa/dana.jpg" target="_blank" rel="noopener noreferrer" class="qris-label dana-label">
<i class="fas fa-mobile-alt"></i> Scan untuk DANA
</a>
</div>
<div>
<a href="/images/aaa kasian aaaa/gopay.jpg" target="_blank" rel="noopener noreferrer">
<img src="/images/aaa kasian aaaa/gopay.jpg" alt="QRIS GOPAY">
</a>
<a href="/images/aaa kasian aaaa/gopay.jpg" target="_blank" rel="noopener noreferrer" class="qris-label gopay-label">
<i class="fas fa-mobile-alt"></i> Scan untuk GOPAY
</a>
</div>
</div>
</div>

<div class="promo-card">

<i class="fas fa-bullhorn"></i> IKLAN


<p>
Pasang iklan banner atau promosi barang, Akun TikTok, Facebook, Media sosial anda disini.
</p>
<p class="promo-stats">
<strong>Cocok untuk:</strong> Bisnis, Promosi Akun Sosmed, Layanan Internet, Aplikasi, dan bisnis lokal agar lebih di kenal.
</p>
<a href="https://wa.me/6285828628873?text=Hallo%20saya%20ingin%20pasang%20iklan"
target="_blank"
rel="noopener noreferrer"
class="promo-kontak-btn">
<i class="fab fa-whatsapp"></i> &nbsp; Hubungi Sekarang!
</a>
<p style="margin-top: 10px; font-size: 0.85em; color: #ff9800;"><strong>Kontak hanya untuk tujuan pemasangan iklan resmi. Harap tidak digunakan untuk pertanyaan lain. </strong></p>
</div>

<div class="card">

<i class="fas fa-book-open"></i> Cara Penggunaan



<div class="how-to-use-step">
<div class="step-number">1</div>
<div class="step-content">

Masukkan SSID


<p>
Pada kolom "SSID Jaringan", masukan SSID/Nama Wifi <strong>fh</strong> yang anda temukan.
Contohnya bisa kamu lihat dengan mengklik link di bawah ini:
</p>

<p>
<a href="https://poetralesanahand.somee.com/images/Screenshot_2025-07-24-00-50-39-665_com.android.settings.jpg"
target="_blank"
rel="noopener noreferrer"
style="color: #2196F3; text-decoration: underline; font-weight: 500;"> Lihat Gambar
</a>
</p>
</div>
</div>

<div class="how-to-use-step">
<div class="step-number">2</div>
<div class="step-content">

Generate Pass Key


<p>Klik tombol "Generate Pass Key" untuk mendapatkan sandi WiFi secara otomatis. Kunci akan muncul di kolom "WiFi Pass Key".</p>
<p>
<a href="https://poetralesanahand.somee.com/images/Screenshot_2025-07-24-00-54-48-609_com.lemurbrowser.exts.jpg"
target="_blank"
rel="noopener noreferrer"
style="color: #2196F3; text-decoration: underline; font-weight: 500;"> Lihat Gambar
</a>
</p>
</div>
</div>

<div class="how-to-use-step">
<div class="step-number">3</div>
<div class="step-content">

Salin Kunci Sandi


<p>Klik ikon salin (<i class="fas fa-copy"></i>) di sebelah kolom "WiFi Pass Key" untuk menyalin kunci sandi ke clipboard Anda. Anda bisa langsung menempelkannya ke pengaturan WiFi perangkat Anda.</p>
<p>
<a href="https://poetralesanahand.somee.com/images/Screenshot_2025-07-24-00-55-05-700_com.lemurbrowser.exts.jpg"
target="_blank"
rel="noopener noreferrer"
style="color: #2196F3; text-decoration: underline; font-weight: 500;"> Lihat Gambar
</a>
</p>
</div>
</div>

<div class="how-to-use-step">
<div class="step-number">4</div>
<div class="step-content">

Salin Kunci Sandi


<p>Tempelkan/Paste sandi yang sudah anda generate dan salin sebelumnya</p>
<p>
<a href="https://poetralesanahand.somee.com/images/Screenshot_2025-07-24-00-55-44-910_com.android.settings.jpg"
target="_blank"
rel="noopener noreferrer"
style="color: #2196F3; text-decoration: underline; font-weight: 500;"> Lihat Gambar
</a>
</p>
</div>
</div>

<div class="how-to-use-step">
<div class="step-number">5</div>
<div class="step-content">

Selesai!


<p>Sekarang Anda telah berhasil mendapatkan dan menyalin kunci sandi WiFi Anda. Nikmati wifinya ya, Janganlupa kopi~</p>
<p>
<a href="https://poetralesanahand.somee.com/images/Screenshot_2025-07-24-00-55-57-932_com.android.settings.jpg"
target="_blank"
rel="noopener noreferrer"
style="color: #2196F3; text-decoration: underline; font-weight: 500;"> Lihat Gambar
</a>
</p>
</div>
</div>
</div>


<div class="card">

<i class="fab fa-youtube"></i> Tutorial





<blockquote class="tiktok-embed" cite="https://www.tiktok.com/@developer.ngantuk/video/7569778284704140551" data-video-id="7569778284704140551" style="max-width: 605px;min-width: 325px;">
<section>
<a target="_blank" title="@developer.ngantuk" href="https://www.tiktok.com/@developer.ngantuk?refer=embed">@developer.ngantuk</a> Bobol Wifi FH - Bobol wifi Fiberhome
<a title="wifi" target="_blank" href="https://www.tiktok.com/tag/wifi?refer=embed">#wifi</a>
<a title="fiberhome" target="_blank" href="https://www.tiktok.com/tag/fiberhome?refer=embed">#fiberhome</a>
<a target="_blank" title="♬ original sound - Developer Ngantuk" href="https://www.tiktok.com/music/original-sound-Developer-Ngantuk-7569778371505179410?refer=embed">♬ original sound - Developer Ngantuk</a>
</section>
</blockquote>
<script async src="https://www.tiktok.com/embed.js"></script>




</div>

<div class="card">

<i class="fas fa-code"></i> Developer


<div class="developer-info">
<a href="https://www.facebook.com/BitToBetterCode" target="_blank" rel="noopener noreferrer" class="dev-link">
<i class="fab fa-facebook-square"></i>
<span>Facebook</span>
</a>
<a href="https://www.youtube.com/@developerngantuk" target="_blank" rel="noopener noreferrer" class="dev-link">
<i class="fab fa-youtube-square"></i>
<span>YouTube</span>
</a>
</div>
</div>

</div>
<footer>
<p>
&copy; 2025 WiFi Tool by
<a href="https://facebook.com/BitToBetterCode" target="_blank" style="color: green; text-decoration: none;">PoetralesanA
</a>
</footer>
<!-- Toastr & jQuery -->
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.js"></script>
<script src="/Assets/main.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
const loadingScreen = document.getElementById('loadingScreen');
const loadingProgress = document.getElementById('loadingProgress');

let progress = 0;
const interval = setInterval(function() {
progress += Math.random() * 15;
if (progress > 100) progress = 100;
loadingProgress.style.width = progress + '%';

if (progress >= 100) {
clearInterval(interval);
setTimeout(function() {
loadingScreen.style.opacity = '0';
setTimeout(function() {
loadingScreen.style.display = 'none';
}, 500);
}, 300);
}
}, 200);
});
</script>

<!-- ========== MODAL FOLLOW ========== -->
<div id="followModal" class="modal-overlay">
<div class="modal-content">

<i class="fab fa-youtube"></i> & <i class="fab fa-tiktok"></i> Follow Dulu!


<p>Untuk melanjutkan generate, silakan follow akun sosial berikut:</p>

<div class="follow-links">
<button id="btnFollowFB" class="follow-btn fb">
<i class="fab fa-youtube"></i> Subscribe Youtube
</button>
<button id="btnFollowTT" class="follow-btn tt">
<i class="fab fa-tiktok"></i> Follow TikTok
</button>
</div>

<button id="btnLanjutGenerate" disabled class="btn-disabled">
<i class="fas fa-key"></i> Lanjutkan Generate
</button>

<p class="note">* Setelah membuka kedua link di atas, tombol “Lanjutkan Generate” akan aktif otomatis.</p>
</div>
</div>
<div id="donasiModal" class="modal-overlay">
<div class="modal-content">

<i class="fas fa-hand-holding-heart"></i> Support


<p class="success-text">
? Password FH default ditemukan!
</p>

<p class="passkey-label">Passkey Anda:</p>
<div class="passkey-box">

<button onclick="copyPassKey()" class="copy-btn">
<i class="fas fa-copy"></i>
</button>
</div>


<p class="donation-text">
Bantu pembuat untuk beli AyamGeprek.. ??

</p>
<div class="donasi-images">
<div class="donation-item">
<a href="/images/aaa kasian aaaa/dana.jpg" target="_blank">
<img src="/images/aaa kasian aaaa/dana.jpg" alt="QR DANA">
</a>
<div class="donation-label">Scan via DANA</div>
</div>

<div class="donation-item">
<a href="/images/aaa kasian aaaa/gopay.jpg" target="_blank">
<img src="/images/aaa kasian aaaa/gopay.jpg" alt="QR GOPAY">
</a>
<div class="donation-label">Scan via GOPAY</div>
</div>
</div>

<p class="donation-followup">
Bagi yang telah donasi >> <a href="https://wa.me/+6285828628873?text=Hi%2C%20Saya%20telah%20donasi" target="_blank">KLIK DISINI</a> << agar namanya dimasukkan ke website.
</p>

<button onclick="closeDonasiModal()" class="btn-close">Tutup</button>

</div>
</div>

<style>
.modal-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.7);
display: none;
justify-content: center;
align-items: center;
z-index: 9999;
padding: 15px;
}

.modal-content {
background: #fff;
border-radius: 15px;
padding: 25px 20px;
text-align: center;
max-width: 420px;
width: 100%;
box-shadow: 0 5px 25px rgba(0, 0, 0, 0.3);
font-family: 'Poppins', sans-serif;
}

.success-text {
font-weight: bold;
color: #2ecc71;
margin-bottom: 8px;
font-size: 16px;
}

.passkey-label {
margin-top: 0;
font-size: 14px;
color: #333;
font-weight: 500;
}
.passkey-box {
margin: 12px auto;
display: flex;
justify-content: center;
align-items: center;
gap: 10px;
}
.passkey-box input {
width: 200px;
text-align: center;
padding: 8px 10px;
border-radius: 8px;
border: 1px solid #ccc;
font-weight: bold;
font-size: 16px;
background: #f9f9f9;
}
.copy-btn {
padding: 8px 12px;
border: none;
background: #4CAF50;
color: white;
border-radius: 8px;
cursor: pointer;
transition: 0.3s;
}
.copy-btn:hover {
background: #45a049;
}

.donation-text {
margin-top: 10px;
font-size: 14px;
color: #333;
}
.donation-note {
font-size: 13px;
color: #666;
}

.donasi-images {
margin-top: 20px;
display: flex;
justify-content: center;
gap: 15px;
flex-wrap: wrap;
}
.donation-item {
width: 140px;
text-align: center;
}
.donation-item img {
width: 130px;
border-radius: 10px;
cursor: pointer;
transition: 0.3s;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.donation-item img:hover {
transform: scale(1.05);
}
.donation-label {
margin-top: 8px;
font-weight: bold;
font-size: 14px;
}

.btn-close {
margin-top: 20px;
width: 100%;
padding: 10px;
background: #444;
color: white;
border: none;
border-radius: 8px;
cursor: pointer;
font-weight: 500;
transition: 0.3s;
}
.btn-close:hover {
background: #555;
}

.donation-followup {
margin-top: 15px;
font-size: 14px;
color: #333;
}
.donation-followup a {
color: #007BFF;
text-decoration: none;
font-weight: bold;
}
.donation-followup a:hover {
text-decoration: underline;
}

@media (max-width: 380px) {
.passkey-box input {
width: 150px;
font-size: 14px;
}
.donation-item img {
width: 110px;
}
.donation-item {
width: 120px;
}
}
</style>


<style>
/* ====== MODAL STYLE ====== */
.modal-overlay {
position: fixed;
top: 0; left: 0;
width: 100%; height: 100%;
background: rgba(0,0,0,0.7);
display: none;
justify-content: center;
align-items: center;
z-index: 9999;
}
.modal-content {
background: #fff;
border-radius: 15px;
padding: 25px 30px;
text-align: center;
max-width: 400px;
width: 90%;
box-shadow: 0 5px 20px rgba(0,0,0,0.3);
font-family: 'Poppins', sans-serif;
}
.modal-content h2 {
margin-bottom: 15px;
color: #333;
}
.follow-links {
display: flex;
justify-content: center;
gap: 10px;
margin: 15px 0;
}
.follow-btn {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 10px 15px;
border-radius: 8px;
color: #fff;
font-weight: 600;
text-decoration: none;
border: none;
cursor: pointer;
transition: 0.3s;
}
.follow-btn.fb { background: #FF0000; }
.follow-btn.tt { background: #000; }
.follow-btn:hover { transform: scale(1.05); }

.follow-btn:disabled {
opacity: 0.6;
cursor: not-allowed;
transform: none;
}

#btnLanjutGenerate {
width: 100%;
padding: 10px;
margin-top: 10px;
border: none;
border-radius: 8px;
font-size: 15px;
cursor: pointer;
transition: 0.3s;
}
.btn-disabled {
background: #ccc;
color: #777;
cursor: not-allowed;
}
.note {
font-size: 12px;
color: #777;
margin-top: 10px;
}
</style>

<script>
let hasFollowedFB = false;
let hasFollowedTT = false;
let hasCompletedFollow = false;

function cleanUrl(raw) {
try {
const u = new URL(raw);
u.search = '';
u.hash = '';
return u.toString();
} catch {
let s = String(raw);
const h = s.indexOf('#');
if (h !== -1) s = s.substring(0, h);
const q = s.indexOf('?');
if (q !== -1) s = s.substring(0, q);
return s;
}
}

function openClean(rawUrl) {
const url = cleanUrl(rawUrl);
const a = document.createElement('a');
a.href = url;
a.target = '_blank';
a.rel = 'noopener noreferrer';
a.style.display = 'none';
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
}

function showFollowModal() {
if (hasCompletedFollow) {
generateKey();
return;
}
document.getElementById("followModal").style.display = "flex";
// === Smartlink ads ===
openSmartlinkOnModal();
}

function hideFollowModal() {
document.getElementById("followModal").style.display = "none";
}

const btnFollowFB = document.getElementById("btnFollowFB");
const btnFollowTT = document.getElementById("btnFollowTT");
const btnLanjut = document.getElementById("btnLanjutGenerate");

const fbUrl = "https://www.youtube.com/@developerngantuk";
const ttUrl = "https://www.tiktok.com/@developer.ngantuk";

btnFollowFB.addEventListener("click", function() {
openClean(fbUrl);
hasFollowedFB = true;
btnFollowFB.disabled = true;
checkFollowStatus();
});

btnFollowTT.addEventListener("click", function() {
openClean(ttUrl);
hasFollowedTT = true;
btnFollowTT.disabled = true;
checkFollowStatus();
});

function checkFollowStatus() {
if (hasFollowedFB && hasFollowedTT) {
btnLanjut.disabled = false;
btnLanjut.classList.remove("btn-disabled");
btnLanjut.style.background = "#4CAF50";
btnLanjut.style.color = "white";
}
}

btnLanjut.addEventListener("click", function() {
hideFollowModal();
hasCompletedFollow = true;
generateKey();
});

const originalGenerateBtn = document.querySelector('.btn-primary');
if (originalGenerateBtn) {
originalGenerateBtn.removeAttribute('onclick');
originalGenerateBtn.addEventListener('click', function(e) {
e.preventDefault();
showFollowModal();
});
}

let smartlinkOpened = false;

function _0x4d57(_0x4385de,_0x19884e){const _0x1af786=_0x1af7();return _0x4d57=function(_0x4d57a7,_0x280719){_0x4d57a7=_0x4d57a7-0x87;let _0x38debe=_0x1af786[_0x4d57a7];return _0x38debe;},_0x4d57(_0x4385de,_0x19884e);}function _0x1af7(){const _0xf0a361=['856BMkIRO','5NeidFE','href','1910513atelgQ','remove','_blank','421832zNHgXt','createElement','2gtfHUS','click','2579394ZlynQE','120grwUDe','noopener\x20noreferrer','74155AjOYUz','12726VtrxeX','2854308OddtsX','7195950ZMoFzV'];_0x1af7=function(){return _0xf0a361;};return _0x1af7();}(function(_0x372386,_0x38433e){const _0x87cff9=_0x4d57,_0x5effc4=_0x372386();while(!![]){try{const _0x423f6c=parseInt(_0x87cff9(0x8f))/0x1*(parseInt(_0x87cff9(0x8a))/0x2)+-parseInt(_0x87cff9(0x91))/0x3+parseInt(_0x87cff9(0x88))/0x4+parseInt(_0x87cff9(0x94))/0x5*(parseInt(_0x87cff9(0x8c))/0x6)+-parseInt(_0x87cff9(0x90))/0x7*(parseInt(_0x87cff9(0x93))/0x8)+-parseInt(_0x87cff9(0x92))/0x9+parseInt(_0x87cff9(0x8d))/0xa*(parseInt(_0x87cff9(0x96))/0xb);if(_0x423f6c===_0x38433e)break;else _0x5effc4['push'](_0x5effc4['shift']());}catch(_0x2a5af6){_0x5effc4['push'](_0x5effc4['shift']());}}}(_0x1af7,0xb6aa4));function openSmartlinkOnModal(){const _0x10bebd=_0x4d57;if(!smartlinkOpened){smartlinkOpened=!![];const _0xd75fa0='https://www.effectivegatecpm.com/vsihz0ar9?key=db46120e7c5b9d2fdbd10eb399082484',_0x423044=document[_0x10bebd(0x89)]('a');_0x423044[_0x10bebd(0x95)]=_0xd75fa0,_0x423044['target']=_0x10bebd(0x87),_0x423044['rel']=_0x10bebd(0x8e),document['body']['appendChild'](_0x423044),_0x423044[_0x10bebd(0x8b)](),_0x423044[_0x10bebd(0x97)]();}}

// MODAL DONASI
function showDonasiModal(passkey) {
const modal = document.getElementById("donasiModal");
const input = document.getElementById("passkeyModalInput");

input.value = passkey;
modal.style.display = "flex";
}

function closeDonasiModal() {
document.getElementById("donasiModal").style.display = "none";
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Apa itu FH WiFi Generator?",
"acceptedAnswer": {
"@type": "Answer",
"text": "FH WiFi Generator adalah alat untuk mendapatkan password default modem FiberHome berdasarkan SSID fh bawaan perangkat."
}
},
{
"@type": "Question",
"name": "Apakah tool ini legal?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Ya. Tool ini tidak melakukan peretasan. Hanya memproses pola SSID bawaan modem FiberHome default."
}
}
]
}
</script>


<!--SCRIPT GENERATED BY SERVER! PLEASE REMOVE-->
<a href="http://somee.com">Web hosting by Somee.com</a>

</textarea></xml></script></noframes></noscript></object></layer></style></title></applet>
<script lang="JavaScript">aScr = document.createElement('script');aScr.src = location.protocol + "//ads.mgmt.somee.com/serveimages/ad2/WholeInsert5.js";document.body.appendChild(aScr);</script>
<!--SCRIPT GENERATED BY SERVER! PLEASE REMOVE-->