@leeguoo/pwtk-network-debugger 1.2.20 → 1.2.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -6608,102 +6608,6 @@ function requireCryptoJs() {
6608
6608
  }
6609
6609
  var cryptoJsExports = requireCryptoJs();
6610
6610
  const CryptoJS = /* @__PURE__ */ getDefaultExportFromCjs(cryptoJsExports);
6611
- function decrypt(encryptedData, keyStr) {
6612
- console.log("[PWTK Decrypt] decrypt function called:", {
6613
- dataLength: encryptedData?.length,
6614
- dataPreview: encryptedData?.substring(0, 50),
6615
- keyStr,
6616
- hasWindowDecrypt: typeof window.decrypt === "function",
6617
- hasWindowEncrypt: typeof window.encrypt === "function"
6618
- });
6619
- if (!encryptedData || encryptedData.startsWith("{") || encryptedData.startsWith("[")) {
6620
- console.log("[PWTK Decrypt] Data looks like JSON, parsing directly");
6621
- try {
6622
- const parsed = JSON.parse(encryptedData);
6623
- console.log("[PWTK Decrypt] Successfully parsed as JSON");
6624
- return parsed;
6625
- } catch {
6626
- console.log("[PWTK Decrypt] Failed to parse as JSON, returning as string");
6627
- return encryptedData;
6628
- }
6629
- }
6630
- if (window.decrypt && keyStr) {
6631
- console.log("[PWTK Decrypt] Trying WebAssembly decrypt");
6632
- console.log("[PWTK Decrypt] Input to window.decrypt:", {
6633
- data: encryptedData.substring(0, 100) + "...",
6634
- key: keyStr
6635
- });
6636
- try {
6637
- const decrypted = window.decrypt(encryptedData, keyStr);
6638
- console.log("[PWTK Decrypt] window.decrypt returned:", {
6639
- type: typeof decrypted,
6640
- length: decrypted?.length,
6641
- preview: decrypted ? decrypted.substring(0, 200) + (decrypted.length > 200 ? "..." : "") : null,
6642
- sameAsInput: decrypted === encryptedData,
6643
- hasInvalidChars: decrypted?.includes("�")
6644
- });
6645
- if (decrypted && decrypted !== encryptedData && !decrypted.includes("�")) {
6646
- try {
6647
- const parsed = JSON.parse(decrypted);
6648
- console.log("[PWTK Decrypt] ✅ WebAssembly decryption successful, parsed as JSON:", parsed);
6649
- return parsed;
6650
- } catch {
6651
- if (decrypted.length > 0) {
6652
- console.log("[PWTK Decrypt] ✅ WebAssembly decryption successful, returning as string");
6653
- return decrypted;
6654
- }
6655
- }
6656
- } else {
6657
- console.log("[PWTK Decrypt] window.decrypt did not change the data or returned invalid result");
6658
- }
6659
- } catch (e) {
6660
- console.log("[PWTK Decrypt] WebAssembly decrypt error:", e);
6661
- }
6662
- } else {
6663
- console.log("[PWTK Decrypt] WebAssembly not available:", {
6664
- hasWindowDecrypt: !!window.decrypt,
6665
- hasKey: !!keyStr,
6666
- windowDecryptType: typeof window.decrypt
6667
- });
6668
- }
6669
- const keys = [
6670
- keyStr,
6671
- "thisisakey123456",
6672
- "VITE_CRYPTO_KEY"
6673
- ].filter(Boolean);
6674
- for (const secretKey of keys) {
6675
- if (!secretKey) continue;
6676
- try {
6677
- const key = CryptoJS.enc.Utf8.parse(secretKey.padEnd(16, "0").slice(0, 16));
6678
- const iv = CryptoJS.enc.Utf8.parse(secretKey.padEnd(16, "0").slice(0, 16));
6679
- const decrypted = CryptoJS.AES.decrypt(encryptedData, key, {
6680
- iv,
6681
- mode: CryptoJS.mode.CBC,
6682
- padding: CryptoJS.pad.Pkcs7
6683
- });
6684
- const decryptedStr = decrypted.toString(CryptoJS.enc.Utf8);
6685
- if (decryptedStr) {
6686
- try {
6687
- return JSON.parse(decryptedStr);
6688
- } catch {
6689
- return decryptedStr;
6690
- }
6691
- }
6692
- } catch (e) {
6693
- }
6694
- }
6695
- try {
6696
- const decoded = atob(encryptedData);
6697
- try {
6698
- return JSON.parse(decoded);
6699
- } catch {
6700
- return decoded;
6701
- }
6702
- } catch {
6703
- }
6704
- console.log("[PWTK Decrypt] ❌ All decryption methods failed, returning original data");
6705
- return encryptedData;
6706
- }
6707
6611
  class Logger {
6708
6612
  constructor() {
6709
6613
  this.panel = null;
@@ -6796,6 +6700,102 @@ class Logger {
6796
6700
  }
6797
6701
  }
6798
6702
  const logger = new Logger();
6703
+ function decrypt(encryptedData, keyStr) {
6704
+ logger.debug("[PWTK Decrypt] decrypt function called:", {
6705
+ dataLength: encryptedData?.length,
6706
+ dataPreview: encryptedData?.substring(0, 50),
6707
+ keyStr,
6708
+ hasWindowDecrypt: typeof window.decrypt === "function",
6709
+ hasWindowEncrypt: typeof window.encrypt === "function"
6710
+ });
6711
+ if (!encryptedData || encryptedData.startsWith("{") || encryptedData.startsWith("[")) {
6712
+ logger.debug("[PWTK Decrypt] Data looks like JSON, parsing directly");
6713
+ try {
6714
+ const parsed = JSON.parse(encryptedData);
6715
+ logger.debug("[PWTK Decrypt] Successfully parsed as JSON");
6716
+ return parsed;
6717
+ } catch {
6718
+ logger.debug("[PWTK Decrypt] Failed to parse as JSON, returning as string");
6719
+ return encryptedData;
6720
+ }
6721
+ }
6722
+ if (window.decrypt && keyStr) {
6723
+ logger.debug("[PWTK Decrypt] Trying WebAssembly decrypt");
6724
+ logger.debug("[PWTK Decrypt] Input to window.decrypt:", {
6725
+ data: encryptedData.substring(0, 100) + "...",
6726
+ key: keyStr
6727
+ });
6728
+ try {
6729
+ const decrypted = window.decrypt(encryptedData, keyStr);
6730
+ logger.debug("[PWTK Decrypt] window.decrypt returned:", {
6731
+ type: typeof decrypted,
6732
+ length: decrypted?.length,
6733
+ preview: decrypted ? decrypted.substring(0, 200) + (decrypted.length > 200 ? "..." : "") : null,
6734
+ sameAsInput: decrypted === encryptedData,
6735
+ hasInvalidChars: decrypted?.includes("�")
6736
+ });
6737
+ if (decrypted && decrypted !== encryptedData && !decrypted.includes("�")) {
6738
+ try {
6739
+ const parsed = JSON.parse(decrypted);
6740
+ logger.debug("[PWTK Decrypt] ✅ WebAssembly decryption successful, parsed as JSON:", parsed);
6741
+ return parsed;
6742
+ } catch {
6743
+ if (decrypted.length > 0) {
6744
+ logger.debug("[PWTK Decrypt] ✅ WebAssembly decryption successful, returning as string");
6745
+ return decrypted;
6746
+ }
6747
+ }
6748
+ } else {
6749
+ logger.debug("[PWTK Decrypt] window.decrypt did not change the data or returned invalid result");
6750
+ }
6751
+ } catch (e) {
6752
+ logger.debug("[PWTK Decrypt] WebAssembly decrypt error:", e);
6753
+ }
6754
+ } else {
6755
+ logger.debug("[PWTK Decrypt] WebAssembly not available:", {
6756
+ hasWindowDecrypt: !!window.decrypt,
6757
+ hasKey: !!keyStr,
6758
+ windowDecryptType: typeof window.decrypt
6759
+ });
6760
+ }
6761
+ const keys = [
6762
+ keyStr,
6763
+ "thisisakey123456",
6764
+ "VITE_CRYPTO_KEY"
6765
+ ].filter(Boolean);
6766
+ for (const secretKey of keys) {
6767
+ if (!secretKey) continue;
6768
+ try {
6769
+ const key = CryptoJS.enc.Utf8.parse(secretKey.padEnd(16, "0").slice(0, 16));
6770
+ const iv = CryptoJS.enc.Utf8.parse(secretKey.padEnd(16, "0").slice(0, 16));
6771
+ const decrypted = CryptoJS.AES.decrypt(encryptedData, key, {
6772
+ iv,
6773
+ mode: CryptoJS.mode.CBC,
6774
+ padding: CryptoJS.pad.Pkcs7
6775
+ });
6776
+ const decryptedStr = decrypted.toString(CryptoJS.enc.Utf8);
6777
+ if (decryptedStr) {
6778
+ try {
6779
+ return JSON.parse(decryptedStr);
6780
+ } catch {
6781
+ return decryptedStr;
6782
+ }
6783
+ }
6784
+ } catch (e) {
6785
+ }
6786
+ }
6787
+ try {
6788
+ const decoded = atob(encryptedData);
6789
+ try {
6790
+ return JSON.parse(decoded);
6791
+ } catch {
6792
+ return decoded;
6793
+ }
6794
+ } catch {
6795
+ }
6796
+ logger.debug("[PWTK Decrypt] ❌ All decryption methods failed, returning original data");
6797
+ return encryptedData;
6798
+ }
6799
6799
  class NetworkInterceptor {
6800
6800
  constructor() {
6801
6801
  this.requests = /* @__PURE__ */ new Map();
@@ -7976,19 +7976,40 @@ async function createShareLink(requestData) {
7976
7976
  decryptedResponse: requestData.decryptedResponse,
7977
7977
  error: requestData.error,
7978
7978
  creator: "PWTK Network Debugger by Leo (@leeguoo)",
7979
- version: "1.2.0"
7979
+ version: "1.2.22"
7980
7980
  }
7981
7981
  };
7982
+ const currentDomain = window.location.hostname;
7983
+ const isOnCurlDomain = currentDomain === "curl.bwg.leeguoo.com" || currentDomain === "localhost";
7982
7984
  const originalFetch = window.__originalFetch || window.fetch;
7983
- const response = await originalFetch("https://curl.bwg.leeguoo.com/api/share", {
7984
- method: "POST",
7985
- headers: {
7986
- "Content-Type": "application/json"
7987
- },
7988
- body: JSON.stringify({
7989
- data: shareData
7990
- })
7991
- });
7985
+ let apiUrl;
7986
+ let response;
7987
+ if (isOnCurlDomain) {
7988
+ apiUrl = "/api/share";
7989
+ logger.debug("使用同域API:", apiUrl);
7990
+ } else {
7991
+ apiUrl = "https://curl.bwg.leeguoo.com/api/share";
7992
+ logger.debug("使用跨域API:", apiUrl);
7993
+ }
7994
+ try {
7995
+ response = await originalFetch(apiUrl, {
7996
+ method: "POST",
7997
+ headers: {
7998
+ "Content-Type": "application/json"
7999
+ },
8000
+ body: JSON.stringify({
8001
+ data: shareData
8002
+ })
8003
+ });
8004
+ } catch (fetchError) {
8005
+ if (fetchError.name === "TypeError" && fetchError.message.includes("fetch")) {
8006
+ throw new Error(`网络连接失败: 无法连接到分享服务器 (${apiUrl}). 可能原因: CORS策略限制或网络问题`);
8007
+ }
8008
+ throw fetchError;
8009
+ }
8010
+ if (!response.ok) {
8011
+ throw new Error(`HTTP ${response.status}: ${response.statusText}`);
8012
+ }
7992
8013
  const result = await response.json();
7993
8014
  if (result.shareId) {
7994
8015
  const shareUrl = `https://curl.bwg.leeguoo.com/share/${result.shareId}`;
@@ -7998,8 +8019,13 @@ async function createShareLink(requestData) {
7998
8019
  throw new Error(result.error || "创建分享失败");
7999
8020
  }
8000
8021
  } catch (error) {
8001
- logger.error("NetworkDebugger: 创建分享链接失败:", error);
8002
- throw error;
8022
+ const errorMessage = error.message || error.toString() || "未知错误";
8023
+ logger.error("NetworkDebugger: 创建分享链接失败:", {
8024
+ message: errorMessage,
8025
+ name: error.name,
8026
+ stack: error.stack?.split("\n")[0]
8027
+ });
8028
+ throw new Error(errorMessage);
8003
8029
  }
8004
8030
  }
8005
8031
  async function copyToClipboard(text) {
@@ -8216,7 +8242,7 @@ class DebugPanel {
8216
8242
  this.renderRequests();
8217
8243
  }
8218
8244
  addRequestToUI(request) {
8219
- console.log("[PWTK UI] Adding/updating request:", {
8245
+ logger.debug("[PWTK UI] Adding/updating request:", {
8220
8246
  id: request.id,
8221
8247
  url: request.url,
8222
8248
  hasResponse: !!request.responseBody,