-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgo.html
More file actions
1 lines (1 loc) · 5.1 KB
/
go.html
File metadata and controls
1 lines (1 loc) · 5.1 KB
1
<!doctype html><html lang=vi><meta charset=UTF-8><meta name=viewport content="width=device-width,initial-scale=1"><title>Redirect | Abc's Noob</title><link rel=stylesheet href=https://cdn.jsdelivr.net/npm/bootstrap@5.3.7/dist/css/bootstrap.min.css><link rel=stylesheet href=https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css><style>:root{--danger:#ff4d4d;--primary:#0d6efd;--success:#28a745}body{transition:.4s;min-height:100vh;display:flex;flex-direction:column;font-family:"Segoe UI",sans-serif}.redirect-card{max-width:550px;margin:auto;border-radius:24px;border:none;box-shadow:0 15px 35px rgba(0,0,0,.15);overflow:hidden}.preview-box{width:100%;height:240px;background:#f8f9fa;display:flex;align-items:center;justify-content:center}#screenshot{width:100%;height:100%;object-fit:cover;display:none}body.is-dangerous{background:#2b0000!important}.is-dangerous .redirect-card{border:4px solid var(--danger)}.is-dangerous #timer-area,.is-dangerous #direct-link{display:none!important}.loader{width:40px;height:40px;border:4px solid #eee;border-top:4px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#timer-area{display:none}.btn.disabled{pointer-events:none;opacity:.7}/* HTML: <div class="loader"></div> */.loader1 {width:50px;aspect-ratio:1;border-radius:50%;border:8pxsolid#0000;border-right-color:#ffa50097;position:relative;animation: l24 1s infinite linear;}.loader1:before,.loader1:after{content:"";position:absolute;inset:-8px;border-radius:50%;border:inherit;animation:inherit;animation-duration:2s;}.loader1:after{animation-duration:4s;}@keyframesl24{100%{transform:rotate(1turn)}}</style><bodyclass=bg-light><navclass="navbarnavbar-darkbg-dark shadow"><div class="container justify-content-center"><a class="navbar-brand fw-bold" href=#><img src=./assets/image/abcsnoob.webp style="width:30px;border-radius:50%;margin-right:8px">Abc's Noob</a></div></nav><div class="container py-5"><div class="card redirect-card"><div class=preview-box><div id=ld class=text-center><div class="loader mx-auto mb-2"></div><small class="text-muted fw-bold">DANG KIEM TRA...</small></div><img id=screenshot></div><div class="card-body p-4 p-md-5 text-center"><h3 id=h class="fw-bold text-secondary mb-2">Phân tích liên kết...</h3><div id=pl class="display-6 fw-bold text-primary mb-1">...</div><div id=dom class="text-muted small mb-4 font-monospace">...</div><div id=wb class="alert alert-secondary py-3 mb-4"><i class="fa-solid fa-shield-halved fa-beat me-2"></i>Đang quét mã độc...</div><div id=timer-area class=mb-4><p class="mb-1 text-success fw-bold">Tự động chuyển hướng: <span id=cd>5</span>s</p><div class=progress style=height:8px><div id=pb class="progress-bar progress-bar-striped progress-bar-animated bg-success" style=width:0%></div></div></div><div class="d-grid gap-2"><a id=btn href=# class="btn btn-primary btn-lg shadow fw-bold disabled">Vui lòng chờ (5s)</a><a href=javascript:history.back() class="btn btn-sm btn-link text-decoration-none text-muted">Quay lại</a></div></div></div></div><div class="loader1"></div><script>const API="https://raw.githubusercontent.com/abcsnoob/apis-json/refs/heads/main/domain_mapping.json",el=e=>document.getElementById(e),check=async u=>{try{const c=new AbortController;setTimeout(()=>c.abort(),2500);await fetch(u,{mode:"no-cors",signal:c.signal});return!0}catch{return!1}},start=u=>(el("btn").href=u,el("timer-area").style.display="block",(()=>{let s=5,i=setInterval(()=>{el("cd").innerText=s,el("pb").style.width=(5-s)/5*100+"%",el("btn").innerText=`Vui lòng chờ (${s}s)`,s<=0&&(clearInterval(i),el("btn").classList.remove("disabled","btn-primary"),el("btn").classList.add("btn-success"),el("btn").innerText="Truy cập ngay",location.href=u),s--},1e3)})()),init=async()=>{let t=new URLSearchParams(location.search).get("to");if(!t)return;t.startsWith("http")||(t="https://"+t);const d=new URL(t).hostname.replace(/^www\./,"").toLowerCase();el("dom").innerText=d;try{const[a,r]=await Promise.all([check(t),fetch(API)]),m=await r.json();let f=t,o=null,D=!1,H=!1;if(m.dangerous_sites?.aka.some(e=>e.toLowerCase()===d))D=!0,o=m.dangerous_sites;else for(const[k,v]of Object.entries(m))if("dangerous_sites"!==k){if(v.aka?.map(e=>e.toLowerCase()).includes(d)){o=v,a||(H=!0,f=v.url||"https://"+k);break}if(d===k.toLowerCase()){o=v;break}}el("screenshot").src=`https://api.microlink.io/?url=${encodeURIComponent(f)}&screenshot=true&embed=screenshot.url`,el("screenshot").onload=(()=>{el("ld").style.display="none",el("screenshot").style.display="block"}),D?(document.body.classList.add("is-dangerous"),el("h").innerText="CẢNH BÁO",el("pl").innerText="ĐÃ CHẶN",el("wb").className="alert alert-danger fw-bold",el("wb").innerText="Phát hiện: "+o.type):(H?(el("h").innerText="SỬA LỖI",el("wb").className="alert alert-warning",el("wb").innerHTML="Link chết, đang bẻ lái về trang chủ..."):(el("h").innerText="AN TOÀN",el("wb").className="alert alert-success",el("wb").innerHTML="Liên kết sạch, an toàn truy cập"),el("pl").innerText=o?.name||"Liên kết ngoài",start(f))}catch{start(t)}};window.onload=init;</script></html>