Execute command on remote server in spite of NAT, software and so on.
Ruby
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
README.md
client.rb
config.yml
mail.rb
server.rb

README.md

Execute command on remote server in spite of NAT, software and so on, the only thing you need is a browser or other mail client. Subject should have value of server_auth(in config.yml) to distinguish which mail is command or which is not.

Works perfectly on RFC IMAP providers. Tested on: Gmail(not a RFC one, but still works), Rambler

You can send mail to server in any way you like, it's just ordinary mail, nothing special. Also you can use client.rb(improvised shell) to send mail from terminal, just like that:

  localhost: ruby client.rb
  Connecting to mail server...
  Connected.
  Type 'fetch' to search for new responses
  Hit Ctrl-C to exit.
  >pstree
  >fetch
  >fetch
  pstree




  ---------
  init-+-5*[agetty]
       |-dbus-daemon
       |-dbus-launch
       |-dhcpcd
       |-emacs
       |-gconfd-2
       |-login---zsh---startx---xinit-+-X
       |                              `-dwm-+-firefox-+-plugin-containe---4*[{plugin-containe}]
       |                                    |         `-22*[{firefox}]
       |                                    `-sh---sleep
       |-syslog-ng---syslog-ng
       |-udevd
       |-urxvtd---zsh---ssh
       |-urxvtd-+-3*[zsh]
       |        |-zsh---vim---{vim}
       |        |-zsh---ruby---2*[{ruby}]
       |        `-zsh---ruby-+-pstree
       |                     `-2*[{ruby}]
       |-wpa_supplicant
       |-zsh---urxvt---zsh---cmus---3*[{cmus}]
       `-zsh---emacsclient