Skip to content

Instantly share code, notes, and snippets.

@shellscriptx
Last active November 8, 2021 11:34
Show Gist options
  • Save shellscriptx/6e69fdac8053337e06089f4f2e30520f to your computer and use it in GitHub Desktop.
Save shellscriptx/6e69fdac8053337e06089f4f2e30520f to your computer and use it in GitHub Desktop.
shellbot - print screen remoto
#!/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