// ==UserScript== // @name GitHub Actions secrets 自动填写 // @namespace http://tampermonkey.net/ // @version 0.1 // @description 全自动填写secrets,方便省事,使用时需要自己在代码里添加secrets // @author You // @match https://github.com/*/settings/secrets/actions* // @grant none // @downloadURL 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 = 'code1@code2&code1@code2'; 机密值 格式都跟lxk格式一样 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/ //示例 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; }