Quick Remote procedure call is a server <-> client program which allows remote comands to be executed with certain parameters.

It was designed with two goals in mind:

The first one was that it was supposed to be fast. Normally one could have simply used ssh however ssh takes a very long time to initiate a connection because first a TCP connection has to be established and then an SSL connection has to be started.

The second goal was that it was supposed to have a simple packet format so that it could also later be controlled by simpler systems.

Thirdly it should be fairly reliable. Because UDP was the protocol of choice a custom acknowledgement system had to be implemented to double check that outgoing udp packets are sent.


QRPC has been tested to work on Ubuntu and requires upstart to work. It would however be possible to write your own service startup script if you want to run it on another distribution.

  1. Open the project with codeblocks and compile the release build.
  2. Open the project directory in bash and run ./create_build
  3. Run cp build/* /
  4. Change directory to /opt/qrpc/commands/
  5. Create a shell script that can be executed. The name of the script is the name of the command that can be executed and all parameters are passed to the script. Bear in mind that any arguments passed could be malicious!

Note: QRPC was not designed to be secure and doesn't contain authentication or encryption. Generally execution is limited to the scripts set up in the scripts folder but apart from that anyone can sniff which scripts there are and execute these.