GitHub Actions secrets 自动填写

全自动填写secrets,方便省事,使用时需要自己在代码里添加secrets

目前为 2021-01-17 提交的版本。查看 最新版本

// ==UserScript==
// @name         GitHub Actions secrets 自动填写
// @namespace    http://tampermonkey.net/
// @version      0.1.1
// @description  全自动填写secrets,方便省事,使用时需要自己在代码里添加secrets
// @author       You
// @match        https://github.com/*/settings/secrets/actions*
// @grant        none
// ==/UserScript==

(function () {
    'use strict';
    console.clear();
    let env = new Object();
    /*
    需要你在此注释以下面添加secrets

    格式: env.机密名 = ‘机密值',如有多个机密值请使用&符号分开

    示例: 
        一个账号cookie: env.JD_COOKIE = 'cookie1';
        4个账号cookie:env.JD_COOKIE = 'cookie1&cookie2&cookie3&cookie4';

        互助码:如果n个账号之间需要互助,互助码请填写n遍,2个账号东东农场互助码填写如下 
        env.FRUITSHARECODES = '账号一互助码@账号二互助码&账号一互助码@账号二互助码';

    机密值 格式都跟lxk格式一样
    请务必保存好自己填写的secrets, 因为此脚本更新, 会覆盖, 你填写的就没了
    ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/

    //示例
    env.PET_NOTIFY_CONTROL = 'true';

    //↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
    let envKeys = [];
    for (let key in env) {
        envKeys.push(key);
    }

    localStorage.setItem("env", env);
    localStorage.getItem("env");
    let keyLen = envKeys.length;
    let index = localStorage.getItem("index");
    if (index == keyLen) {
        if (confirm("已设置完所有secrets或已设置完新增的secrets,是否从头开始设置")) {
            if (confirm("真的确定从头开始设置?")) {
                index = setIndex(index);
            }
        }
    } else if (!index || index > keyLen) {
        index = setIndex(index);
    }

    let url = window.location.href;
    let suffix = url.substr(url.lastIndexOf('/') + 1);
    if (macth(suffix, 'actions') || suffix == '') {
        //获取页面secrets
        let keynameList = [];
        document.querySelectorAll("code").forEach(e => {
            if (macth(e.className, 'f5')) {
                keynameList.push(e.innerText);
            }
        });

        //遍历页面secrets,进行下一步动作
        let flag = false;
        for (let i = index; i < keyLen; i++) {
            for (let j = 0; j < keynameList.length; j++) {
                if (envKeys[i] == keynameList[j]) {
                    localStorage.setItem("index", i);
                    window.location.href += '/' + envKeys[i];
                    flag = true;
                    break;
                }
            }
            if (flag) {
                break;
            }
            window.location.href += '/new';
            break;
        }
    } else if (macth(suffix, 'new')) {

        document.querySelector("#secret_name").value = envKeys[index];
        addOrUpadteValue(true);
    } else {
        addOrUpadteValue(false);
    }

    function addOrUpadteValue(flag) {
        if (flag) {
            document.querySelector("#secret_value").value = env[envKeys[index]];
        } else {
            document.querySelector("#secret_value").value = env[suffix];
        }
        localStorage.setItem("index", parseInt(index) + 1);
        let submit = document.querySelector(".form-group > button");
        submit.removeAttribute("disabled");
        submit.click();
    }

    function macth(str, macthStr) {
        return str.indexOf(macthStr) != -1;
    }

})();

function setIndex(index) {
    localStorage.setItem("index", 0);
    index = localStorage.getItem("index");
    return index;
}

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址