Inspiration

SSHing into a server requires downloading tools such as putty and memorizing the SSH code. We were tired of not having remote access to SSH servers at critical times (oops did I forget to submit my assignment?). Messenger terminal is the solution we came up with to combat these problems

What it does

Messenger terminal allows the user to have full access to a terminal command prompt in an SSH enabled server. To use it, you simply message our facebook page from any device that has facebook messenger and just put in the SSH address you want to run. Now you have full access to your server and you can type linux commands normally (ls, cd, touch, etc...), the page will then reply with whatever the server's response was and voila! you have full access to any SSH server from facebook messenger.

How we built it

We built the app by setting up a Heroku nodeJS server that communicates with the messenger api and is linked to our facebook page. The server accepts inputs from the facebook api and pipes them through as text then sends them to whatever SSH server we want to communicate with. The SSH server will then execute the command and send a reply which we capture in our stream and pipe back through the facebook api to the user that is talking to us. This effectively allows the user to use the SSH server as if they're running it through a full terminal but from their facebook messenger account instead

Challenges we ran into

Setting up facebook chatbot proved to be not as trivial as a challenge as expected, we needed to somehow get a secure (ssl) server set up for the messages to go through.

Accomplishments that we're proud of

You can SSH into a server from your phone through messenger!!!

What we learned

We learned a lot about ssl, chat bots in general, and lots about how to issue commands outside of your program and the limitations of that.

What's next for Messenger Terminal

We plan on expanding Messenger Terminal to allow users to transfer files to and from the server they're talking to by simply dragging files in or checking them out using facebook's integrated file transfer protocol.

Share this project:

Updates