您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Upload code into sites >:)
- // ==UserScript==
- // @name Sinject
- // @version 1.0
- // @namespace https://ironswordx-dev.repl.co
- // @license MIT
- // @description Upload code into sites >:)
- // @author ironswordX
- // @match *://*/*
- // @icon data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBVcGxvYWRlZCB0bzogU1ZHIFJlcG8sIHd3dy5zdmdyZXBvLmNvbSwgR2VuZXJhdG9yOiBTVkcgUmVwbyBNaXhlciBUb29scyAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIGZpbGw9IiMwMDAwMDAiIHZlcnNpb249IjEuMSIgaWQ9IkNhcGFfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgDQoJIHdpZHRoPSI4MDBweCIgaGVpZ2h0PSI4MDBweCIgdmlld0JveD0iMCAwIDkyLjE3OSA5Mi4xOCINCgkgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8Zz4NCgk8cGF0aCBkPSJNNzMuNDM3LDM2LjU0di05LjE5MkM3My40MzcsMTIuMjY4LDYxLjE2OSwwLDQ2LjA5LDBTMTguNzQ0LDEyLjI2OCwxOC43NDQsMjcuMzQ4aDExLjM1NQ0KCQljMC04LjgxOCw3LjE3My0xNS45OTIsMTUuOTkxLTE1Ljk5MmM4LjgxNywwLDE1Ljk5MSw3LjE3NCwxNS45OTEsMTUuOTkydjkuMTkySDkuODg0djU1LjY0aDcyLjQxMVYzNi41NEg3My40Mzd6IE01MC42MDksNzEuMTE1DQoJCVY4My4zM2gtOS4wMzdWNzEuMTE1Yy0yLjEwMi0xLjQ0MS0zLjQ4Mi0zLjg1OC0zLjQ4Mi02LjZjMC00LjQxOCwzLjU4Mi04LDgtOHM4LDMuNTgyLDgsOA0KCQlDNTQuMDksNjcuMjU3LDUyLjcxLDY5LjY3NCw1MC42MDksNzEuMTE1eiIvPg0KPC9nPg0KPC9zdmc+
- // @grant GM_info
- // ==/UserScript==
- 'use strict';
- const Meta = GM_info.script
- const disabled_urls = ['about:blank', 'about:blank#blocked']
- const css = "body {\nbackground-color:#A9A9A9\n}\nh1 {\nfont-family: Verdana, Tahoma, sans-serif;\n}"
- if (disabled_urls.includes(window.location.href)) return;
- function openNewWin() {
- let win = window.open('', '', 'height=400,width=200');
- return win;
- }
- function createElm(doc, headOrBody = "body", type, args=[]) {
- let el = doc.createElement(type);
- if (args.length > 0) {
- for (let i = 0; i < args.length; i++) {
- let inf = args[i]
- el.setAttribute(inf.key, inf.value)
- }
- }
- if (headOrBody === "head") {
- doc.head.appendChild(el)
- } else if (headOrBody === "body") {
- doc.body.appendChild(el)
- }
- void 0;
- }
- function setInner(doc, id, type, string) {
- let element = doc.getElementById(id);
- if (type === 'text') {
- element.innerText = string;
- } else if (type === 'html') {
- element.innerHTML = string;
- } else {
- element.innerText = string;
- }
- void 0;
- }
- function createBreak(docu) {
- createElm(docu, "body", "br")
- createElm(docu, "body", "hr")
- createElm(docu, "body", "br")
- }
- function erudaLoaderFunc() {
- let script = document.createElement('script');
- script.src="https://cdn.jsdelivr.net/npm/eruda";
- document.body.append(script);
- script.onload = function () {
- eruda.init();
- }
- void 0;
- }
- let sinjectWinOn = false
- document.addEventListener('keyup', function(event) {
- if (sinjectWinOn) return;
- if (event.key.toLowerCase() === 'alt') {
- let sinjectWinOn = true;
- const editor = openNewWin();
- const editDoc = editor.document;
- editDoc.writeln(`<head><title>${Meta.name}</title></head><body><h1>${Meta.name} v${Meta.version}</h1></body>`);
- createElm(editDoc, "head", 'style', [{key: 'id', value: 'cssLoader'}]);
- setInner(editDoc, 'cssLoader', 'text', css)
- createBreak(editDoc)
- createElm(editDoc, "body", 'textarea', [{key:'id',value:'textInput'}, {key: 'style', value:'resize:vertical;min-height:60px'}]);
- createElm(editDoc, "body", 'button', [{key: 'id', value:'submitButton'}, {key: 'style', value: 'data-inline=true'}]);
- createElm(editDoc, "body", 'button', [{key: 'id', value:'erudaBtn'}, {key: 'style', value: 'data-inline=true'}]);
- setInner(editDoc, 'submitButton', 'text', 'Inject!')
- editDoc.getElementById('submitButton').onclick = function() {
- let code = editDoc.getElementById('textInput').value;
- createElm(document, "body", 'script', [{key: 'id', value: 'scriptInjector'}]);
- document.getElementById('scriptInjector').innerText = code;
- sinjectWinOn = false;
- editor.window.close();
- }
- setInner(editDoc, 'erudaBtn', 'text', 'Eruda console');
- editDoc.getElementById('erudaBtn').onclick = function() {
- erudaLoaderFunc();
- sinjectWinOn = false;
- editor.window.close();
- };
- }
- }, false)