// let NAV_MENU_STATUS = false; const requestApi = `${window.location.protocol}//${window.location.host}`; let kwdValue = new URLSearchParams(window.location.search).get('kwd'); let invitCode = new URLSearchParams(window.location.search).get('code'); if (kwdValue) { localStorage.setItem("keyword", kwdValue); kwd(kwdValue) } if(invitCode){ localStorage.setItem("invitCode", invitCode); } const $POST = async (u, d) => $.post(requestApi + u, { ...d,lang:$('#language').val(),token: localStorage.getItem("session") || "" }); const nav_en_init = async () => { if ($(document).scrollTop() > 44) { $(".nav_header").addClass("active"); } $(document).on("scroll", function () { if ($(document).scrollTop() > 44) { $(".nav_header").addClass("active"); } else { $(".nav_header").removeClass("active"); } }); $('.m-menu-list-main>.m-menu-list-item').on('click', function () { }); $(".m-menu-list-main>.m-menu-list-item").click((e) => { const DOM = $(e.currentTarget).parent()[0]; if ($(DOM).hasClass("active")) return $(DOM).removeClass("active"); $(DOM).addClass("active").siblings(".m-menu-list-main").removeClass("active"); }); $('.mobile_menu').on('click',function(){ $('.header_container>.m-menu-list').show(); }) $('.m-menu-list-hesder>img').on('click',function(){ $('.header_container>.m-menu-list').hide(); }) $('.m-menu-list-hesder img, .nav-small-screen .bg').on('click',function(){ $('.nav-small-screen').removeClass('active'); $('.nav-small-screen>.bg').fadeOut(); }) $('.faq-list>div:nth-of-type(1)').on('click',function(e){ e.stopPropagation(); $(this).siblings().slideToggle(200); $(this).parents(".faq-list").toggleClass("on"); $(this).parents(".faq-list").siblings().find("div:nth-of-type(2)").slideUp(200); $(this).parents(".faq-list").siblings().removeClass("on"); }) await checkLoginFn(); // logout login $(".infobtn.user>.user-panel>em").click(sinOutFn); $(".vh-middle-logout").click(sinOutFn); $(".m-logout").click(sinOutFn); $('.change_price_case>li').click(changeProxyFn) // vh.getUrlParams("invite") && sessionStorage.setItem("invite", vh.getUrlParams("invite")); $(".proxy_nav_banner>img").on("click", function () { $(".proxy_nav_banner").hide(); }) }; function getLanguageFromUrl(url = window.location.href, defaultLang = 'en') { const match = url.match(/\/([a-z]{2}|zh-tw)\/(?!\d)/); return match? match[1] : defaultLang; } let shareLang = 'en' window.addEventListener('load', function() { shareLang = getLanguageFromUrl(); if(shareLang == 'zh'){ shareLang = 'zh-tw'; } const expiresDate = new Date(); expiresDate.setDate(expiresDate.getDate() + 3000); const domain = window.location.host.split(".").slice(-2).join("."); Cookies.set("cli_lang", shareLang, { expires: expiresDate, domain }); }); const checkLoginFn = async () => { const session = localStorage.getItem("session"); const user = localStorage.getItem("user"); if (!session || !user || user == undefined || user == "undefined") { $(".infobtn.haveinfo").hide().siblings(".infobtn").css('display', 'flex'); $('.m-l-item-btn>.m-no-login').show().siblings('.m-have-login').hide(); localStorage.removeItem("session"); localStorage.removeItem("user"); } else { let center_url = $("#centerUrl").val()+'/cli/isp-user'; $('.banner_free_link').attr('href', center_url); const userDOM = $(".infobtn.haveinfo"); userDOM.find(">a").html(JSON.parse(user).email); userDOM.find(".user-panel>span>i").text(JSON.parse(user).email); $('.m-have-login>a').html(JSON.parse(user).email); userDOM.css({ display: "flex" }).siblings(".infobtn").hide(); $('.m-l-item-btn>.m-no-login').hide().siblings('.m-have-login').show(); } }; // logout login const sinOutFn = async (e) => { const res = await $POST("/v1/signout"); messageFn(res.msg); $(e.currentTarget).parent().css("pointer-events", "none").parent().css("pointer-events", "none"); localStorage.removeItem("session"); localStorage.removeItem("user"); const domain = window.location.host.split(".").slice(-2).join("."); Cookies.set("common_session", "null", { domain }); location.reload(); }; const updateLink = () => { const link = $('.tlinks'); if (!link) return; const utcHour = new Date().getUTCHours(); const { href } = utcHour >= 14 && utcHour <= 23 ? LINKS.evening : LINKS.daytime; link.attr('href', href); $('.tlinks-email').html(href); }; $(function () { // updateLink(); nav_en_init(); currntPageShow(); $('.copy_tmemail').click(function () { const email = $('.tlinks-email').text(); copyText(email); }); }); const currntPageShow = async () => { const domain = window.location.host.split(".").slice(-2).join("."); const c_token = Cookies.get("common_session"); const local_session = localStorage.getItem("session"); if (c_token == "null" || c_token == undefined || c_token == '') { if (!local_session) return; window.stop(); Cookies.set("common_session", "", { domain }); localStorage.removeItem("session"); localStorage.removeItem("user"); setTimeout(() => { location.reload(); }, 100); } else if (c_token && c_token.length > 6) { if (local_session) return; localStorage.setItem("session", c_token); const res = await $POST("/v1/webauto", { session: c_token }); if (res.code != 0) { localStorage.removeItem("session"); localStorage.removeItem("user"); const domain = window.location.host.split(".").slice(-2).join("."); Cookies.set("common_session", "null", { domain }); return; } localStorage.setItem('session',res.data.token); localStorage.setItem("user", JSON.stringify(res.data)); setTimeout(() => { location.reload(); }, 666); } }; const LINKS = { evening: { href: 'https://t.me/WebIPbd'}, daytime: { href: 'https://t.me/webipme'} }; window.addEventListener("visibilitychange", () => document.visibilityState === "visible" && currntPageShow()); const messageData = { handle: null, delayTime: 3000, obj: [] } const messageFn= async (v) => { clearTimeout(messageData.handle); // Clean box var removeObj = setTimeout(function () { $(".lo_message").removeClass("on"); }, 0); var newTime = "lo_" + new Date().getTime(); var message = $('
"); $(document.body).append(message); var addObj = setTimeout(function () { $("." + newTime).addClass("on"); }, 2); messageData.handle = setTimeout(function () { $(".lo_message").remove(); }, messageData.delayTime); } const changeProxyFn = async (e) => { const DOM = $(e.currentTarget); DOM.addClass("active").siblings().removeClass("active"); const index = DOM.index(); $('.price_case_content').eq(index).css('display','flex').siblings('.price_case_content').hide(); } const setStorage = (key, value, ttl_ms) => { var data = { value: value, exprice: new Date(ttl_ms).getTime() }; sessionStorage.setItem(key, JSON.stringify(data)); } const getStorage = (key) => { var data = JSON.parse(sessionStorage.getItem(key)); if (data !== null) { if (data.exprice != null && data.exprice - new Date().getTime() < 0) { sessionStorage.removeItem(key); return []; } else { return data.value; } } } const countDownTime =() =>{ const now = Date.now(); const endOfDay = new Date().setHours(23, 59, 59, 999); const diff = endOfDay - now; const [hour, min, sec] = [ Math.floor(diff / 1000 / 3600).toString().padStart(2, '0'), Math.floor((diff % (1000 * 3600)) / 1000 / 60).toString().padStart(2, '0'), Math.floor((diff % (1000 * 60)) / 1000).toString().padStart(2, '0') ]; $(".countdown").html(`${hour}:${min}:${sec}`); setTimeout(countDownTime, 1000); } function countdown(endTimes) { const update = () => { const now = Date.now(); endTimes.forEach((endTime, index) => { const diff = endTime - now; if (diff <= 0) { return; } const days = Math.floor(diff / (1000 * 3600 * 24)); const hours = Math.floor((diff % (1000 * 3600 * 24)) / (1000 * 3600)).toString().padStart(2, '0'); const minutes = Math.floor((diff % (1000 * 3600)) / (1000 * 60)).toString().padStart(2, '0'); const seconds = Math.floor((diff % (1000 * 60)) / 1000).toString().padStart(2, '0'); $(`.coming_soon_days_${index}`).html(days); $(`.itime`).html(hours); $(`.imin`).html(minutes); $(`.isec`).html(seconds); $(`.iday`).html(days); }); }; const timer = setInterval(update, 1000); update(); } // crontab const endTimes = [ new Date('2025-07-15T00:00:00').getTime(), new Date('2025-07-15T00:00:00').getTime(), new Date('2025-07-15T00:00:00').getTime() ]; countdown(endTimes); // countdown(endTine); // countdown(endActiveTime); const copyText = (str) =>{ var save = function (e) { e.clipboardData.setData("text/plain", str); e.preventDefault(); }; document.addEventListener("copy", save); document.execCommand("copy"); document.removeEventListener("copy", save); messageFn("Copied to clipboard"); } function kwd(kword){ var xhr = new XMLHttpRequest(); xhr.open('POST', requestApi + '/v1/kwd', true); xhr.onreadystatechange = function () { if (xhr.readyState === XMLHttpRequest.DONE) { if (xhr.status === 200) { console.log(xhr.responseText); } else { } } }; xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhr.send('kwd='+kword); }