// This will open up a prompt for text to send to a console session on digital ocean | |
// Useful for long passwords | |
(function () { | |
var t = prompt("Enter text to be sent to console, (This wont send the enter keystroke)").split(""); | |
function f() { | |
var character = t.shift(); | |
var i=[]; | |
var code = character.charCodeAt(); | |
var needs_shift = "!@#$%^&*()_+{}:\"<>?~|".indexOf(character) !== -1 | |
var shift = XK_Shift_L; // To help with minification | |
function key(keycode, down) { | |
i=i.concat(RFB.messages.keyEvent(keycode, down)); | |
} | |
if (needs_shift) { | |
key(shift,1); | |
} | |
key(code,1); | |
key(code,0); | |
if (needs_shift) { | |
key(shift,0); | |
} | |
rfb._sock.send(i); | |
if (t.length > 0) { | |
setTimeout(f, 10); | |
} | |
} | |
f(); | |
})(); | |
// Minified version: | |
!function(){function t(){function n(t,e){s=s.concat(RFB.messages.keyEvent(t,e))}var o=e.shift(),s=[],i=o.charCodeAt(),c=-1!=='!@#$%^&*()_+{}:"<>?~|'.indexOf(o),r=XK_Shift_L;c&&n(r,1),n(i,1),n(i,0),c&&n(r,0),rfb._sock.send(s),e.length>0&&setTimeout(t,10)}var e=prompt("Enter text to be sent to console, (This wont send the enter keystroke)").split("");t()}(); | |
// This is an alternate version that will open a box on ctrl+shift+v or command+shift+v | |
// this version might work better on browsers that block prompt from console | |
(function(){ | |
var shift_down = false; | |
var ctrl_down = false; | |
var super_down = false; | |
var v_down = false; | |
$(document).keydown(function(e) { | |
if (e.which == 17) { ctrl_down = true; } | |
else if (e.which == 16) { shift_down = true; } | |
else if (e.which == 91) { super_down = true; } | |
else if (e.which == 86) { v_down = true; } | |
if (v_down && shift_down && (super_down || ctrl_down) ) { | |
ctrl_down = false; | |
shift_down = false; | |
super_down = false; | |
var t = prompt("Enter text to be sent to console, (This wont send the enter keystroke)").split(""); | |
function f() { | |
var character = t.shift(); | |
var i=[]; | |
var code = character.charCodeAt(); | |
var needs_shift = "!@#$%^&*()_+{}:\"<>?~|".indexOf(character) !== -1 | |
var shift = XK_Shift_L; // To help with minification | |
function key(keycode, down) { | |
i=i.concat(RFB.messages.keyEvent(keycode, down)); | |
} | |
if (needs_shift) { | |
key(shift,1); | |
} | |
key(code,1); | |
key(code,0); | |
if (needs_shift) { | |
key(shift,0); | |
} | |
rfb._sock.send(i); | |
if (t.length > 0) { | |
setTimeout(f, 10); | |
} | |
} | |
setTimeout(f, 10); | |
} | |
}); | |
$(document).keyup(function(e) { | |
if (e.which == 17) { ctrl_down = false; } | |
else if (e.which == 16) { shift_down = false; } | |
else if (e.which == 91) { super_down = false; } | |
else if (e.which == 86) { v_down = false; } | |
}); | |
})(); | |
// Minified version: | |
(function(){var d=!1,b=!1,c=!1,f=!1;$(document).keydown(function(a){17==a.which?b=!0:16==a.which?d=!0:91==a.which?c=!0:86==a.which&&(f=!0);if(f&&d&&(c||b)){c=d=b=!1;var g=prompt("Enter text to be sent to console, (This wont send the enter keystroke)").split(""),h=function(){function a(b,c){d=d.concat(RFB.messages.keyEvent(b,c))}var e=g.shift(),d=[],b=e.charCodeAt(),e=-1!=='!@#$%^&*()_+{}:"<>?~|'.indexOf(e),c=XK_Shift_L;e&&a(c,1);a(b,1);a(b,0);e&&a(c,0);rfb._sock.send(d);0<g.length&&setTimeout(h,10)}; | |
setTimeout(h,10)}});$(document).keyup(function(a){17==a.which?b=!1:16==a.which?d=!1:91==a.which?c=!1:86==a.which&&(f=!1)})})(); |
This comment has been minimized.
This comment has been minimized.
Hmm encoding gets messed up ... "+" is changed by "=", "@" by "2" ... |
This comment has been minimized.
This comment has been minimized.
Strange, Thanks, I'll check it out |
This comment has been minimized.
This comment has been minimized.
I think this is because that character requires the "shift" key -- for example, |
This comment has been minimized.
This comment has been minimized.
kevin1, your right. I updated the code to handle those characters |
This comment has been minimized.
This comment has been minimized.
Works great! Thank you! |
This comment has been minimized.
This comment has been minimized.
Worked like a charm. Is there any way to make this work with a text editor like vi? |
This comment has been minimized.
This comment has been minimized.
Wow, that's very nice! @adl1995 it does work - just be sure to be in insert mode. |
This comment has been minimized.
This comment has been minimized.
I'm sure this isn't perfect, but I encountered an error while trying to use this to paste into vim. What happened is that vim would reverse the capitalization of each letter, so "hEllO" would become HeLLo". My update fixes that problem. (function () {
var t = prompt("Enter text to be sent to console, (This wont send the enter keystroke)").split("");
var o = [];
for (let letter of t) {
if (letter.match(/[a-z]/)) {
letter = letter.toUpperCase();
} else if (letter.match(/[A-Z]/)) {
letter = letter.toLowerCase();
}
o.push(letter);
console.log(letter);
}
function f() {
var character = o.shift();
var i=[];
var code = character.charCodeAt();
var needs_shift = "!@#$%^&*()_+{}:\"<>?~|".indexOf(character) !== -1
var shift = XK_Shift_L; // To help with minification
function key(keycode, down) {
i=i.concat(RFB.messages.keyEvent(keycode, down));
}
if (needs_shift) {
key(shift,1);
}
key(code,1);
key(code,0);
if (needs_shift) {
key(shift,0);
}
rfb._sock.send(i);
if (o.length > 0) {
setTimeout(f, 10);
}
}
f();
})(); |
This comment has been minimized.
This comment has been minimized.
Its working.....Thanks for this help!!!! |
This comment has been minimized.
This comment has been minimized.
is anyone having issues this warning in chrome while running the script?
|
This comment has been minimized.
This comment has been minimized.
@mreis1: I added another version that might work better for chrome's blocking of window.prompt |
This comment has been minimized.
This comment has been minimized.
@mreis1: I had the same error and the solution is to open the console in a chrome tab instead of the pop up (you can copy the url and paste it in a new tab) |
This comment has been minimized.
This comment has been minimized.
Great script!! It save my life!! I made some changes on the script to work on another host provide. The new version is here: |
This comment has been minimized.
This comment has been minimized.
to facilitate a bit I created an extension follows the git and published extension https://github.com/andrehrferreira/webextension-digitalocean-pasteconsole |
This comment has been minimized.
This comment has been minimized.
So Awesome. Thanks for this! |
This comment has been minimized.
This comment has been minimized.
THANK YOU SOOOOOOO MUCH <3 I started typing out my ssh key... |
This comment has been minimized.
This comment has been minimized.
Wow. <3 I love you so much right now. |
This comment has been minimized.
This comment has been minimized.
On the latest version of Chrome (at the time of writing) I get the following error: |
This comment has been minimized.
This comment has been minimized.
Thanks for sharing ! I cannot add chrome extension. It says that cannot add background.html. |
This comment has been minimized.
This comment has been minimized.
Respect! thanks for sharing. |
This comment has been minimized.
This comment has been minimized.
haha nice! |
This comment has been minimized.
This comment has been minimized.
thank you so much |
This comment has been minimized.
This comment has been minimized.
hi how about | |
This comment has been minimized.
This comment has been minimized.
it changes ssh key letters to strange format. |
This comment has been minimized.
This comment has been minimized.
Doesnt work anymore |
This comment has been minimized.
This comment has been minimized.
where i have to update this code |
This comment has been minimized.
This comment has been minimized.
It isn't working! |
This comment has been minimized.
This comment has been minimized.
Not working anymore. |
This comment has been minimized.
This comment has been minimized.
Thank you for this, it works perfectly. I also ran into the same issue where the console kind of trips over itself and everything is capitalized. When I set the timeout to 100 instead of 10 (on line 27), I don't run into this issue, at least as frequently. It's a bit annoying to wait for the text to enter slowly, but I won't need to do it often so idc. |
This comment has been minimized.