@leeguoo/pwtk-network-debugger 1.2.4 → 1.2.6

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
@@ -6713,7 +6713,7 @@ class NetworkInterceptor {
6713
6713
  return Math.random().toString(36).substr(2, 9);
6714
6714
  }
6715
6715
  isInternalUrl(url) {
6716
- return url.includes("/ip/getSK") || url.includes("/api/dokv/storage") || url.includes("/api/share");
6716
+ return url.includes("/api/dokv/storage") || url.includes("/api/share");
6717
6717
  }
6718
6718
  notifyListeners(request) {
6719
6719
  this.listeners.forEach((listener) => {
@@ -6745,9 +6745,15 @@ class NetworkInterceptor {
6745
6745
  });
6746
6746
  const result = await response.json();
6747
6747
  if (result.success && result.data) {
6748
- const num = result.data;
6749
- key = num.slice(2, 3) + num.slice(5, 6) + num.slice(8, 9);
6750
- console.log("NetworkDebugger: 自动获取密钥成功:", key, "原始值:", num);
6748
+ const num = String(result.data);
6749
+ if (num.length >= 9) {
6750
+ key = num.charAt(2) + num.charAt(5) + num.charAt(8);
6751
+ console.log("NetworkDebugger: 自动获取密钥成功 key:", key, "from num:", num);
6752
+ } else {
6753
+ console.warn("NetworkDebugger: getSK返回数据长度不足:", num);
6754
+ }
6755
+ } else {
6756
+ console.warn("NetworkDebugger: getSK返回失败:", result);
6751
6757
  }
6752
6758
  } catch (e) {
6753
6759
  console.warn("NetworkDebugger: 自动获取密钥失败:", e);
@@ -6765,11 +6771,16 @@ class NetworkInterceptor {
6765
6771
  }
6766
6772
  const fullKey = key + slk;
6767
6773
  if (fullKey) {
6768
- const decrypted = decrypt(typeof data === "string" ? data : JSON.stringify(data), fullKey);
6769
- if (decrypted !== data) {
6770
- console.log("NetworkDebugger: 解密成功", { key, slk, fullKey });
6774
+ const dataStr = typeof data === "string" ? data : JSON.stringify(data);
6775
+ const decrypted = decrypt(dataStr, fullKey);
6776
+ if (decrypted && decrypted !== dataStr && decrypted !== data) {
6777
+ console.log("NetworkDebugger: 解密成功", { key, slk, fullKey, original: dataStr.substring(0, 50) + "...", decrypted: JSON.stringify(decrypted).substring(0, 50) + "..." });
6771
6778
  return decrypted;
6779
+ } else {
6780
+ console.log("NetworkDebugger: 解密未生效", { key, slk, fullKey });
6772
6781
  }
6782
+ } else {
6783
+ console.log("NetworkDebugger: 没有密钥,跳过解密");
6773
6784
  }
6774
6785
  } catch (error) {
6775
6786
  console.warn("NetworkDebugger: Decryption failed:", error);
@@ -6817,7 +6828,6 @@ class NetworkInterceptor {
6817
6828
  if (decrypted !== null) {
6818
6829
  requestData.decryptedRequest = decrypted;
6819
6830
  self2.requests.set(requestId, requestData);
6820
- self2.notifyListeners(requestData);
6821
6831
  }
6822
6832
  }).catch((e) => console.warn("解密请求失败:", e));
6823
6833
  }
@@ -6857,9 +6867,10 @@ class NetworkInterceptor {
6857
6867
  self2.notifyListeners(requestData);
6858
6868
  }
6859
6869
  }).catch((e) => console.warn("解密响应失败:", e));
6870
+ } else {
6871
+ self2.requests.set(requestId, requestData);
6872
+ self2.notifyListeners(requestData);
6860
6873
  }
6861
- self2.requests.set(requestId, requestData);
6862
- self2.notifyListeners(requestData);
6863
6874
  }
6864
6875
  }
6865
6876
  });
@@ -6919,7 +6930,6 @@ class NetworkInterceptor {
6919
6930
  if (decrypted !== null) {
6920
6931
  requestData.decryptedRequest = decrypted;
6921
6932
  self2.requests.set(requestId, requestData);
6922
- self2.notifyListeners(requestData);
6923
6933
  }
6924
6934
  }).catch((e) => console.warn("解密请求失败:", e));
6925
6935
  }
@@ -6957,12 +6967,15 @@ class NetworkInterceptor {
6957
6967
  self2.notifyListeners(updatedRequestData);
6958
6968
  }
6959
6969
  }).catch((e) => console.warn("解密响应失败:", e));
6970
+ } else {
6971
+ self2.requests.set(requestId, updatedRequestData);
6972
+ self2.notifyListeners(updatedRequestData);
6960
6973
  }
6961
6974
  } catch (error) {
6962
6975
  updatedRequestData.error = `Failed to read response: ${error}`;
6976
+ self2.requests.set(requestId, updatedRequestData);
6977
+ self2.notifyListeners(updatedRequestData);
6963
6978
  }
6964
- self2.requests.set(requestId, updatedRequestData);
6965
- self2.notifyListeners(updatedRequestData);
6966
6979
  }
6967
6980
  return response;
