Last active
November 8, 2021 11:34
-
-
Save shellscriptx/6e69fdac8053337e06089f4f2e30520f to your computer and use it in GitHub Desktop.
shellbot - print screen remoto
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# XXX INFO XXX | |
# A conexão ssh precisa ser feita via 'sshpass' ou 'Chave RSA' | |
# Requer pacote imagemagick instalado. | |
# Importando API | |
source ShellBot.sh | |
# Token do bot | |
bot_token='<TOKEN_AQUI>' | |
# Inicializando o bot | |
ShellBot.init --token "$bot_token" | |
ShellBot.username | |
function remote_screen() | |
{ | |
local dest="$HOME/$2.jpg" # Destino | |
local tmp='/tmp/image.jpg' | |
# Conecta na estação remota, tira o print e realiza um dump na foto para a máquina de origem. | |
ssh -X <usuario>@$2 "import -window root '$tmp' && xxd '$tmp'" | xxd -r > "$dest" | |
# Envia foto para o usuário. | |
ShellBot.sendPhoto --chat_id "${message_chat_id[$id]}" --photo "@$dest" | |
} | |
# Comando: /screen <hostname> | |
ShellBot.setMessageRules --name 'REMOTE_SCREEN' \ | |
--command '/screen' \ | |
--num_args 2 \ | |
--username '<TG_USUARIO>' \ | |
--action 'remote_screen' | |
while : | |
do | |
# Obtem as atualizações | |
ShellBot.getUpdates --limit 100 --offset $(ShellBot.OffsetNext) --timeout 30 | |
# Lista o índice das atualizações | |
for id in $(ShellBot.ListUpdates) | |
do | |
# Inicio thread | |
( | |
ShellBot.manageRules --update_id $id | |
) & # Utilize a thread se deseja que o bot responda a várias requisições simultâneas. | |
done | |
done | |
#FIM |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment