centralized `who`-like tool
PHP Python Perl Shell JavaScript CSS Makefile
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
agent-linux
agent-win32
lib-php
ui-cli
ui-finger
ui-web
util
.gitignore
LICENSE
README.md
accounts.conf.example
cleanup
init.sql
rwho.conf.example
server.php

README.md

rwho

A hack to centrally display all users logged in to a bunch of servers.

  • Runs over plain HTTP with no security
  • Stores the data in MySQL
  • Has a simple web UI, with HTML, JSON, and XML interfaces
  • Updates are sent instantly

See it in action via HTTP or Finger.

Contents

agent-linux – Linux/BSD agent

Uses /run/utmp, with inotify and/or periodic updates. Requires only read access to the utmp database; in other words, a standard account.

Dependencies:

  • Perl 5.10 or later
  • use JSON
  • use LWP::UserAgent
  • use Socket::GetAddrInfo
  • use User::Utmp or Sys::Utmp

For change monitoring:

  • use Linux::Inotify2 (inotify: Linux)
  • use IO::KQueue (kqueue: FreeBSD, NetBSD, OpenBSD)

agent-windows – Windows NT agent

Uses Terminal Services API, requires Administrator privileges to see sessions other than current.

Dependencies:

lib-php – PHP5 library

Used by current UIs, interfaces directly with the database.

ui-cli – command-line UI

Does nothing more but fork ui-finger and pass the arguments to stdin.

ui-finger – Finger UI

Inetd-style server for the Finger protocol. Accepts a single query in stdin, dumps results to stdout.

ui-web – HTML UI

Exactly what it says on the tin.