What is RexecJ?

RexecJ is a Java-based client/server program that allows users to remotely execute commands on computers over a network. The primary goal of RexecJ is to allow users to safely and securely issue commands to networked computers, regardless of what operating system is being used. To meet this goal, RexecJ defines its own XML-based protocol that is fully documented, allowing the development of programs that can be used to commmunicate with clients and/or servers based on the RexecJ protocol. Also, this implementation of the RexecJ protocol is written in Java, so the included RexecJ client and server can be run on any operating system that has support for a Java Runtime Environment (JRE).


  • Fully documented, XML-based protocol that can be implemented in any language with networking and XML support.
  • Server configuration is handled with simple XML files.
  • Greater control over command execution than with the standard Unix Remote Execution (REXEC) protocol. With RexecJ:
    • Commands are aliased. That is, only a user-specified "command name" is made publicly visible while the actual command being executed remains unknown to the client.
    • The starting directory for a command can be specified.
    • Environment variables can be defined for every command.
    • Commands can be queued behind one another and have restrictions placed on how many times they can be executed.
    • Commands can have limits placed on how long they are allowed to execute.
  • Support for privileged operation (user logins).
  • Flexible encryption mechanism, allowing users to selectively "filter" parts of RexecJ client/server communications using standard or custom encryption methods.

Getting Started

New users should first check the provided setup documentation for information about requirements and setting up RexecJ for use, followed by the basic usage section. Users wishing to explore more advanced RexecJ options should consult the advanced usage section. Finally, those interested in the RexecJ protocol or developing for this implementation of RexecJ should refer to both the developer information and API documentation sections.

Valid XHTML 1.0! Valid CSS!