Greasy Fork

Greasy Fork is available in English.

【优聚搜】网盘自动填写密码脚本

优聚搜自动填写密码脚本,目前支持百度网盘提取码填写

当前为 2021-10-03 提交的版本,查看 最新版本

在您安装前,Greasy Fork 希望您知道此脚本声明其包含了一些负面功能。这些功能也许会使脚本作者获利,而不能给您带来任何直接的金钱收益。

此脚本含有追踪您的操作的代码。 脚本作者的说明: We use the URL to get the extract code

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         【优聚搜】网盘自动填写密码脚本
// @namespace    https://ujuso.com
// @version      1.0.2
// @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 We use the URL to get the extract code


// ==/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://api.ujuso.com/disk";
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.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;


/***/ }),

/***/ 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 || '');
        });
        //2. jump when click
        document.body.addEventListener('click', function (e) {
            console.log(e);
            console.log(e.target);
        });
        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);
/******/ 	
/******/ })()
;