您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
通过粘贴字符,保持 SSH 会话活跃
当前为
// ==UserScript== // @name Terminal Keep-Alive (with clean input) // @namespace http://tampermonkey.net/ // @version 1.4 // @description 通过粘贴字符,保持 SSH 会话活跃 // @match https://{jumpserver}/koko/terminal/* // @grant none // @license MIT // ==/UserScript== (function () { 'use strict'; console.log('[KeepAlive] 脚本已加载(粘贴 + 回退)'); function getTerminalInputTarget() { const canvas = document.querySelector('canvas'); return canvas ? canvas.parentElement : document.body; } function simulatePasteCleaned(text = '\u200B') { const target = getTerminalInputTarget(); if (!target) return; target.focus(); // 第一次:粘贴不可见字符 const pasteEvent1 = new ClipboardEvent('paste', { clipboardData: new DataTransfer(), bubbles: true, cancelable: true }); pasteEvent1.clipboardData.setData('text/plain', text); target.dispatchEvent(pasteEvent1); } function getRandomInterval(min = 170000, max = 210000) { return Math.floor(Math.random() * (max - min + 1)) + min; } function scheduleNextPaste() { const delay = getRandomInterval(); console.log(`[KeepAlive] 下次粘贴将在 ${(delay / 1000).toFixed(0)} 秒后`); setTimeout(() => { simulatePasteCleaned(); scheduleNextPaste(); }, delay); } scheduleNextPaste(); })();