6968
6981
  } catch (error) {
@@ -7861,7 +7874,7 @@ class DebugPanel {
7861
7874
  <div class="about-panel" data-panel="about" style="display: none;">
7862
7875
  <div style="padding: 20px; color: #fff; text-align: center;">
7863
7876
  <h2 style="margin: 0 0 20px 0;">🔓 PWTK 解密小工具</h2>
7864
- <p style="margin: 10px 0;">Version: 1.2.4</p>
7877
+ <p style="margin: 10px 0;">Version: 1.2.5</p>
7865
7878
  <p style="margin: 10px 0;">👨‍💻 Created by <strong>Leo (@leeguoo)</strong></p>
7866
7879
  <p style="margin: 10px 0;">📧 技术支持:请联系 Leo</p>
7867
7880
  <p style="margin: 10px 0;">🌐 分享服务:curl.bwg.leeguoo.com</p>
@@ -7981,16 +7994,15 @@ class DebugPanel {
7981
7994
  item.dataset.requestId = request.id;
7982
7995
  const statusClass = this.getStatusClass(request.status);
7983
7996
  const methodClass = `method-${request.method.toLowerCase()}`;
7984
- const hasDecryptedData = request.decryptedRequest || request.decryptedResponse;
7997
+ request.decryptedRequest || request.decryptedResponse;
7985
7998
  const hasError = request.error;
7986
7999
  item.innerHTML = `
7987
8000
  <div class="request-header">
7988
8001
  <span class="request-method ${methodClass}">${request.method}</span>
7989
8002
  <span class="request-url" title="${request.url}">${this.truncateUrl(request.url)}</span>
7990
- <span class="request-status ${statusClass}">${request.status || "ERR"}</span>
7991
- ${hasDecryptedData ? '<span class="decrypted-badge">🔓</span>' : ""}
8003
+ <span class="request-status ${statusClass}">${request.status ? request.status : request.duration !== void 0 ? "ERR" : "Pending"}</span>
7992
8004
  ${hasError ? '<span class="error-badge">⚠️</span>' : ""}
7993
- <button class="share-btn" title="分享此请求 (by Leo)" onclick="event.stopPropagation()">📤</button>
8005
+ <button class="share-btn" title="分享此请求 (by Leo)" onclick="event.stopPropagation()">🔗</button>
7994
8006
  </div>
7995
8007
  <div class="request-info">
7996
8008
  <span>${new Date(request.timestamp).toLocaleTimeString()}</span>
@@ -8018,7 +8030,7 @@ class DebugPanel {
8018
8030
  if (request.decryptedRequest) {
8019
8031
  html += `
8020
8032
  <div class="detail-section">
8021
- <div class="detail-title highlight">🔓 解密请求数据</div>
8033
+ <div class="detail-title highlight">解密请求数据</div>
8022
8034
  <div class="detail-content">
8023
8035
  <div class="json-content">${this.formatData(request.decryptedRequest)}</div>
8024
8036
  </div>
@@ -8028,7 +8040,7 @@ class DebugPanel {
8028
8040
  if (request.decryptedResponse) {
8029
8041
  html += `
8030
8042
  <div class="detail-section">
8031
- <div class="detail-title highlight">🔓 解密响应数据</div>
8043
+ <div class="detail-title highlight">解密响应数据</div>
8032
8044
  <div class="detail-content">
8033
8045
  <div class="json-content">${this.formatData(request.decryptedResponse)}</div>
8034
8046
  </div>
@@ -8067,20 +8079,20 @@ class DebugPanel {
8067
8079
  </div>
8068
8080
  `;
8069
8081
  }
8070
- if (request.requestBody && !request.decryptedRequest) {
8082
+ if (request.requestBody) {
8071
8083
  html += `
8072
8084
  <div class="detail-section">
8073
- <div class="detail-title">请求数据</div>
8085
+ <div class="detail-title">${request.decryptedRequest ? "原始请求数据" : "请求数据"}</div>
8074
8086
  <div class="detail-content">
8075
8087
  <div class="json-content">${this.formatData(request.requestBody)}</div>
8076
8088
  </div>
8077
8089
  </div>
8078
8090
  `;
8079
8091
  }
8080
- if (request.responseBody && !request.decryptedResponse) {
8092
+ if (request.responseBody) {
8081
8093
  html += `
8082
8094
  <div class="detail-section">
8083
- <div class="detail-title">响应数据</div>
8095
+ <div class="detail-title">${request.decryptedResponse ? "原始响应数据" : "响应数据"}</div>
8084
8096
  <div class="detail-content">
8085
8097
  <div class="json-content">${this.formatData(request.responseBody)}</div>
8086
8098
  </div>
@@ -8119,12 +8131,7 @@ class DebugPanel {
8119
8131
  return "status-error";
8120
8132
  }
8121
8133
  truncateUrl(url) {
8122
- if (url.length <= 50) return url;
8123
- const parts = url.split("/");
8124
- const domain = parts.slice(0, 3).join("/");
8125
- const path = parts.slice(3).join("/");
8126
- if (path.length <= 20) return url;
8127
- return `${domain}/...${path.slice(-20)}`;
8134
+ return url;
8128
8135
  }
8129
8136
  switchTab(tabName) {
8130
8137
  this.container.querySelectorAll(".debugger-tab").forEach((tab) => {
@@ -8463,7 +8470,7 @@ class NetworkDebugger {
8463
8470
  this.initialized = true;
8464
8471
  console.log(`
8465
8472
  ╔════════════════════════════════════════╗
8466
- ║ 🔓 PWTK 解密小工具 v1.2.4
8473
+ ║ 🔓 PWTK 解密小工具 v1.2.5
8467
8474
  ║ Created by Leo (@leeguoo) ║
8468
8475
  ║ 技术支持: 请联系 Leo ║
8469
8476
  ║ 分享服务: curl.bwg.leeguoo.com ║