|
@@ -3,7 +3,6 @@ const originalConsoleLog = console.log;
|
|
|
|
|
|
const isElectron = typeof nodeRequire != "undefined";
|
|
const isElectron = typeof nodeRequire != "undefined";
|
|
let log = null;
|
|
let log = null;
|
|
-let logArray = [];
|
|
|
|
if (isElectron) {
|
|
if (isElectron) {
|
|
try {
|
|
try {
|
|
log = window.nodeRequire("electron-log");
|
|
log = window.nodeRequire("electron-log");
|
|
@@ -11,82 +10,62 @@ if (isElectron) {
|
|
console.debug(error);
|
|
console.debug(error);
|
|
}
|
|
}
|
|
console.log = async function(...args) {
|
|
console.log = async function(...args) {
|
|
- // if (log && log.info) {
|
|
|
|
- // log.info(...args);
|
|
|
|
- // }
|
|
|
|
// log && log.info(...args);
|
|
// log && log.info(...args);
|
|
- try {
|
|
|
|
- if (log && log.info) {
|
|
|
|
- const encryLog = [window.location.pathname, ...args];
|
|
|
|
- encryLog.map(v => {
|
|
|
|
- // 将对象转为string,Error对象怎么办?
|
|
|
|
- v = JSON.stringify(v);
|
|
|
|
- return v;
|
|
|
|
- });
|
|
|
|
- const messageSingle = encryLog.join(";;; ");
|
|
|
|
- logArray.push(messageSingle);
|
|
|
|
|
|
+ if (log && log.info) {
|
|
|
|
+ const encryLog = [window.location.pathname, ...args];
|
|
|
|
+ encryLog.map(v => {
|
|
|
|
+ // 将对象转为string,Error对象怎么办?
|
|
|
|
+ v = JSON.stringify(v);
|
|
|
|
+ return v;
|
|
|
|
+ });
|
|
|
|
+ const message = encryLog.join(";;; ");
|
|
|
|
+ // originalConsoleLog.call(window, message);
|
|
|
|
+ let enc = new TextEncoder();
|
|
|
|
+ const encoded = enc.encode(message);
|
|
|
|
|
|
- await new Promise(resolve => setTimeout(() => resolve(), 1000));
|
|
|
|
- if (logArray.length === 0 || !logArray.includes(messageSingle)) {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- // originalConsoleLog.call(window, message);
|
|
|
|
- const messageMerge = logArray.join(" +++++ ");
|
|
|
|
- logArray = [];
|
|
|
|
- let enc = new TextEncoder();
|
|
|
|
- const encoded = enc.encode(messageMerge);
|
|
|
|
|
|
+ const jwkEcKey = {
|
|
|
|
+ alg: "RSA-OAEP-256",
|
|
|
|
+ e: "AQAB",
|
|
|
|
+ ext: true,
|
|
|
|
+ key_ops: ["encrypt"],
|
|
|
|
+ kty: "RSA",
|
|
|
|
+ n:
|
|
|
|
+ "3vl4K5l_XhHYnm28Nz0YoaP7UTUPRQD4_S2btf1R1kzuVbbqg3eBru7OOcPSVOVFd0GGwy1cXlq1-J9XqFTEscFLIQYCimvLhtSDs7797b6DMwpWQ7Y_QvaVXhwgZZh7KlD0pLUtF2NwDYK10bPaWHEik-OwDCQE5P5Gv6Oz4TZZAjSpxOCNx_ui_KGeu8c63if1-mNwzn70U82LjhbHy3edDjAdT0JDPxqYPiMwSo8lhDy1CqFiyQxq2unPHJcRxb9fAwV3siyWOdHQaaKH2GvCxhpsPUHnVlIng02yeZBzv-UIz6fAPWNhC-6H_5GeZ_Qlk6qQIPzFQ3DPD82VGF9GWGbkdWgHm3JZsSyjjZXYSU3lmc3gaO8q5ZDGGlmh31ApOYddEsFcfYobI3RJwhlvAFHxr9YtRjXlaL-YUf_KwztJFFNw75WSWp8-WtMy96LL3cljjR3rxHYBjiOYDsReTIIeLEDEigcKFyswuc71qSIB6XQFxM6J6u3Urvu3uoPiu-aqujVj6gtOSfOHGvCXq05n3eBk89o2kY92J10v1ANDbZo6HneqKFKJ2Dh8uUaavdSJfHWc8QTy2b50HasxZj9mv_ADaBYaGb2C_tnNvgkusnHu87qxt95iqLPJOzMy4au0UD6kPZ8aTkGZq_b2gT9LHxi6PPdEOjRdVxs",
|
|
|
|
+ };
|
|
|
|
+ const publicKey = await window.crypto.subtle.importKey(
|
|
|
|
+ "jwk",
|
|
|
|
+ jwkEcKey,
|
|
|
|
+ {
|
|
|
|
+ name: "RSA-OAEP",
|
|
|
|
+ modulusLength: 4096,
|
|
|
|
+ publicExponent: new Uint8Array([1, 0, 1]),
|
|
|
|
+ hash: "SHA-256",
|
|
|
|
+ },
|
|
|
|
+ true,
|
|
|
|
+ ["encrypt"]
|
|
|
|
+ );
|
|
|
|
|
|
- const jwkEcKey = {
|
|
|
|
- alg: "RSA-OAEP-256",
|
|
|
|
- e: "AQAB",
|
|
|
|
- ext: true,
|
|
|
|
- key_ops: ["encrypt"],
|
|
|
|
- kty: "RSA",
|
|
|
|
- n:
|
|
|
|
- "3vl4K5l_XhHYnm28Nz0YoaP7UTUPRQD4_S2btf1R1kzuVbbqg3eBru7OOcPSVOVFd0GGwy1cXlq1-J9XqFTEscFLIQYCimvLhtSDs7797b6DMwpWQ7Y_QvaVXhwgZZh7KlD0pLUtF2NwDYK10bPaWHEik-OwDCQE5P5Gv6Oz4TZZAjSpxOCNx_ui_KGeu8c63if1-mNwzn70U82LjhbHy3edDjAdT0JDPxqYPiMwSo8lhDy1CqFiyQxq2unPHJcRxb9fAwV3siyWOdHQaaKH2GvCxhpsPUHnVlIng02yeZBzv-UIz6fAPWNhC-6H_5GeZ_Qlk6qQIPzFQ3DPD82VGF9GWGbkdWgHm3JZsSyjjZXYSU3lmc3gaO8q5ZDGGlmh31ApOYddEsFcfYobI3RJwhlvAFHxr9YtRjXlaL-YUf_KwztJFFNw75WSWp8-WtMy96LL3cljjR3rxHYBjiOYDsReTIIeLEDEigcKFyswuc71qSIB6XQFxM6J6u3Urvu3uoPiu-aqujVj6gtOSfOHGvCXq05n3eBk89o2kY92J10v1ANDbZo6HneqKFKJ2Dh8uUaavdSJfHWc8QTy2b50HasxZj9mv_ADaBYaGb2C_tnNvgkusnHu87qxt95iqLPJOzMy4au0UD6kPZ8aTkGZq_b2gT9LHxi6PPdEOjRdVxs",
|
|
|
|
- };
|
|
|
|
- const publicKey = await window.crypto.subtle.importKey(
|
|
|
|
- "jwk",
|
|
|
|
- jwkEcKey,
|
|
|
|
- {
|
|
|
|
- name: "RSA-OAEP",
|
|
|
|
- modulusLength: 4096,
|
|
|
|
- publicExponent: new Uint8Array([1, 0, 1]),
|
|
|
|
- hash: "SHA-256",
|
|
|
|
- },
|
|
|
|
- true,
|
|
|
|
- ["encrypt"]
|
|
|
|
- );
|
|
|
|
- console.debug("start encrypt");
|
|
|
|
- const encryMsg = await window.crypto.subtle.encrypt(
|
|
|
|
- {
|
|
|
|
- name: "RSA-OAEP",
|
|
|
|
- modulusLength: 4096,
|
|
|
|
- publicExponent: new Uint8Array([1, 0, 1]),
|
|
|
|
- hash: "SHA-256",
|
|
|
|
- },
|
|
|
|
- publicKey,
|
|
|
|
- encoded
|
|
|
|
- );
|
|
|
|
- console.debug("encrypt result: ", encryMsg);
|
|
|
|
- const ab2str = function(buf) {
|
|
|
|
- return String.fromCharCode.apply(null, new Uint8Array(buf));
|
|
|
|
- };
|
|
|
|
|
|
+ const encryMsg = await window.crypto.subtle.encrypt(
|
|
|
|
+ {
|
|
|
|
+ name: "RSA-OAEP",
|
|
|
|
+ modulusLength: 4096,
|
|
|
|
+ publicExponent: new Uint8Array([1, 0, 1]),
|
|
|
|
+ hash: "SHA-256",
|
|
|
|
+ },
|
|
|
|
+ publicKey,
|
|
|
|
+ encoded
|
|
|
|
+ );
|
|
|
|
+ const ab2str = function(buf) {
|
|
|
|
+ return String.fromCharCode.apply(null, new Uint8Array(buf));
|
|
|
|
+ };
|
|
|
|
|
|
- // originalConsoleLog.call(window, encryMsg);
|
|
|
|
- // 512 length
|
|
|
|
- // var bufView = new Uint8Array(encryMsg);
|
|
|
|
- // originalConsoleLog(bufView);
|
|
|
|
- log.info(">>==>>" + window.btoa(ab2str(encryMsg)) + "<<==<<");
|
|
|
|
- }
|
|
|
|
- } catch (error) {
|
|
|
|
- console.debug(error);
|
|
|
|
- }
|
|
|
|
- try {
|
|
|
|
- originalConsoleLog.call(window, ...args);
|
|
|
|
- } catch (error) {
|
|
|
|
- console.debug(error);
|
|
|
|
|
|
+ // originalConsoleLog.call(window, encryMsg);
|
|
|
|
+ // 512 length
|
|
|
|
+ // var bufView = new Uint8Array(encryMsg);
|
|
|
|
+ // originalConsoleLog(bufView);
|
|
|
|
+ log.info(">>==>>" + window.btoa(ab2str(encryMsg)) + "<<==<<");
|
|
}
|
|
}
|
|
|
|
+ originalConsoleLog.call(window, ...args);
|
|
};
|
|
};
|
|
}
|
|
}
|
|
|
|
|