Messenger Shell is a really basic way of running commands over SSH via Facebook Messenger on a server you have access to.

How it works:

  1. You submit a command to the bot on Messenger.
  2. Messenger sends the command text to ManyChat.
  3. ManyChat send the command to Integromat.
  4. Integromat sends the command to your sever via SSH.
  5. Your server sends the output back to Integromat.
  6. Integromat formats it into a valid response and sends to ManyChat.
  7. ManyChat sends the response to Messenger.
  8. You see the response as a reply to your command.

This whole process often takes a few seconds in total, so it's not the most efficient way of running commands. I use it as an easy way to run dig or whois commands whilst I'm away from the computer (and can't be bothered to open Termux).

Limitations

Don't try to run things that have an interactive shell, or that will continue until you cancel them... attempting to run ping google.com for example, will not return a response, and may cause issues with the webhook freezing.

I might make Integromat's side handle things better by adding -c 4 or similar after ping if it starts with 'ping', and similar for other commands that act like that.

There is no session persistence  cd ./directory will not put you in that directory the next time you run a command.

Messenger has a message limit of 2000 characters. This truncates the ssh output to 1800 to be safe, so large outputs will be cut.

Code formatting (triple back ticks) doesn't work on (some?) Messenger apps.

Installation

Use the videos located here to guide through the Integromat step and the ManyChat step.

https://cloud.4.jotweb.uk/s/irSZ5W9dTrX9HrG

  1. If you don't already have one, set up an Integromat account.
  2. Download this Blueprint and install it into a new Integromat Scenario.
  3. Install the ManyChat bot.