インストールの前に、Greasy Forkは、このスクリプトにアンチ機能が含まれることをお知らせします。これはあなたではなく、スクリプトの作者の利益を目的としてます。
このスクリプトは、あなたの閲覧履歴をたどるコードを含みます。
スクリプト作者による説明:
从云端查询密码,发送本地缓存密码到云端,有异议请不要安装
Greasy Fork is available in English.
优聚搜自动填写密码脚本,目前支持百度网盘、蓝奏网盘、阿里云网盘提取码填写
// ==UserScript== // @name 【优聚搜】网盘自动填写密码脚本 // @namespace https://ujuso.com // @version 1.0.3 // @description 优聚搜自动填写密码脚本,目前支持百度网盘、蓝奏网盘、阿里云网盘提取码填写 // @author ujuso // 白名单 // @include http*://*/* // 去除 // @exclude http*://*.ujuso.com/* // 更新日志 // @note 2021-10-03 第三版更新,支持阿里云密码填写 // @note 2021-10-03 第二版更新,支持蓝奏云密码填写 // @note 2021-10-01 第一版更新,支持百度云密码填写 // @grant unsafeWindow // @grant GM_setValue // @grant GM_getValue // @grant GM_log // @grant GM_deleteValue // @grant GM_listValues // @grant GM_info // @grant GM_xmlhttpRequest // @connect * // @icon https://ujuso.com/favicon-32x32.png // @antifeature tracking 从云端查询密码,发送本地缓存密码到云端,有异议请不要安装 // ==/UserScript== /******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ({ /***/ 230: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", ({ value: true })); var config_1 = __importDefault(__webpack_require__(516)); var helper_1 = __webpack_require__(910); var inet_1 = __webpack_require__(481); var local_1 = __webpack_require__(549); var alyPage = function () { var _a = (0, helper_1.getDiskIdAndType)(config_1.default.href), diskType = _a[0], diskID = _a[1]; var timer = null; timer = setInterval(function () { var inputEl = document.querySelector('[class*="code-input"] > input'); var clickEl = document.querySelector('button[type="submit"]'); var noticeEl = document.querySelector('p[class*="expired-info"]'); if (inputEl) { clearInterval(timer); if (noticeEl) noticeEl.innerText = '获取密码中...'; (0, inet_1.getPass)(diskID, diskType) .then(function (pass) { console.log('pass', pass); if (noticeEl) noticeEl.innerText = '获取到密码'; var lastVal = inputEl.value; inputEl.value = pass; var event = new Event('input', { bubbles: true }); //@ts-ignore event.simulated = true; //@ts-ignore var tracker = inputEl._valueTracker; if (tracker) { tracker.setValue(lastVal); } inputEl.dispatchEvent(event); clickEl.click(); }) .catch(function () { if (noticeEl) noticeEl.innerText = '抱歉,未获取到密码,请手动输入'; }); inputEl.addEventListener('input', function (ev) { var v = ev.target.value; (0, local_1.setPwdValue)(diskType, diskID, v); }); } }, 1400); setTimeout(function () { timer && clearInterval(timer); }, 1000 * 60); //check if pwd input var sendTimer; sendTimer = setInterval(function () { var tbody = document.querySelector('div[class*="tbody"'); if (tbody) { console.log('tbody'); clearInterval(sendTimer); (0, inet_1.sendPass)(diskID, diskType, (0, local_1.getPwdValue)(diskType, diskID)); console.log('sent'); } }, 2000); }; exports["default"] = alyPage; /***/ }), /***/ 292: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.bdyIndex = exports.bdyProcess = exports.BAIDU_ELEMENT = void 0; var config_1 = __importStar(__webpack_require__(516)); var helper_1 = __webpack_require__(910); var inet_1 = __webpack_require__(481); var local_1 = __webpack_require__(549); exports.BAIDU_ELEMENT = { input: 'form input', notice: '.verify-form > div', click: '.input-area > div > a > span', }; var bdyProcess = function () { return __awaiter(void 0, void 0, void 0, function () { var _a, diskType, diskID, noticeEl, inputEl, clickEl; return __generator(this, function (_b) { _a = (0, helper_1.getDiskIdAndType)(config_1.default.href), diskType = _a[0], diskID = _a[1]; noticeEl = document.querySelector(exports.BAIDU_ELEMENT.notice); inputEl = document.querySelector(exports.BAIDU_ELEMENT.input); clickEl = document.querySelector(exports.BAIDU_ELEMENT.click); // noticeEl?.style.display = 'block' noticeEl.innerText = '获取密码中...'; (0, inet_1.getPass)(diskID, diskType) .then(function (pass) { noticeEl.innerText = '获取到密码'; console.log(pass); inputEl.value = pass; clickEl.click(); }) .catch(function () { noticeEl.innerText = '抱歉,未获取到密码,请手动输入'; }); inputEl.addEventListener('input', function (ev) { var _a; var v = (_a = ev.target.value) === null || _a === void 0 ? void 0 : _a.replace(/\*/gi, ''); (0, local_1.setPwdValue)(diskType, diskID, v); }); return [2 /*return*/]; }); }); }; exports.bdyProcess = bdyProcess; var bdyIndex = function () { return __awaiter(void 0, void 0, void 0, function () { var _a, diskType, diskID, i, reg, cpp; return __generator(this, function (_b) { _a = (0, helper_1.getDiskIdAndType)(config_1.default.href), diskType = _a[0], diskID = _a[1]; //是否失效 for (i = 0; i < config_1.INVALIDATE_LINK_REG.length; i++) { reg = config_1.INVALIDATE_LINK_REG[i]; if (reg.test(document.body.innerText)) { console.log('detected invalid page'); (0, inet_1.sendInvalidate)(diskID, diskType); return [2 /*return*/]; } } cpp = (0, helper_1.getCompressPass)(); if (cpp) (0, local_1.setCompressValue)(diskType, diskID, cpp); if ((0, local_1.getSentValue)(diskType, diskID)) { GM_log('sent data'); } else { (0, inet_1.sendPass)(diskID, diskType, (0, local_1.getPwdValue)(diskType, diskID)); (0, local_1.setSentValue)(diskType, diskID); GM_log('sending data'); } return [2 /*return*/]; }); }); }; exports.bdyIndex = bdyIndex; /***/ }), /***/ 516: /***/ ((__unused_webpack_module, exports) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PARSE_PWD_REG = exports.INVALIDATE_LINK_REG = void 0; var href = location.href; // 完整路径 var hash = location.hash; var host = location.hostname.replace(/^www\./i, '').toLowerCase(); var api = "https://disk.xwd.pw"; var config = { href: href, api: api, hash: hash, host: host }; exports.INVALIDATE_LINK_REG = [ /(被取消了|分享文件已过期|已经被删除|分享内容可能因为|啊哦,你来晚了|取消分享了|外链不存在)/gi, ]; exports.PARSE_PWD_REG = [ /(https?:\/\/(?:pan|yun|eyun)\.baidu\.com\/s[hare]*\/[int?surl=]*[\w-_]{8,25})[&\w=]*[^\w]*(?:密码|授权码|提取码)*[::]*[^\w]*([\w]{4})*/gim, /(https?:\/\/(?:\w+)?\.?lanzou.?\.com\/[\w-_]{6,13})\/?[&\w=]*[^\w]*(?:密码|授权码|提取码)*[::]*[^\w]*([\w]{3,})*/gim, /(https?:\/\/cloud.189.cn\/t\/[\w\-_]+)\/?[^\w]*[((::]*([\w]+)*[))]*/gim, /(?:.*码.[::]*)?([\w]{4,6})(?:[\w\S\s]*)?(https?:\/\/)?(www\.aliyundrive\.com\/s\/([\w]{9,16}))/gim, ]; exports["default"] = config; /***/ }), /***/ 910: /***/ ((__unused_webpack_module, exports) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.findAllLink = exports.activiteLink = exports.matchAll = exports.unique = exports.getCompressPass = exports.getDiskIdAndType = void 0; function getDiskIdAndType(url) { if (typeof url !== 'string') return []; var matches; matches = /https?:\/\/(?:pan|eyun)\.baidu\.com\/share\/init\?surl=([a-zA-Z0-9_\-]{5,25})/gi.exec(url); if (matches && matches.length === 2) { return ['BDY', matches[1]]; } matches = /https?:\/\/(?:pan|eyun)\.baidu\.com\/s\/[\d]([a-zA-Z0-9_\-]{5,25})/gi.exec(url); if (matches && matches.length === 2) { return ['BDY', matches[1]]; } matches = /https?:\/\/(?:\w+)?\.?lanzou.?\.com\/([\w-_]{6,13})/gi.exec(url); if (matches && matches.length === 2) { return ['LZY', matches[1]]; } matches = /https?:\/\/cloud.?189?\.cn\/t\/([\w_]{4,20})/gi.exec(url); if (matches && matches.length === 2) { return ['TYY', matches[1]]; } matches = /https?:\/\/(?:www\.)?aliyundrive\.com\/s\/([\w_]{9,16})/gi.exec(url); if (matches && matches.length === 2) { return ['ALY', matches[1]]; } return []; } exports.getDiskIdAndType = getDiskIdAndType; function getCompressPass() { var re_pass = /[【\[激活解压壓提取密码碼::\]】]{3,}\s*([\w+\.\-\~]+)/gi; var matchArray = document.body.innerText.match(re_pass); var result = []; if (!matchArray) return ''; for (var i = 0; i < matchArray.length; i++) { result.push(matchArray[i]); } result = unique(result); // console.log(result); return result.join('~~'); } exports.getCompressPass = getCompressPass; function unique(arr) { // 去重 for (var i = 0; i < arr.length; i++) { for (var j = i + 1; j < arr.length; j++) { if (arr[i] === arr[j]) { //第一个等同于第二个,splice方法删除第二个 arr.splice(j, 1); j--; } } } return arr; } exports.unique = unique; function matchAll(str, reg) { // helper,简单封装匹配函数 var res = []; var match; while ((match = reg.exec(str))) { res.push(match); } return res; } exports.matchAll = matchAll; function activiteLink(linkList) { var dom = document.body.innerHTML; for (var i = 0; i < linkList.length; i++) { dom = dom.replace(new RegExp(linkList[i], 'gm'), "<a target=\"_blank\" style=\"color:red;\" href=\"" + linkList[i] + "\">" + linkList[i] + "</a>"); } document.body.innerHTML = dom; } exports.activiteLink = activiteLink; function findAllLink(html) { var reg = /https?:\/\/(?:[\da-z\.-]+)\.(?:[a-z\.]{2,6})([\/\w \.-]*)*\/?/gi; var res = []; var match; while ((match = reg.exec(html))) { if (match.length >= 1) { if (match[0].indexOf('pan.baidu.com/s/') > -1 || match[0].indexOf('lanzou') > -1 || match[0].indexOf('aly') > -1 || match[0].indexOf('aliyundrive') > -1) { var prefix = document.body.innerHTML.substr(match.index - 1, 1); // console.log('prefix', prefix) if (!["'", '"'].includes(prefix)) { res.push(match[0]); } // console.log(match) // console.log( // match[0], // match[3], // document.body.innerHTML.indexOf(match[0]), // ) } } } return res; } exports.findAllLink = findAllLink; /***/ }), /***/ 882: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", ({ value: true })); var aly_1 = __importDefault(__webpack_require__(230)); var bdy_1 = __webpack_require__(292); var config_1 = __importDefault(__webpack_require__(516)); var lzy_1 = __importDefault(__webpack_require__(159)); var page_1 = __importDefault(__webpack_require__(848)); var regular_express = { bdyPwd: /^https?:\/\/pan\.baidu\.com\/share\/init\?surl=.*/gi, bdyPage: /^https?:\/\/pan\.baidu\.com\/s\/.*/gi, lzyPage: /^https?:\/\/(?:\w+)?\.?lanzou.?\.com\/.*/gi, tyyPage: /^https?:\/\/(?:\w+)?\.?189.?\.cn\/.*/gi, alyPage: /^https?:\/\/(?:\w+)?\.?aliyundrive\.com\/s\/.*/gi, }; //page detect start ~(function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: if (!regular_express.bdyPwd.test(config_1.default.href)) return [3 /*break*/, 2]; console.log('bdy pass'); return [4 /*yield*/, (0, bdy_1.bdyProcess)()]; case 1: _a.sent(); return [2 /*return*/]; case 2: if (!regular_express.bdyPage.test(config_1.default.href)) return [3 /*break*/, 4]; console.log('bdy page'); return [4 /*yield*/, (0, bdy_1.bdyIndex)()]; case 3: _a.sent(); return [2 /*return*/]; case 4: if (regular_express.lzyPage.test(config_1.default.href)) { console.log('lzy Page'); (0, lzy_1.default)(); return [2 /*return*/]; } if (regular_express.alyPage.test(config_1.default.href)) { console.log('aly Page'); (0, aly_1.default)(); return [2 /*return*/]; } //other pages return [4 /*yield*/, (0, page_1.default)()]; case 5: //other pages _a.sent(); return [2 /*return*/]; } }); }); })(); //page detect end /***/ }), /***/ 481: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.sendPass = exports.sendInvalidate = exports.getPass = exports.req = void 0; // import axios from 'axios' var config_1 = __importDefault(__webpack_require__(516)); var local_1 = __webpack_require__(549); var req = function (met, url, data) { return new Promise(function (resolve, reject) { GM_xmlhttpRequest({ method: met, url: url, data: data, headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, onload: function (res) { resolve(res); }, onerror: function (err) { reject(err); }, }); }); }; exports.req = req; var getPass = function (id, type) { return __awaiter(void 0, void 0, void 0, function () { var res; return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, (0, exports.req)('GET', config_1.default.api + "?disk_type=" + type + "&disk_id=" + id)]; case 1: res = _a.sent(); return [2 /*return*/, new Promise(function (resolve, inject) { var _a; var data = JSON.parse(res.responseText); if ((_a = data === null || data === void 0 ? void 0 : data.data) === null || _a === void 0 ? void 0 : _a.disk_pass) { resolve(data.data.disk_pass); } else { inject(data.msg); } })]; } }); }); }; exports.getPass = getPass; var sendInvalidate = function (id, type) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, (0, exports.req)('GET', config_1.default.api + "/invalid/" + type + "/" + id)]; case 1: _a.sent(); return [2 /*return*/]; } }); }); }; exports.sendInvalidate = sendInvalidate; var sendPass = function (id, type, pass) { return __awaiter(void 0, void 0, void 0, function () { var local_compress_pass, data; return __generator(this, function (_a) { if (!id || !type) return [2 /*return*/]; local_compress_pass = (0, local_1.getCompressValue)(type, id); data = "disk_id=" + id + "&disk_pass=" + pass + "&disk_type=" + type + "&disk_info=" + local_compress_pass; (0, exports.req)('POST', "" + config_1.default.api, data); GM_log('sent pa', id, type, pass); return [2 /*return*/]; }); }); }; exports.sendPass = sendPass; /***/ }), /***/ 549: /***/ ((__unused_webpack_module, exports) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.setCompressValue = exports.getCompressValue = exports.setSentValue = exports.getSentValue = exports.getPwdValue = exports.setPwdValue = exports.delValue = exports.getVlues = exports.getValue = exports.setValue = exports.getValues = void 0; function getValues() { return GM_listValues(); } exports.getValues = getValues; function setValue(key, value) { GM_setValue(key, value); } exports.setValue = setValue; function getValue(key, defaultValue) { if (defaultValue === void 0) { defaultValue = ''; } return GM_getValue(key, defaultValue); } exports.getValue = getValue; function getVlues() { return GM_listValues(); } exports.getVlues = getVlues; function delValue(key) { GM_deleteValue(key); } exports.delValue = delValue; function setPwdValue(disk_type, disk_id, value) { GM_setValue(disk_type + '_' + disk_id, value); } exports.setPwdValue = setPwdValue; function getPwdValue(disk_type, disk_id) { return GM_getValue(disk_type + '_' + disk_id, ''); } exports.getPwdValue = getPwdValue; function getSentValue(disk_type, disk_id) { return GM_getValue(disk_type + '_sent_' + disk_id, ''); } exports.getSentValue = getSentValue; function setSentValue(disk_type, disk_id) { GM_setValue(disk_type + '_sent_' + disk_id, 'ok'); } exports.setSentValue = setSentValue; function getCompressValue(disk_type, disk_id) { return GM_getValue(disk_type + '_compress_' + disk_id, ''); } exports.getCompressValue = getCompressValue; function setCompressValue(disk_type, disk_id, val) { GM_setValue(disk_type + '_compress_' + disk_id, val); } exports.setCompressValue = setCompressValue; /***/ }), /***/ 159: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.LZ_ELEMENT = void 0; var config_1 = __importStar(__webpack_require__(516)); var helper_1 = __webpack_require__(910); var inet_1 = __webpack_require__(481); var local_1 = __webpack_require__(549); exports.LZ_ELEMENT = [ { //type1 input: 'input#pwd', notice: '#pwderr', click: 'input#sub', }, { //type2 input: 'input#pwd', notice: '#info', click: '#passwddiv > div > div.passwddiv-input > div', }, ]; var lzyPage = function () { return __awaiter(void 0, void 0, void 0, function () { var _a, diskType, diskID, i, reg, styelDe, findAndInput, pwdPage1, display, inputEl, noticeEl, clickEl, pwdPage2, display, inputEl, noticeEl, clickEl; return __generator(this, function (_b) { _a = (0, helper_1.getDiskIdAndType)(config_1.default.href), diskType = _a[0], diskID = _a[1]; //是否失效 for (i = 0; i < config_1.INVALIDATE_LINK_REG.length; i++) { reg = config_1.INVALIDATE_LINK_REG[i]; if (reg.test(document.body.innerText)) { console.log('detected invalid page'); (0, inet_1.sendInvalidate)(diskID, diskType); return [2 /*return*/]; } } findAndInput = function (inputEl, noticeEl, clickEl) { noticeEl.innerText = '获取密码中...'; (0, inet_1.getPass)(diskID, diskType) .then(function (pass) { noticeEl.innerText = '获取到密码'; console.log(pass); inputEl.value = pass; clickEl.click(); }) .catch(function () { noticeEl.innerText = '抱歉,未获取到密码'; }); inputEl.addEventListener('input', function (e) { var _a; var v = (_a = e.target.value) === null || _a === void 0 ? void 0 : _a.replace(/\*/gi, ''); (0, local_1.setPwdValue)(diskType, diskID, v); }); // clickEl.addEventListener('click', () => { // console.log('click') // }) var timer = null; timer = setInterval(function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: if ((0, local_1.getSentValue)(diskType, diskID)) { GM_log('sent, stop timer'); clearInterval(timer); return [2 /*return*/]; } if (!(styelDe.getPropertyValue('display') === 'none')) return [3 /*break*/, 2]; console.log('display none'); clearInterval(timer); return [4 /*yield*/, (0, inet_1.sendPass)(diskID, diskType, (0, local_1.getPwdValue)(diskType, diskType))]; case 1: _a.sent(); (0, local_1.setSentValue)(diskType, diskID); _a.label = 2; case 2: return [2 /*return*/]; } }); }); }, 2000); }; pwdPage1 = document.querySelector('#pwdload'); if (pwdPage1) { styelDe = getComputedStyle(pwdPage1); display = styelDe.getPropertyValue('display'); if (display === 'block') { console.log('lzy pwd page1'); inputEl = document.querySelector(exports.LZ_ELEMENT[0].input); noticeEl = document.querySelector(exports.LZ_ELEMENT[0].notice); clickEl = document.querySelector(exports.LZ_ELEMENT[0].click); findAndInput(inputEl, noticeEl, clickEl); } } pwdPage2 = document.querySelector('#passwddiv'); if (pwdPage2) { styelDe = getComputedStyle(pwdPage2); display = styelDe.getPropertyValue('display'); if (display === 'block') { console.log('lzy pwd page2'); inputEl = document.querySelector(exports.LZ_ELEMENT[1].input); noticeEl = document.querySelector(exports.LZ_ELEMENT[1].notice); clickEl = document.querySelector(exports.LZ_ELEMENT[1].click); findAndInput(inputEl, noticeEl, clickEl); } } //common page if (!pwdPage2 && !pwdPage1) { (0, inet_1.sendPass)(diskID, diskType, ''); } return [2 /*return*/]; }); }); }; exports["default"] = lzyPage; /***/ }), /***/ 848: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; Object.defineProperty(exports, "__esModule", ({ value: true })); var config_1 = __importStar(__webpack_require__(516)); var helper_1 = __webpack_require__(910); var inet_1 = __webpack_require__(481); var local_1 = __webpack_require__(549); var otherPage = function () { return __awaiter(void 0, void 0, void 0, function () { var bodyText, linksArr, cprP; return __generator(this, function (_a) { console.log('page', config_1.default.href); bodyText = document.body.innerText; linksArr = []; cprP = (0, helper_1.getCompressPass)(); config_1.PARSE_PWD_REG.forEach(function (item) { var res = (0, helper_1.matchAll)(bodyText, item); for (var j = 0; j < res.length; j++) { if (res[j].length >= 3 && res[j][2] !== undefined) { var _a = (0, helper_1.getDiskIdAndType)(res[j][1]), disk_type = _a[0], disk_id = _a[1]; (0, local_1.setCompressValue)(disk_type, disk_id, cprP); //密码 console.log('find pwd: ', disk_id, '===>>', res[j][2]); (0, local_1.setPwdValue)(disk_type, disk_id, res[j][2]); linksArr.push({ type: disk_type, link: res[j][1], pwd: res[j][2] || '', id: disk_id, }); } } }); //send linksArr.forEach(function (item) { (0, inet_1.sendPass)(item.id, item.type, item.pwd || ''); }); return [2 /*return*/]; }); }); }; exports["default"] = otherPage; /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ /******/ // startup /******/ // Load entry module and return exports /******/ // This entry module is referenced by other modules so it can't be inlined /******/ var __webpack_exports__ = __webpack_require__(882); /******/ /******/ })() ;