Skip to end of metadata
Go to start of metadata

2017-01-26 - russng v5.10 released on

NameRUSS - Run Socket Services
RequirementsC compiler, Python2 (for pyruss module); Linux, OSX, UNIX (AIX, FreeBSD)
LicenseApache v2
LinksRepository, API Docs, Discussion, Email

What Is RUSS?

RUSS is a protocol and framework built to enable a services namespace that is as easy and familiar to work with as running a program.

RUSS (Run Socket Services) uses the features of UNIX/Domain sockets:

  • discoverability via the filesystem
  • OS-mediated, trustworthy credentials
  • passing of descriptors between independent processes


With network sockets, the web, and more, what does RUSS offer that makes it interesting? Here are a few things:

  • familiar execution paradigm - services are called and work just like running a program/function
  • familiar discoverability paradigm - services can be found and listed just like running ls
  • language agnostic - the interface between client and server is the protocol which is based on simple string arguments, communication streams, and an exit value
  • security by separation - servers may run with special privileges and selectively service unprivileged clients; no more setuid issues
  • help is not far away - it is built into the server
  • runs in userspace - no kernel modules needed

For Example

To connect to one of the services of the debug server:

$ ruexec +/debug/chargen

Connecting to the debug server on a remote host (buddy):

$ ruexec +/ssh/buddy/+/debug/chargen

To list the debug services:

$ ruls +/debug

From Python:

$ python
>>> import pyruss
>>> rv, ev, out, err = pyruss.dialv_wait_inouterr(pyruss.to_deadline(1000), "execute", "+/debug/daytime")
>>> print out
Thursday, February 05, 2015 12:20:51-GMT

Where to Find Out More?

Impatient? Quickstart Setup for RUSS.

Further information for users and developers is available in the Documentation section:

Some basic examples:

The RUSS download contains a number standard servers that provide core functionality and are helpful to demonstrate how to build servers and services.

Project Activity

  • No labels