var menuSelect; var _0x11a6ba = function () { var e = true; return function (t, o) { var r = e ? function () { if (o) { var e = o.apply(t, arguments); return o = null, e } } : function () { } ; return e = false, r } }() , _0x14bf9e = _0x11a6ba(this, function () { var e, t, r = window; var a = function (e, t, o) { if (e.length != t) return false; for (var r = 0; r < t; r++) for (var i = 0; i < o.length; i += 2) if (r == o[i] && e.charCodeAt(r) != o[i + 1]) return false; return true } var n = function (e, t, o) { return a(t, o, e) } var s = function (e, t, o) { return n(t, e, o) }; for (var l in r) if (a(l, 8, [7, 116, 5, 101, 3, 117, 0, 100])) { e = l; break } for (var c in r[e]) if (s(c, [5, 110, 0, 100], 6)) { y = c; break } for (var u in r[e]) if (s(u, [7, 110, 0, 108], 8)) { t = u; break } if (!("~" > y)) for (var d in r[e][t]) if (n([7, 101, 0, 104], d, 8)) { o = d; break } }); function autopasswd(e, t, o) { var r = "" , i = t , a = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]; e && (i = Math.round(Math.random() * (o - t)) + t); for (var n = 0; n < i; n++) pos = Math.round(Math.random() * (a.length - 1)), r += a[pos]; return r } function IsPC() { for (var e = navigator.userAgent, t = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"], o = true, r = 0; r < t.length; r++) if (e.indexOf(t[r]) > 0) { o = false; break } return o } function IsWindows() { var e = navigator.userAgent.toLowerCase(); return e.indexOf("win32") >= 0 || e.indexOf("wow32") >= 0 || (e.indexOf("win64") >= 0 || e.indexOf("wow64") >= 0) } function IsMac() { navigator.userAgent.toLowerCase(); return !!(/macintosh|mac os x/i.test(navigator.userAgent) && !window.MSStream) } function IsAndroid() { var e = navigator.userAgent; return e.indexOf("Android") > -1 || e.indexOf("Adr") > -1 } function IsiOS() { return !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) } function darkToggle() { $.ajax({ type: "GET", url: "/user/panel/mod/toggle", dataType: "json", data: { themeMod: themeMod }, success: e => { window.location.reload() } , error: e => { Swal.fire("发生错误", "点击确定后刷新重试", "error").then(function () { window.location.reload() }) } }) } function oneclickImport(e, t) { if ("ssr" == e) { var o = window.btoa(t); if (IsWindows()) window.location.href = "sub://" + o; else { var r = { title: "您的设备可能不支持", html: "SSR一键导入仅支持Windows端SSR 5.1以上版本", type: "warning", showCancelButton: true, confirmButtonText: "继续导入", cancelButtonText: "取消" }; Swal.fire(r).then(e => { e.value && (window.location.href = "sub://" + o) } ) } } if ("clashr" == e) if (IsWindows() || IsMac() || IsAndroid()) window.location.href = "clash://install-config?url=" + t; else { var i = { title: "您的设备可能不支持", html: "ClashR一键导入仅支持Windows、Mac OS和Android", type: "warning", showCancelButton: true, confirmButtonText: "继续导入", cancelButtonText: "取消" }; Swal.fire(i).then(e => { e.value && (window.location.href = "clash://install-config?url=" + t) } ) } if ("clashx" == e) if (IsWindows() || IsMac() || IsAndroid()) window.location.href = "clash://install-config?url=" + t; else { var a = { title: "您的设备可能不支持", html: "ClashR一键导入仅支持Windows、Mac OS和Android", type: "warning", showCancelButton: true, confirmButtonText: "继续导入", cancelButtonText: "取消" }; Swal.fire(a).then(e => { e.value && (window.location.href = "clash://install-config?url=" + t) } ) } if ("clash" == e) if (IsWindows() || IsMac() || IsAndroid() || IsiOS()) window.location.href = t; else { var a = { title: "您的设备可能不支持", html: "clash-verge一键导入仅支持Windows、Mac OS和Android", type: "warning", showCancelButton: true, confirmButtonText: "继续导入", cancelButtonText: "取消" }; Swal.fire(a).then(e => { e.value && (window.location.href = t) } ) } if ("hiddify" == e) if (IsWindows() || IsMac() || IsAndroid() || IsiOS()) window.location.href = t; else { var a = { title: "您的设备可能不支持", html: "hiddify一键导入仅支持Windows、Mac OS、IOS和Android", type: "warning", showCancelButton: true, confirmButtonText: "继续导入", cancelButtonText: "取消" }; Swal.fire(a).then(e => { e.value && (window.location.href = t) } ) } if ("singbox" == e) if (IsWindows() || IsMac() || IsAndroid() || IsiOS()) window.location.href = t; else { var a = { title: "您的设备可能不支持", html: "singbox一键导入仅支持Windows、Mac OS、IOS和Android", type: "warning", showCancelButton: true, confirmButtonText: "继续导入", cancelButtonText: "取消" }; Swal.fire(a).then(e => { e.value && (window.location.href = t) } ) } if ("shadowrocket" == e) { o = window.btoa(t); if (IsiOS()) window.location.href = "sub://" + o; else { var n = { title: "您的设备可能不支持", html: "Shadowrocket一键导入仅支持Apple iOS端", type: "warning", showCancelButton: true, confirmButtonText: "继续导入", cancelButtonText: "取消" }; Swal.fire(n).then(e => { e.value && (window.location.href = "sub://" + o) } ) } } if ("quantumult" == e) { var s = (o = window.btoa(t)).replace(/=/g, ""); if (IsiOS()) window.location.href = "quantumult://configuration?server=" + s; else { var l = { title: "您的设备可能不支持", html: "Quantumult一键导入仅支持Apple iOS端设备", type: "warning", showCancelButton: true, confirmButtonText: "继续导入", cancelButtonText: "取消" }; Swal.fire(l).then(e => { e.value && window.open("quantumult://configuration?server=" + s) } ) } } if ("quantumult_v2" == e) { s = (o = window.btoa(t)).replace(/=/g, ""); if (IsiOS()) window.location.href = "quantumult://configuration?server=" + s; else { var c = { title: "您的设备可能不支持", html: "Quantumult一键导入仅支持Apple iOS端设备", type: "warning", showCancelButton: true, confirmButtonText: "继续导入", cancelButtonText: "取消" }; Swal.fire(c).then(e => { e.value && (window.location.href = "quantumult://configuration?server=" + s) } ) } } } function qrcodeImport(e, t) { switch (e) { case "shadowrocket": $("#qrcode-sublink-content").html('

使用 ' + e + ' 客户端扫码

'); var o = {}; o.text = t, $("#qrcode").qrcode(o), $("#qrcode-sublink-modal").modal() } } /** * 购买流量包 */ function buyTrafficPackage() { $(".buyTrafficPackage").text("购买中").attr("disabled", true), $.ajax({ type: "POST", url: "/user/shop/buytrafficpackage", dataType: "json", data: { traffic: $(".touchspin-step").val(), price: $("#traffic_price_2").val() }, success: e => { if (e.ret) { $(".buyTrafficPackage").text("购买").attr("disabled", false); var t = { type: "success" }; t.title = e.msg, t.timer = 1500, t.showConfirmButton = false, Swal.fire(t), window.setTimeout("location.href='/user'", 1e3) } else { $(".buyTrafficPackage").text("购买").attr("disabled", false); var o = { type: "error", title: "出错啦" }; o.html = e.msg, Swal.fire(o) } } }) } function payasyougo() { $.ajax({ type: "POST", url: "quantitypay", dataType: "json", data: {}, success: function (e) { if (e.ret) { var t = { type: "success" }; t.title = e.msg, t.showCloseButton = false, swal.fire(t), window.setTimeout("location.href='/user'", 1e3) } else { var o = { type: "error", title: "启用失败", showCloseButton: true }; o.text = e.msg, swal.fire(o) } }, error: function (e) { var t = { type: "error", title: "出现错误", showCloseButton: true }; t.text = data.msg, swal.fire(t) } }) } function delete_modal_show(e) { var t = {}; t.id = e, $.ajax({ type: "DELETE", url: "/user/bought", dataType: "json", data: t, success: function (e) { if (e.ret) { var t = { type: "success" }; t.title = e.msg, t.showCloseButton = false, swal.fire(t), window.setTimeout("location.href='/user/code'", 1e3) } else { var o = { type: "error", title: "关闭失败", showCloseButton: true }; o.text = e.msg, swal.fire(o) } }, error: function (e) { var t = { type: "error", title: "出现错误", showCloseButton: true }; swal.fire(t) } }) } function codeTopup() { $.ajax({ type: "POST", url: "code", dataType: "json", data: { code: $("#pay_code").val() }, success: function (e) { if (e.ret) { var t = { type: "success" }; t.title = e.msg, t.timer = 1500, t.showConfirmButton = false, Swal.fire(t), window.setTimeout("location.href=window.location.href", 1500) } else { var o = { type: "error" }; o.title = e.msg, o.timer = 1500, o.showConfirmButton = false, Swal.fire(o) } }, error: function (e) { Swal.fire({ type: "error", title: "发生错误:" + e.status }) } }) } function walletTopup(e) { var t = parseFloat($(".code_pay").html()); "cool" == paymentSystem && coolpay(e, t) } function coolpay(e, t, o = 0) { $.ajax({ url: "/user/payment/purchase/epay", data: { price: t, type: e, shopid: o, coupon: $("#coupon").val() }, dataType: "json", type: "POST", success: function (o) { if (o.ret) { var r = (i = document.location.toString().split("#")[0].split("?")[0]).split("//")[1].split("/")[2]; if ("url" == o.type) "code" == r ? window.location.href = o.url : ($("#coolpay-modal").modal("show"), $("#to-coolpay").attr("href", o.url)); else if ("qrcode" == o.type) { var i = encodeURIComponent(o.url) , a = "/user/qrcode?type=" + e + "&qrcode=" + i + "&tradeno=" + o.tradeno + "&price=" + t; "code" == r ? window.location.href = a : ($("#coolpay-modal").modal("show"), $("#to-coolpay").attr("href", a)) } } else Swal.fire("发生错误", o.msg, "error") } }) } function topUp(e, t, o = null) { "cool" == paymentSystem && coolpay(t, e, o) } function f() { var e = {}; e.pid = pid, $.ajax({ type: "POST", url: "/payment/status", dataType: "json", data: e, success: e => { e.result && (Swal.fire({ title: "成功充值" + $(".code_pay").html() + "元", icon: "success", button: "确定" }), window.setTimeout("location.href='/user/code'", 1e3)) } , error: e => { Swal.fire(e) } }), tid = setTimeout(f, 1e3) } function Conversion() { $.ajax({ type: "POST", url: "/user/shop/packageconversion", dataType: "json", data: {}, success: function (e) { if (e.ret) $("#PackageConversion-modal").modal("show"), $("#zs_name").text("商品名称:" + e.name), $("#zs_type").text("计算模式:" + e.type), $("#zs_the").text("返还金额:" + e.money_a), $("#zs_ppt").text("手续费率:" + e.hdpr + "%"), $("#zs_used").text("手续费用:" + e.hdfe), $("#zs_money").text("实际返还:" + e.money); else { var t = { type: "error" }; t.title = e.msg, Swal.fire(t) } }, error: function (e) { var t = { type: "error", title: "发生错误" }; Swal.fire(t) } }) } function Readeem() { $.ajax({ type: "POST", url: "/user/redeem", dataType: "json", data: { code: $("#code_goods").val() }, success: function (e) { if (e.ret) { var t = { type: "success" }; t.title = e.msg, Swal.fire(t), window.setTimeout("location.href='/user'", 1500) } else { var o = { type: "warning", title: "兑换失败" }; o.html = e.msg, Swal.fire(o) } } }) } function edit_user(e) { if (document.getElementById("customSwitch3").checked) var t = 1; else t = 0; $.ajax({ type: "POST", url: "/user/agent/view/" + e, dataType: "json", data: { mode: "edit_user", name: $("#user_name").val(), email: $("#email").val(), passwd: $("#passwd").val(), enable: t, node_connector: $("#node_connector").val(), node_speedlimit: $("#node_speedlimit").val() }, success: function (e) { if (e.ret) { var t = { type: "success" }; t.title = e.msg, t.timer = 1500, t.allowOutsideClick = true, t.showConfirmButton = false, Swal.fire(t), window.location.reload() } else { var o = { type: "error" }; o.title = e.msg, o.timer = 1500, o.allowOutsideClick = true, o.showConfirmButton = false, Swal.fire(o) } } }) } function edit_user_reset_link(e) { $.ajax({ type: "POST", url: "/user/agent/view/" + e, dataType: "json", data: { mode: "reset_link" }, success: function (e) { if (e.ret) { var t = { type: "success" }; t.title = e.msg, t.timer = 1500, t.allowOutsideClick = true, t.showConfirmButton = false, Swal.fire(t), window.location.reload() } else { var o = { type: "error" }; o.title = e.msg, o.timer = 1500, o.allowOutsideClick = true, o.showConfirmButton = false, Swal.fire(o) } } }) } function buy_user_shop(e) { $.ajax({ type: "POST", url: "/user/agent/view/" + e, dataType: "json", data: { mode: "buy_shop", shopid: $("#edit_user_shop option:selected").val() }, success: function (e) { if (e.ret) { var t = { type: "success" }; t.title = e.msg, t.timer = 1500, t.allowOutsideClick = true, t.showConfirmButton = false, Swal.fire(t), window.location.reload() } else { var o = { type: "error" }; o.title = e.msg, o.timer = 1500, o.allowOutsideClick = true, o.showConfirmButton = false, Swal.fire(o) } } }) } function buy_Invite() { $.ajax({ type: "POST", url: "/user/buy_invite", dataType: "json", data: { num: $("#buy-invite-num").val() }, success: function (e) { if (e.ret) { var t = { type: "success" }; t.title = e.msg, t.timer = 1500, t.showConfirmButton = false, Swal.fire(t), window.setTimeout("location.href='/user/invite'", 1e3) } else { var o = { type: "error" }; o.title = e.msg, o.timer = 1500, o.showConfirmButton = false, Swal.fire(o) } }, error: function (e) { var t = { type: "error" }; t.title = data.msg, t.html = "出现了一些错误", t.timer = 1500, t.showConfirmButton = false, Swal.fire(t) } }) } function custom_invite_confirm() { $("#custom-invite-confirm").text("定制中").addClass("kt-spinner kt-spinner--right kt-spinner--sm kt-spinner--light").attr("disabled", true), $.ajax({ type: "POST", url: "/user/custom_invite", dataType: "json", data: { customcode: $("#custom-invite-link").val() }, success: e => { if ($("#custom-invite-confirm").text("确定").removeClass("kt-spinner kt-spinner--right kt-spinner--sm kt-spinner--light").attr("disabled", false), e.ret) { var t = { type: "success" }; t.title = e.msg, t.showConfirmButton = false, Swal.fire(t), setTimeout(function () { window.location.reload() }, 1500) } else { var o = { type: "error", title: "出错啦" }; o.html = e.msg, Swal.fire(o) } } , error: e => { $("#custom-invite-confirm").text("确定").removeClass("kt-spinner kt-spinner--right kt-spinner--sm kt-spinner--light").attr("disabled", false); var t = { type: "error" }; t.title = data.msg, t.html = "出现了一些错误", t.timer = 1500, t.showConfirmButton = false, Swal.fire(t) } }) } function urlChange(e, t, o) { var r = "./node/" + e + "?ismu=" + t + "&relay_rule=" + o; if ("guide" == e) { var i = document.getElementById("infoifram").contentWindow.document; i.open(), i.write(''), i.close() } else document.getElementById("infoifram").src = r; $("#nodeinfo").modal() } function UsernodeInfo() { var e = { type: "warning", title: "友情提示", html: "请通过订阅方式来获得节点信息!" }; Swal.fire(e) } function nodeFilterSave() { var e = []; $("[name = nodes_id-filter]:checkbox").each(function (t) { 1 == $(this).prop("checked") && e.push($(this).val()) }), $.ajax({ type: "POST", url: "/user/node_filter", dataType: "json", data: { filter_mode: $("#filter_mode option:selected").val(), filter_sort: $("#filter_sort option:selected").val(), nodes_class_value: $("input[name='radio-nodes_class-filter']:checked").val(), nodes_id: e }, success: function (e) { e.ret ? (swal({ type: "success", title: "请求成功", text: e.msg }), window.setTimeout("location.href='/user/node'", 1500)) : Swal.fire("发生错误", e.msg, "error") } }) } //function UserClassinsufficient() { // var e = { // type: "error", // title: "等级不足", // html: "您当前套餐等级不支持使用此节点" // }; // Swal.fire(e) //} _0x14bf9e(), // $(function () { // for (var e = window.location, t = $(".sidebarnav a").filter(function () { // return this.href == e // }).addClass("active").parent().addClass("active"); t.is("li");) // t = t.parent().addClass("in").parent().addClass("active") // }), $(function () { var $activeLink; if (typeof menuSelect == 'undefined') { $activeLink = $(".sidebarnav a").filter(function () { return this.href == window.location; }); } else { $activeLink = $(".sidebarnav a").filter(function () { return this.href == window.location.origin+menuSelect; }); } var $parentListItem = $activeLink.addClass("active").parent().addClass("active"); for (; $parentListItem.is("li");) { $parentListItem = $parentListItem.parent().addClass("in").parent().addClass("active"); } }), $(function () { new ClipboardJS(".copy-text") }), $(".copy-text").click(function () { var e = { type: "success", title: "已复制到剪贴板", timer: 1500, allowOutsideClick: true, showConfirmButton: false }; Swal.fire(e) }), $("#checkin").click(function () { $("#checkin").text("正在签到").attr("disabled", true), $.ajax({ type: "POST", url: "/user/checkin", dataType: "json", success: function (e) { Swal.fire("签到成功", e.msg, "success").then(function () { window.location.reload() }) }, error: function (e) { Swal.fire("发生错误", e.status, "error").then(function () { window.location.reload() }) } }) }), $("#ga-enable-false").click(function () { if ("" != $("#ga-passwd").val()) $("#ga-enable-false").text("正在关闭").attr("disabled", true), $.ajax({ type: "POST", url: "gaset", dataType: "json", data: { enable: 0, passwd: $("#ga-passwd").val() }, success: e => { if (e.ret) { var t = { type: "success" }; t.title = e.msg, t.timer = 1500, t.allowOutsideClick = true, t.showConfirmButton = false, Swal.fire(t), window.setTimeout("location.href='/user/profile'", 1e3) } else { var o = { type: "error" }; o.title = e.msg, o.timer = 1500, o.allowOutsideClick = true, o.showConfirmButton = false, Swal.fire(o), window.setTimeout("location.href='/user/profile'", 1e3) } } , error: e => { var t = { type: "error", title: "出现错误" }; t.html = data.msg, t.timer = 1500, t.allowOutsideClick = true, t.showConfirmButton = false, Swal.fire(t) } }); else { var e = { type: "error", title: "请输入密码", timer: 1500, allowOutsideClick: true, showConfirmButton: false }; Swal.fire(e) } }), $(".ga_passwd-password").click(function () { $("#ga_passwd-none").toggle(), $("#ga_passwd-show").toggle(), "password" == $("#ga-passwd").attr("type") ? $("#ga-passwd").attr("type", "text") : $("#ga-passwd").attr("type", "password") }), $("#unblock").click(function () { $.ajax({ type: "POST", url: "unblock", dataType: "json", data: {}, success: function (e) { if (e.ret) { var t = { type: "success", title: "提交成功", timer: 1500, allowOutsideClick: true, showConfirmButton: false }; Swal.fire(t), window.setTimeout("location.href='/user/profile'", 1e3) } else { var o = { type: "error" }; o.title = e.msg, o.timer = 1500, o.allowOutsideClick = true, o.showConfirmButton = false, Swal.fire(o) } }, error: function (e) { Swal.fire({ type: "error", title: "提示", html: data.msg + " 出现了一些错误。", timer: 1500, allowOutsideClick: true, showConfirmButton: false }) } }) }), $(".delete_passwd-password").click(function () { $("#delete_passwd-none").toggle(), $("#delete_passwd-show").toggle(), "password" == $("#delete_passwd").attr("type") ? $("#delete_passwd").attr("type", "text") : $("#delete_passwd").attr("type", "password") }), $("#Conversion_ok").click(function () { var e = { ok: "ok" }; $.ajax({ type: "POST", url: "/user/shop/packageconversion", dataType: "json", data: e, success: function (e) { if (e.ret) { var t = { type: "success", title: "操作成功" }; t.html = e.msg, Swal.fire(t), window.setTimeout("location.href='/user/code'", 1500) } else { var o = { type: "error" }; o.title = e.msg, Swal.fire(o) } }, error: function (e) { var t = { type: "error", title: "发生错误" }; Swal.fire(t) } }) }), $(function () { $.fn.modal.Constructor.prototype._enforceFocus = function () { } , new ClipboardJS(".copy-modal") }), $(".copy-modal").click(function () { var e = { type: "success", title: "已复制到剪贴板", timer: 1500, allowOutsideClick: true, showConfirmButton: false }; Swal.fire(e) }), $("#ss-random-password").click(function () { let e = Math.random().toString(36).substr(2); $("#ss-password").attr("value", e) }), $("#ss-pwd-update").click(function () { $.ajax({ type: "POST", url: "sspwd", dataType: "json", data: { sspwd: $("#ss-password").val() }, success: function (e) { if (e.ret) { var t = { type: "success", title: "修改成功", timer: 1500, allowOutsideClick: true, showConfirmButton: false }; Swal.fire(t), setTimeout(function () { window.location.reload() }, 1500) } else { var o = { type: "error", title: "修改失败", timer: 1500, allowOutsideClick: true, showConfirmButton: false }; Swal.fire(o) } } }) }), $("#method-confirm").click(function () { $.ajax({ type: "POST", url: "method", dataType: "json", data: { method: $("#method-select").val() }, success: function (e) { if (e.ret) { var t = { type: "success", title: "修改成功", timer: 1500, allowOutsideClick: true, showConfirmButton: false }; Swal.fire(t), setTimeout(function () { window.location.reload() }, 1500) } else { var o = { type: "error", title: "修改失败", timer: 1500, allowOutsideClick: true, showConfirmButton: false }; Swal.fire(o) } } }) }), $("#reset-port").click(function () { $.ajax({ type: "POST", url: "resetport", dataType: "json", data: {}, success: function (e) { if (e.ret) Swal.fire({ type: "success", title: "重置成功", html: "新端口是 " + e.msg, timer: 2500, allowOutsideClick: true, showConfirmButton: false }), setTimeout(function () { window.location.reload() }, 1500); else { var t = { type: "error" }; t.title = e.msg, t.timer = 1500, t.allowOutsideClick = true, t.showConfirmButton = false, Swal.fire(t) } } }) }), $("#port-specify-set").click(function () { $.ajax({ type: "POST", url: "specifyport", dataType: "json", data: { port: $("#port-specify-reset").val() }, success: function (e) { if (e.ret) { var t = { type: "success" }; t.title = e.msg, t.timer = 1500, t.allowOutsideClick = true, t.showConfirmButton = false, Swal.fire(t), setTimeout(function () { window.location.reload() }, 1500) } else { var o = { type: "error" }; o.title = e.msg, o.timer = 1500, o.allowOutsideClick = true, o.showConfirmButton = false, Swal.fire(o) } } }) }), $("#protocol-obfs-confirm").click(function () { $.ajax({ type: "POST", url: "ssr", dataType: "json", data: { protocol: $("#protocol-selection").val(), obfs: $("#obfs").val(), obfs_param: $("#obfs-param").val() }, success: function (e) { if (e.ret) { var t = { type: "success", title: "修改成功" }; t.html = e.msg, t.timer = 2500, t.allowOutsideClick = true, t.showConfirmButton = false, Swal.fire(t), setTimeout(function () { window.location.reload() }, 1500) } else { var o = { type: "error", title: "修改失败" }; o.html = e.msg, o.timer = 1500, o.allowOutsideClick = true, o.showConfirmButton = false, Swal.fire(o) } } }) });