KMail

인증서 코드 취득 기능 제공.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да инсталирате разширение, като например Tampermonkey .

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name         KMail
// @namespace    https://github.com/korykim
// @version      0.1
// @description  인증서 코드 취득 기능 제공.
// @author       Kory Kim
// @match        *://kotrakbc.or.kr/*
// @grant        GM_setClipboard
// @grant        GM_addStyle
// @icon         data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0Ly9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI+CjxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiB3aWR0aD0iMTYuMDAwMDAwcHQiIGhlaWdodD0iMTYuMDAwMDAwcHQiIHZpZXdCb3g9IjAgMCAxNi4wMDAwMDAgMTYuMDAwMDAwIgogcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCI+Cgo8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwxNi4wMDAwMDApIHNjYWxlKDAuMTAwMDAwLC0wLjEwMDAwMCkiCmZpbGw9IiMwMDAwMDAiIHN0cm9rZT0ibm9uZSI+CjxwYXRoIGQ9Ik0xNyAxMzIgYy0yNCAtMjYgLTIyIC04NSAzIC0xMDcgMjAgLTE4IDI5IC04IDkgMTIgLTYgNiAtOSAyNSAtNyA0MwpsMyAzMiAyOCAtMjIgMjcgLTIxIDI4IDIxIDI3IDIyIDMgLTI3IGM1IC00MyAtNCAtNTUgLTQzIC01NSAtMTkgMCAtMzUgLTQKLTM1IC0xMCAwIC0xOCA2NiAtMTEgODMgOCAyMyAyNSAyMiA4NSAtMSAxMDUgLTI2IDI0IC0xMDQgMjMgLTEyNSAtMXogbTk4Ci0yMiBjLTEwIC0xMSAtMjYgLTIwIC0zNSAtMjAgLTkgMCAtMjUgOSAtMzUgMjAgLTE4IDIwIC0xNyAyMCAzNSAyMCA1MiAwIDUzCjAgMzUgLTIweiIvPgo8L2c+Cjwvc3ZnPgo=
// @license      GPL-2.0-only

// ==/UserScript==

(function() {
    'use strict';

    // Save the original `open` function
    const originalOpen = XMLHttpRequest.prototype.open;

    // Define a new `open` function
    XMLHttpRequest.prototype.open = function() {
        // If this is a POST request
        if (arguments[0].toLowerCase() === 'post') {
            // Add an event listener for the `load` event
            this.addEventListener('load', function() {
                // If the data starts with "aResult="
                if (this._data && this._data.startsWith('aResult=')) {
                    // Copy the data to the clipboard
                    GM_setClipboard(this._data);

                    // Show an alert
                    alert('인증서 코드 복사 성공!');
                }
            });
        }

        // Call the original `open` function
        return originalOpen.apply(this, arguments);
    };

    // Save the original `send` function
    const originalSend = XMLHttpRequest.prototype.send;

    // Define a new `send` function
    XMLHttpRequest.prototype.send = function() {
        // Save the data
        this._data = arguments[0];

        // Call the original `send` function
        return originalSend.apply(this, arguments);
    };
})();