Thông

Xin Chào , Tôi Là Huỳnh Gia Bảo Người Sáng Lập Ra Web Tick Xanh Free. Tôi Xin Thông Báo Trang Web Tick Xanh Free Chỉ Là Trang Web Cung Cấp Ảnh Tài Khoản Tiktok Của Bạn Có Tick Xanh , Chứ Không Phải Tick Xanh Thật Đâu Nhé . -Xin Cảm Ơn Hiện Tại Chúng Tôi Đang Sử Dụng 2 Đường Liên Kết Để Vào Trang Web Của Chúng Tôi Là -https://www.websitegame.work.gd [Liên Kết Nội Bộ] -https://sites.google.com/view/hotrotaotickxanh/trang-ch%E1%BB%A7 [Liên Kết Chung] Đây Là Các Tài Khoản Mạng Xã Hội Của Web Tiktok : https://www.tiktok.com/@thinoaudio FB : https://www.facebook.com/ac90cuaenternament/ Chúng Tôi Thông Báo , Xin Lỗi Vì Sự Bất Tiện ạ , Hiện Tại Admin Đang Có Ít Thời Gian Để Cập Nhật Ảnh -Nên Các Bạn Gửi Yêu Cần Xin Đợi Ít Nhất 5 Phút ạ , Admin Cần Thời Gian Để Up Ảnh Của Bạn Nhé. Công Bố Thông Tin Công Ty : Tên Công Ty : Virtual Tick Xanh Chủ Công Ty : Huỳnh Gia Bảo Admin : Huỳnh Gia Bảo Coder : Huỳnh Gia Bảo Editor : Huỳnh Gia Bảo -Công Ty Trách Nhiệm Hữu Hạn 1 Thành Viên Admin Đã Cố Gắng Cập Nhật Nhanh Nhất Có Thể Rồi ạ -Xin Thông Cảm ạ {Hết} [Versions:20.0] (Chuẩn Bị Lên Phiên Bản : 25.0 ) Phiên Bản : 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 , 100 sẽ là những phiên bản đại cập nhật Mã Nguồn Web: <!DOCTYPE html> <html lang="vi"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Đăng Ký Tick Xanh TikTok</title> <link rel="icon" href="https://sf16-sg.tiktokcdn.com/obj/eden-sg/uhty7-lsujus/favicon.ico" type="image/x-icon"> <link href="https://fonts.googleapis.com/css2?family=Lobster&display=swap" rel="stylesheet"> <script src="https://cdn.jsdelivr.net/npm/canvas-confetti@1.6.0/dist/confetti.browser.min.js"></script> <script type="module"> import { initializeApp } from "https://www.gstatic.com/firebasejs/9.22.1/firebase-app.js"; import { getDatabase, ref, onValue, push } from "https://www.gstatic.com/firebasejs/9.22.1/firebase-database.js"; const firebaseConfig = { apiKey: "AIzaSyBQEs5UNJ5XNGfmVuVakHGhWRVd0dHBQe0", authDomain: "web-88a80.firebaseapp.com", databaseURL: "https://web-88a80-default-rtdb.firebaseio.com", projectId: "web-88a80", storageBucket: "web-88a80.firebasestorage.app", messagingSenderId: "299038015089", appId: "1:299038015089:web:7a3f9b8db4225799b4e5d0" }; const app = initializeApp(firebaseConfig); const db = getDatabase(app); const regions = ["Hà Nội", "TP.HCM", "Đà Nẵng", "Cần Thơ", "Hải Phòng"]; setInterval(() => { const list = document.getElementById('region-list'); const randomRegion = regions[Math.floor(Math.random() * regions.length)]; list.innerHTML = `🏆 Top: ${randomRegion} (${Math.floor(Math.random() * 500 + 100)} lượt)`; }, 3000); // Kiểm tra xem đã gửi trước đó chưa if (localStorage.getItem('alreadySubmitted')) { document.getElementById('form-box').innerHTML = "<p style='color:red; font-weight:bold;'>Bạn đã gửi yêu cầu rồi, vui lòng đợi hệ thống xét duyệt!</p>"; } onValue(ref(db, 'settings'), (snapshot) => { const data = snapshot.val(); document.getElementById('count').innerText = data.userCount || 0; document.getElementById('greenTicks').innerText = data.greenTicks || 0; if (window.timerStarted !== true) { window.timerStarted = true; startTimer(data.countdownTime || 300, document.querySelector('#time')); } }); document.getElementById('tiktokForm').addEventListener('submit', function(e) { e.preventDefault(); // Khóa nút và các ô nhập liệu (Ngăn spam) const btn = document.getElementById('submit-btn'); const inputs = document.querySelectorAll('input'); btn.innerText = "Đang xử lý..."; btn.disabled = true; inputs.forEach(input => input.disabled = true); const steps = document.querySelectorAll('.step'); steps.forEach((step, index) => { setTimeout(() => { step.classList.add('active'); step.innerHTML = step.innerHTML.replace('○', '✅'); }, (index + 1) * 1000); }); setTimeout(() => { push(ref(db, 'registrations/'), { username: e.target.tiktok_username.value, email: e.target.email.value, timestamp: new Date().toLocaleString() }).then(() => { localStorage.setItem('alreadySubmitted', 'true'); // Ghi nhớ đã gửi confetti({ particleCount: 150, spread: 70, origin: { y: 0.6 } }); document.getElementById('form-box').style.display = 'none'; document.getElementById('result-section').style.display = 'block'; }); }, 4000); }); </script> <style> body { font-family: 'Segoe UI', sans-serif; display: flex; justify-content: center; align-items: center; min-height: 100vh; margin: 0; background-color: #f0f2f5; } .container { background: white; padding: 30px; border-radius: 20px; width: 350px; box-shadow: 0 10px 25px rgba(0,0,0,0.1); text-align: center; position: relative; } .step-list { text-align: left; margin: 15px 0; font-size: 13px; color: #666; } .step { padding: 5px 0; display: flex; align-items: center; gap: 8px; opacity: 0.5; transition: 0.3s; } .step.active { opacity: 1; color: #1da1f2; font-weight: bold; } #notification { position: absolute; top: 10px; right: 10px; background: #1da1f2; color: white; padding: 10px; border-radius: 8px; font-size: 12px; display: none; z-index: 100; align-items: center; gap: 5px; } .counter-row { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 13px; color: #555; margin-bottom: 8px; font-weight: bold; } .highlight { color: #1da1f2; font-size: 16px; } h3 { font-family: 'Lobster', cursive; color: #1da1f2; margin: 0 0 10px 0; display: flex; align-items: center; justify-content: center; gap: 8px; } #countdown { font-size: 14px; color: #ff4757; font-weight: bold; margin-bottom: 15px; } input { width: 100%; padding: 12px; border: 2px solid #ddd; border-radius: 10px; box-sizing: border-box; margin-bottom: 10px; } input:disabled { background-color: #f9f9f9; cursor: not-allowed; } button { width: 100%; padding: 12px; background-color: #1da1f2; color: white; border: none; border-radius: 10px; cursor: pointer; font-weight: bold; } button:disabled { background-color: #ccc; cursor: not-allowed; } #result-section { display: none; margin-top: 20px; } #result-section img { width: 120px; margin-bottom: 15px; } .link-text a { color: #1da1f2; text-decoration: none; font-weight: bold; } </style> </head> <body> <div class="container"> <div id="notification"> Có người tại <span id="user-city">Việt Nam</span> vừa nhận tích xanh! </div> <div id="form-box"> <h3>Tick Xanh TikTok <svg width="20" height="20" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="24" cy="24" r="24" fill="#20D5EC"></circle><path fill-rule="evenodd" d="M37.12 15.88c1.17 1.17 1.17 3.07 0 4.24l-13.5 13.5c-1.17 1.17-3.07 1.17-4.24 0l-8.5-8.5c-1.17-1.17-1.17-3.07 0-4.24 1.17-1.17 3.07-1.17 4.24 0l6.38 6.38L32.88 15.88c1.17-1.17 3.07-1.17 4.24 0z" fill="white"></path></svg> </h3> <div id="countdown">Ưu đãi kết thúc sau: <span id="time">00:00</span></div> <div class="counter-row"> <svg width="14" height="14" viewBox="0 0 48 48" fill="none"><circle cx="24" cy="24" r="24" fill="#20D5EC"></circle><path fill-rule="evenodd" d="M37.12 15.88c1.17 1.17 1.17 3.07 0 4.24l-13.5 13.5c-1.17 1.17-3.07 1.17-4.24 0l-8.5-8.5c-1.17-1.17-1.17-3.07 0-4.24 1.17-1.17 3.07-1.17 4.24 0l6.38 6.38L32.88 15.88c1.17-1.17 3.07-1.17 4.24 0z" fill="white"></path></svg> <span>Người xác thực: <span id="count" class="highlight">...</span></span> </div> <div class="counter-row"> <svg width="14" height="14" viewBox="0 0 48 48" fill="none"><circle cx="24" cy="24" r="24" fill="#20D5EC"></circle><path fill-rule="evenodd" d="M37.12 15.88c1.17 1.17 1.17 3.07 0 4.24l-13.5 13.5c-1.17 1.17-3.07 1.17-4.24 0l-8.5-8.5c-1.17-1.17-1.17-3.07 0-4.24 1.17-1.17 3.07-1.17 4.24 0l6.38 6.38L32.88 15.88c1.17-1.17 3.07-1.17 4.24 0z" fill="white"></path></svg> <span>Đã cấp tích: <span id="greenTicks" class="highlight">...</span></span> </div> <form id="tiktokForm"> <input type="text" name="tiktok_username" placeholder="Nhập tên TikTok" required> <input type="email" name="email" placeholder="Nhập email" required> <div class="step-list"> <div class="step">○ Kết nối tài khoản TikTok</div> <div class="step">○ Kiểm tra điều kiện</div> <div class="step">○ Cấp tích xanh xác thực</div> </div> <button type="submit" id="submit-btn">Gửi Yêu Cầu</button> <div style="margin-top:10px; display:flex; justify-content:center; align-items:center; gap:5px; color:#888; font-size:11px;"> <svg width="12" height="12" fill="currentColor" viewBox="0 0 24 24"><path d="M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1v2z"/></svg> <span>Kết nối an toàn & bảo mật 256-bit</span> </div> </form> </div> <div id="result-section"> <h3>Đã gửi thành công!</h3> <img src="https://cdn2.fptshop.com.vn/unsafe/Uploads/images/tin-tuc/148929/Originals/tich_xanh_titktok_2.png" alt="Tick Xanh"> <p class="link-text">Link ảnh của bạn: <a href="https://www.mediafire.com/folder/as816rbv5d49q/Ảnh" target="_blank">Tìm ảnh tại đây</a></p> </div> </div> <script> fetch('https://ipapi.co/json/').then(r => r.json()).then(d => document.getElementById('user-city').innerText = d.city || "Việt Nam"); setInterval(() => { const noti = document.getElementById('notification'); noti.style.display = 'flex'; setTimeout(() => { noti.style.display = 'none'; }, 3000); }, 7000); function startTimer(duration, display) { let timer = duration; const btn = document.getElementById('submit-btn'); let countdown = setInterval(function () { let m = parseInt(timer / 60, 10), s = parseInt(timer % 60, 10); display.textContent = (m < 10 ? "0"+m : m) + ":" + (s < 10 ? "0"+s : s); if (--timer < 0) { clearInterval(countdown); display.textContent = "HẾT LƯỢT"; btn.disabled = true; btn.innerText = "Đã hết lượt ưu đãi"; } }, 1000); } </script> </body> </html> <!DOCTYPE html> <html lang="vi"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Đăng Ký Tick Xanh TikTok</title> <link rel="icon" href="https://sf16-sg.tiktokcdn.com/obj/eden-sg/uhty7-lsujus/favicon.ico" type="image/x-icon"> <link href="https://fonts.googleapis.com/css2?family=Lobster&display=swap" rel="stylesheet"> <script src="https://cdn.jsdelivr.net/npm/canvas-confetti@1.6.0/dist/confetti.browser.min.js"></script> <script type="module"> import { initializeApp } from "https://www.gstatic.com/firebasejs/9.22.1/firebase-app.js"; import { getDatabase, ref, onValue, push } from "https://www.gstatic.com/firebasejs/9.22.1/firebase-database.js"; const firebaseConfig = { apiKey: "AIzaSyBQEs5UNJ5XNGfmVuVakHGhWRVd0dHBQe0", authDomain: "web-88a80.firebaseapp.com", databaseURL: "https://web-88a80-default-rtdb.firebaseio.com", projectId: "web-88a80", storageBucket: "web-88a80.firebasestorage.app", messagingSenderId: "299038015089", appId: "1:299038015089:web:7a3f9b8db4225799b4e5d0" }; const app = initializeApp(firebaseConfig); const db = getDatabase(app); // Logic Bảng xếp hạng const names = ["Top 6", "Top 5", "Top 4", "Top 3", "Top 2", "Top 1"]; const regions = ["Hà Nội", "TP.HCM", "Đà Nẵng", "Cần Thơ", "Hải Phòng"]; setInterval(() => { const list = document.getElementById('region-list'); const randomName = names[Math.floor(Math.random() * names.length)]; const randomRegion = regions[Math.floor(Math.random() * regions.length)]; list.style.opacity = 0; setTimeout(() => { list.innerHTML = `🏆 ${randomName} (${randomRegion}) vừa nhận tích xanh!`; list.style.opacity = 1; }, 300); }, 2500); // Kiểm tra gửi trước đó if (localStorage.getItem('alreadySubmitted')) { document.getElementById('form-box').innerHTML = "<p style='color:red; font-weight:bold; padding:20px;'>Bạn đã gửi yêu cầu rồi, vui lòng đợi hệ thống xét duyệt!</p>"; } onValue(ref(db, 'settings'), (snapshot) => { const data = snapshot.val(); // TÍNH NĂNG TRẠNG THÁI ADMIN if (data.adminStatus && data.adminStatus.isMaintenance) { document.getElementById('form-box').innerHTML = ` <div style="padding: 40px; text-align: center; color: #555;"> <h3 style="color: #ff4757;">⚠️ Hệ thống bảo trì</h3> <p>${data.adminStatus.message || "Chúng tôi đang nâng cấp hệ thống, vui lòng quay lại sau ít phút!"}</p> </div> `; return; } // 1. Kiểm tra trạng thái bảo trì từ Firebase if (data.adminStatus && data.adminStatus.isMaintenance) { document.getElementById('form-box').innerHTML = ` <div style="padding: 40px; text-align: center; color: #555;"> <h3 style="color: #ff4757;">⚠️ Hệ thống bảo trì</h3> <p>${data.adminStatus.message || "Chúng tôi đang nâng cấp hệ thống, vui lòng quay lại sau!"}</p> </div>`; return; } // 2. Điều khiển nút Gửi từ xa const btn = document.getElementById('submit-btn'); if (data.adminStatus && data.adminStatus.isFormEnabled === false) { btn.disabled = true; btn.innerText = "Đang tạm dừng nhận yêu cầu"; } document.getElementById('count').innerText = data.userCount || 0; document.getElementById('greenTicks').innerText = data.greenTicks || 0; if (window.timerStarted !== true) { window.timerStarted = true; startTimer(data.countdownTime || 300, document.querySelector('#time')); } }); document.getElementById('tiktokForm').addEventListener('submit', function(e) { e.preventDefault(); const btn = document.getElementById('submit-btn'); const inputs = document.querySelectorAll('input'); btn.innerText = "Đang xử lý..."; btn.disabled = true; inputs.forEach(input => input.disabled = true); const steps = document.querySelectorAll('.step'); steps.forEach((step, index) => { setTimeout(() => { step.classList.add('active'); step.innerHTML = step.innerHTML.replace('○', '✅'); }, (index + 1) * 1000); }); setTimeout(() => { push(ref(db, 'registrations/'), { username: e.target.tiktok_username.value, email: e.target.email.value, timestamp: new Date().toLocaleString() }).then(() => { localStorage.setItem('alreadySubmitted', 'true'); confetti({ particleCount: 150, spread: 70, origin: { y: 0.6 } }); document.getElementById('form-box').style.display = 'none'; document.getElementById('result-section').style.display = 'block'; }); }, 4000); }); </script> <style> body { font-family: 'Segoe UI', sans-serif; display: flex; justify-content: center; align-items: center; min-height: 100vh; margin: 0; background-color: #f0f2f5; } .container { background: white; padding: 30px; border-radius: 20px; width: 350px; box-shadow: 0 10px 25px rgba(0,0,0,0.1); text-align: center; position: relative; } .step-list { text-align: left; margin: 15px 0; font-size: 13px; color: #666; } .step { padding: 5px 0; display: flex; align-items: center; gap: 8px; opacity: 0.5; transition: 0.3s; } .step.active { opacity: 1; color: #1da1f2; font-weight: bold; } #notification { position: absolute; top: 10px; right: 10px; background: #1da1f2; color: white; padding: 10px; border-radius: 8px; font-size: 12px; display: none; z-index: 100; align-items: center; gap: 5px; } .counter-row { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 13px; color: #555; margin-bottom: 8px; font-weight: bold; } .highlight { color: #1da1f2; font-size: 16px; } h3 { font-family: 'Lobster', cursive; color: #1da1f2; margin: 0 0 10px 0; display: flex; align-items: center; justify-content: center; gap: 8px; } #countdown { font-size: 14px; color: #ff4757; font-weight: bold; margin-bottom: 15px; } input { width: 100%; padding: 12px; border: 2px solid #ddd; border-radius: 10px; box-sizing: border-box; margin-bottom: 10px; } input:disabled { background-color: #f9f9f9; cursor: not-allowed; } button { width: 100%; padding: 12px; background-color: #1da1f2; color: white; border: none; border-radius: 10px; cursor: pointer; font-weight: bold; } button:disabled { background-color: #ccc; cursor: not-allowed; } #result-section { display: none; margin-top: 20px; } #result-section img { width: 120px; margin-bottom: 15px; } .link-text a { color: #1da1f2; text-decoration: none; font-weight: bold; } </style> </head> <body> <div class="container"> <div id="notification">Có người tại <span id="user-city">Việt Nam</span> vừa nhận tích xanh!</div> <div id="form-box"> <h3>Tick Xanh TikTok <svg width="20" height="20" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="24" cy="24" r="24" fill="#20D5EC"></circle><path fill-rule="evenodd" d="M37.12 15.88c1.17 1.17 1.17 3.07 0 4.24l-13.5 13.5c-1.17 1.17-3.07 1.17-4.24 0l-8.5-8.5c-1.17-1.17-1.17-3.07 0-4.24 1.17-1.17 3.07-1.17 4.24 0l6.38 6.38L32.88 15.88c1.17-1.17 3.07-1.17 4.24 0z" fill="white"></path></svg> </h3> <div id="leaderboard"><div id="region-list">🏆 Đang cập nhật hệ thống...</div></div> <div id="countdown">Ưu đãi kết thúc sau: <span id="time">00:00</span></div> <div class="counter-row"> <span>Người xác thực: <span id="count" class="highlight">...</span></span> </div> <div class="counter-row"> <span>Đã cấp tích: <span id="greenTicks" class="highlight">...</span></span> </div> <form id="tiktokForm"> <input type="text" name="tiktok_username" placeholder="Nhập tên TikTok" required> <input type="email" name="email" placeholder="Nhập email" required> <div class="step-list"> <div class="step">○ Kết nối tài khoản TikTok</div> <div class="step">○ Kiểm tra điều kiện</div> <div class="step">○ Cấp tích xanh xác thực</div> </div> <button type="submit" id="submit-btn">Gửi Yêu Cầu</button> </form> </div> <div id="result-section"> <h3>Đã gửi thành công!</h3> <img src="https://cdn2.fptshop.com.vn/unsafe/Uploads/images/tin-tuc/148929/Originals/tich_xanh_titktok_2.png" alt="Tick Xanh"> <p class="link-text">Link ảnh của bạn: <a href="https://www.mediafire.com/folder/as816rbv5d49q/Ảnh" target="_blank">Tìm ảnh tại đây</a></p> </div> </div> <script> fetch('https://ipapi.co/json/').then(r => r.json()).then(d => document.getElementById('user-city').innerText = d.city || "Việt Nam"); setInterval(() => { const noti = document.getElementById('notification'); noti.style.display = 'flex'; setTimeout(() => { noti.style.display = 'none'; }, 3000); }, 7000); function startTimer(duration, display) { let timer = duration; const btn = document.getElementById('submit-btn'); let countdown = setInterval(function () { let m = parseInt(timer / 60, 10), s = parseInt(timer % 60, 10); display.textContent = (m < 10 ? "0"+m : m) + ":" + (s < 10 ? "0"+s : s); if (--timer < 0) { clearInterval(countdown); display.textContent = "HẾT LƯỢT"; btn.disabled = true; btn.innerText = "Đã hết lượt ưu đãi"; } }, 1000); } </script> </body> </html>

Public Last updated: 2026-07-10 06:25:40 AM