diff --git a/output.js b/output.js
index cd58ebb..61c4de8 100644
--- a/output.js
+++ b/output.js
@@ -1,105 +1,139 @@
-//Fri May 23 2025 11:04:05 GMT+0000 (Coordinated Universal Time)
+//Sat May 24 2025 08:38:24 GMT+0000 (Coordinated Universal Time)
//Base:https://github.com/echo094/decode-js
//Modify:https://github.com/smallfawn/decode_action
-var _0xodm = 'jsjiami.com.v7';
-var _0x2830c7 = _0x23f8;
-(function (_0x2c1abd, _0x22e6a6, _0x455144, _0x519ecf, _0x4b9f53, _0x14b37c, _0xf6a69) {
- return _0x2c1abd = _0x2c1abd >> 0x4, _0x14b37c = 'hs', _0xf6a69 = 'hs', function (_0x1f20f7, _0x2bbd21, _0x4ff3fe, _0x4c3b7b, _0xaf6b9a) {
- var _0xbf321d = _0x23f8;
- _0x4c3b7b = 'tfi', _0x14b37c = _0x4c3b7b + _0x14b37c, _0xaf6b9a = 'up', _0xf6a69 += _0xaf6b9a, _0x14b37c = _0x4ff3fe(_0x14b37c), _0xf6a69 = _0x4ff3fe(_0xf6a69), _0x4ff3fe = 0x0;
- var _0x1d6f96 = _0x1f20f7();
- while (true && --_0x519ecf + _0x2bbd21) {
- try {
- _0x4c3b7b = -parseInt(_0xbf321d(0xd0, 'veWs')) / 0x1 + -parseInt(_0xbf321d(0xd3, 'xdPS')) / 0x2 + parseInt(_0xbf321d(0xc6, 'x)qM')) / 0x3 + parseInt(_0xbf321d(0xd1, 'Gt6n')) / 0x4 * (parseInt(_0xbf321d(0xca, 'kt@k')) / 0x5) + parseInt(_0xbf321d(0xc9, '*@Xw')) / 0x6 + -parseInt(_0xbf321d(0xd8, 'uWIZ')) / 0x7 * (parseInt(_0xbf321d(0xd5, 'OgRT')) / 0x8) + parseInt(_0xbf321d(0xc8, 'UWfb')) / 0x9;
- } catch (_0x21722b) {
- _0x4c3b7b = _0x4ff3fe;
- } finally {
- _0xaf6b9a = _0x1d6f96[_0x14b37c]();
- if (_0x2c1abd <= _0x519ecf) _0x4ff3fe ? _0x4b9f53 ? _0x4c3b7b = _0xaf6b9a : _0x4b9f53 = _0xaf6b9a : _0x4ff3fe = _0xaf6b9a;else {
- if (_0x4ff3fe == _0x4b9f53['replace'](/[EIdQSGYMJkKfBHVrhuF=]/g, '')) {
- if (_0x4c3b7b === _0x2bbd21) {
- _0x1d6f96['un' + _0x14b37c](_0xaf6b9a);
- break;
- }
- _0x1d6f96[_0xf6a69](_0xaf6b9a);
+const _0x3f0b16 = function () {
+ let _0x2855d2 = true;
+ return function (_0x460ea4, _0x526937) {
+ const _0x2eed9a = _0x2855d2 ? function () {
+ {
+ if (_0x526937) {
+ {
+ const _0x2d43b7 = _0x526937.apply(_0x460ea4, arguments);
+ _0x526937 = null;
+ return _0x2d43b7;
}
}
}
- }
- }(_0x455144, _0x22e6a6, function (_0x43f07e, _0xb59a1f, _0xd155e, _0x1743ab, _0x20973f, _0x5d8e0c, _0xe1f1e3) {
- return _0x43f07e = arguments[0x0], _0x43f07e = _0x43f07e['\\x73\\x70\\x6c\\x69\\x74'](''), _0x43f07e = _0x43f07e['\\x72\\x65\\x76\\x65\\x72\\x73\\x65']('\\x76'), 0x178cb3, _0x43f07e['\\x6a\\x6f\\x69\\x6e']('');
- });
-}(0xcb0, 0x37801, _0x2465, 0xcd), _0x2465) && (_0xodm = _0x2830c7(0xc7, ')fd0'));
-function _0x23f8(_0x7d7b56, _0x2f9497) {
- var _0x246566 = _0x2465();
- return _0x23f8 = function (_0x23f84e, _0x3ecbf6) {
- _0x23f84e = _0x23f84e - 0xc6;
- var _0x6e0d6e = _0x246566[_0x23f84e];
- if (_0x23f8['JwoIQZ'] === undefined) {
- var _0x424a65 = function (_0x3e6476) {
- var _0x5f1695 = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';
- var _0x3fd3dc = '',
- _0x5006d0 = '';
- for (var _0x5e6c6b = 0x0, _0x2cb49c, _0x857300, _0x44bdfa = 0x0; _0x857300 = _0x3e6476['charAt'](_0x44bdfa++); ~_0x857300 && (_0x2cb49c = _0x5e6c6b % 0x4 ? _0x2cb49c * 0x40 + _0x857300 : _0x857300, _0x5e6c6b++ % 0x4) ? _0x3fd3dc += String['fromCharCode'](0xff & _0x2cb49c >> (-0x2 * _0x5e6c6b & 0x6)) : 0x0) {
- _0x857300 = _0x5f1695['indexOf'](_0x857300);
- }
- for (var _0x184968 = 0x0, _0x1048b8 = _0x3fd3dc['length']; _0x184968 < _0x1048b8; _0x184968++) {
- _0x5006d0 += '%' + ('00' + _0x3fd3dc['charCodeAt'](_0x184968)['toString'](0x10))['slice'](-0x2);
- }
- return decodeURIComponent(_0x5006d0);
- };
- var _0x316878 = function (_0x21aa27, _0x32d92d) {
- var _0x473efc = [],
- _0x2bfb8e = 0x0,
- _0x317d31,
- _0x11b136 = '';
- _0x21aa27 = _0x424a65(_0x21aa27);
- var _0x16c6f6;
- for (_0x16c6f6 = 0x0; _0x16c6f6 < 0x100; _0x16c6f6++) {
- _0x473efc[_0x16c6f6] = _0x16c6f6;
- }
- for (_0x16c6f6 = 0x0; _0x16c6f6 < 0x100; _0x16c6f6++) {
- _0x2bfb8e = (_0x2bfb8e + _0x473efc[_0x16c6f6] + _0x32d92d['charCodeAt'](_0x16c6f6 % _0x32d92d['length'])) % 0x100, _0x317d31 = _0x473efc[_0x16c6f6], _0x473efc[_0x16c6f6] = _0x473efc[_0x2bfb8e], _0x473efc[_0x2bfb8e] = _0x317d31;
- }
- _0x16c6f6 = 0x0, _0x2bfb8e = 0x0;
- for (var _0x186760 = 0x0; _0x186760 < _0x21aa27['length']; _0x186760++) {
- _0x16c6f6 = (_0x16c6f6 + 0x1) % 0x100, _0x2bfb8e = (_0x2bfb8e + _0x473efc[_0x16c6f6]) % 0x100, _0x317d31 = _0x473efc[_0x16c6f6], _0x473efc[_0x16c6f6] = _0x473efc[_0x2bfb8e], _0x473efc[_0x2bfb8e] = _0x317d31, _0x11b136 += String['fromCharCode'](_0x21aa27['charCodeAt'](_0x186760) ^ _0x473efc[(_0x473efc[_0x16c6f6] + _0x473efc[_0x2bfb8e]) % 0x100]);
- }
- return _0x11b136;
- };
- _0x23f8['OZSMGS'] = _0x316878, _0x7d7b56 = arguments, _0x23f8['JwoIQZ'] = true;
- }
- var _0x3696ea = _0x246566[0x0],
- _0x1fae5c = _0x23f84e + _0x3696ea,
- _0x249757 = _0x7d7b56[_0x1fae5c];
- return !_0x249757 ? (_0x23f8['odJdYn'] === undefined && (_0x23f8['odJdYn'] = true), _0x6e0d6e = _0x23f8['OZSMGS'](_0x6e0d6e, _0x3ecbf6), _0x7d7b56[_0x1fae5c] = _0x6e0d6e) : _0x6e0d6e = _0x249757, _0x6e0d6e;
- }, _0x23f8(_0x7d7b56, _0x2f9497);
-}
-function _0x2465() {
- var _0xb7569f = function () {
- return [_0xodm, 'MEjfKkshYjQVdiIaFmBi.KcJomHuI.vff7rMfVGS==', 'WQ3dGXBdSZpcQsDaW44pW4lcL8kP', 'gNNcLtFcNc8OEuSJW5tdVCo3', 'BmozWRFcQbdcKmo5W7ldR15cW4Sp', 'BNJdJdVcLW', 'W5z8iCocW5lcVKxdUCoEFSk2z2C5a8klW7VdQCkq', 'tfOkWR3cHW'].concat(function () {
- return ['WPnMW5pcMSowtSkqWPxcL8oKWOFcRv/cIG', 'hmotahBcTaGQeYCxWPG2pG', 'jHqkWPRdLmoyW7xdOSo8pmkKWRa', 'wmkuh1OblgW', 'zNVdNLBcKqJcJq', 'W4JdTmopuWzQatGtW75kBq', 'wCkgWQvWhCou', 'w8k9WR8jW5XUW6BdV3JdU8kdiWy'].concat(function () {
- return ['d8kUWQ94gM5zWOnbWP5nl8kmteRcG3ToWQbf', 'kSo9juunaeVcTSoYbxHmca', 'W7hcV13dVKpcQSkZ', 'WQvem8k3gW', 'ASopW5yzC3OaW5qpW58zrW', 'auOHnGLbz8kuEmkNW6/dJmk4AG'];
- }());
- }());
- }();
- _0x2465 = function () {
- return _0xb7569f;
+ } : function () {};
+ _0x2855d2 = false;
+ return _0x2eed9a;
};
- return _0x2465();
-}
-;
-function FindProxyForURL(_0x52fcef, _0x353a45) {
- var _0x130907 = _0x2830c7,
- _0x104f0a = {
- 'xAjmn': function (_0x13ecd9, _0x31eecd, _0x356b11) {
- return _0x13ecd9(_0x31eecd, _0x356b11);
- },
- 'KcDww': _0x130907(0xcc, '[wql'),
- 'cKhbc': _0x130907(0xd6, 'x)qM'),
- 'iFWrk': _0x130907(0xd4, '5@D&')
+}();
+const _0x18a990 = _0x3f0b16(this, function () {
+ const _0x9ce0fa = typeof window !== "undefined" ? window : typeof process === "object" && typeof require === "function" && typeof global === "object" ? global : this;
+ const _0x5430ca = function () {
+ const _0x3805b1 = new _0x9ce0fa.RegExp("^([^ ]+( +[^ ]+)+)+[^ ]}");
+ return !_0x3805b1.test(_0x18a990);
+ };
+ return _0x5430ca();
+});
+_0x18a990();
+class RequestController {
+ constructor() {
+ document.getElementById("copyButton").style.display = "none";
+ this.isRequestPending = false;
+ this.controller = null;
+ this.timeout = 10000;
+ }
+ async handleRequest() {
+ if (this.isRequestPending) {
+ {
+ alert("⚠️ 请求进行中,请勿重复提交");
+ return;
+ }
+ }
+ try {
+ {
+ this.setPendingState(true);
+ const _0x20643f = this.validateInput();
+ const _0x5ed49d = await this.sendRequest(_0x20643f);
+ this.handleResponse(_0x5ed49d);
+ }
+ } catch (_0x1d14bd) {
+ this.handleError(_0x1d14bd);
+ } finally {
+ this.setPendingState(false);
+ }
+ }
+ validateInput() {
+ const _0x4e5faa = document.getElementById("inputData").value.trim();
+ if (!_0x4e5faa) {
+ throw new Error("输入内容不能为空");
+ }
+ const _0x4cc0e3 = /pay_token=([A-Z0-9]*[A-Z][A-Z0-9]*[0-9][A-Z0-9]*)/;
+ if (!_0x4cc0e3.test(_0x4e5faa)) {
+ throw new Error("数据错误");
+ }
+ return _0x4e5faa;
+ }
+ async sendRequest(_0x36dd7a) {
+ this.controller = new AbortController();
+ const _0x45dc31 = setTimeout(() => this.controller.abort(), this.timeout);
+ var _0x24d7f8 = "Xiaoao-869747685";
+ var _0x3aecac = CryptoJS.enc.Utf8.parse(_0x24d7f8);
+ var _0x545721 = CryptoJS.AES.encrypt(_0x36dd7a, _0x3aecac, {
+ mode: CryptoJS.mode.ECB,
+ padding: CryptoJS.pad.Pkcs7
+ });
+ const _0x1bb45a = {
+ "Content-Type": "application/x-www-form-urlencoded"
};
- if (_0x104f0a[_0x130907(0xd9, '1OjJ')](shExpMatch, _0x353a45, _0x104f0a['KcDww'])) return _0x104f0a[_0x130907(0xcd, 'Y5]0')];
- return _0x104f0a[_0x130907(0xcb, 'ziET')];
+ const _0x233138 = await fetch("./validate/getOP.php", {
+ method: "POST",
+ headers: _0x1bb45a,
+ body: _0x545721,
+ signal: this.controller.signal
+ });
+ clearTimeout(_0x45dc31);
+ const _0x203979 = await _0x233138.json();
+ console.log(_0x203979);
+ if (_0x203979.status == "success") {
+ return _0x203979.url;
+ }
+ console.log(_0x203979.status);
+ return _0x203979.message;
+ }
+ setPendingState(_0xd8262) {
+ this.isRequestPending = _0xd8262;
+ document.getElementById("submitButton").disabled = _0xd8262;
+ document.querySelector(".loadingDots").style.display = _0xd8262 ? "block" : "none";
+ document.querySelector(".buttonText").style.visibility = _0xd8262 ? "hidden" : "visible";
+ document.getElementById("statusLed").style.background = _0xd8262 ? "#0ff" : "#f0f5";
+ }
+ handleResponse(_0x228a5c) {
+ const _0x1243b8 = document.getElementById("outputData");
+ _0x1243b8.innerHTML = _0x228a5c;
+ _0x1243b8.style.animation = "textGlow 1s ease-out";
+ setTimeout(() => _0x1243b8.style.animation = "", 1000);
+ document.getElementById("copyButton").style.display = "block";
+ document.getElementById("copyButton").onclick = async () => {
+ const _0x32de32 = document.getElementById("outputData");
+ try {
+ await navigator.clipboard.writeText(_0x32de32.textContent);
+ alert("✅ 复制成功!");
+ } catch (_0x47a8e4) {
+ console.error("复制失败:", _0x47a8e4);
+ alert("❌ 复制失败,请手动选择复制");
+ }
+ };
+ }
+ handleError(_0x1e2069) {
+ const _0x3f151d = {
+ AbortError: "⏱️ 请求超时,请检查网络连接",
+ TypeError: "🌐 网络连接异常",
+ SyntaxError: "🔍 响应数据解析失败",
+ default: "❌ 系统错误: " + _0x1e2069.message
+ };
+ const _0x433ea6 = _0x3f151d[_0x1e2069.name] || _0x3f151d.default;
+ alert(_0x433ea6, true);
+ }
+ clear() {
+ inputData.value = "";
+ }
}
-var version_ = 'jsjiami.com.v7';
\ No newline at end of file
+const controller = new RequestController();
+document.getElementById("submitButton").addEventListener("click", () => controller.handleRequest());
+document.getElementById("clearButton").addEventListener("click", () => controller.clear());
+const style = document.createElement("style");
+style.textContent = "\n @keyframes float {\n 0% { transform: translateY(0); }\n 100% { transform: translateY(-20px); }\n }\n @keyframes textGlow {\n 0% { text-shadow: 0 0 10px #0ff; }\n 50% { text-shadow: 0 0 20px #0ff; }\n 100% { text-shadow: 0 0 10px #0ff; }\n }\n @keyframes slideUp {\n from { bottom: -50px; }\n to { bottom: 30px; }\n }\n @keyframes fadeOut {\n from { opacity: 1; }\n to { opacity: 0; }\n }\n ";
+document.head.appendChild(style);
\ No newline at end of file
diff --git a/output.py b/output.py
index 99c9a68..e6e1ca0 100644
Binary files a/output.py and b/output.py differ