texxasrulez/watchtower

Watchtower - session and login monitoring plugin for Roundcube

Maintainers

Package info

github.com/texxasrulez/watchtower

Type:roundcube-plugin

pkg:composer/texxasrulez/watchtower

Statistics

Installs: 6

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

1.0.1 2026-04-16 15:55 UTC

This package is auto-updated.

Last update: 2026-04-16 15:55:48 UTC


README

Downloads Packagist Downloads Packagist Version Github License GitHub Stars GitHub Issues GitHub Contributors GitHub Forks Donate Paypal

Watchtower adds a Settings → Watchtower panel intended for session monitoring and login activity visualization.

This baseline:

  • Wires a new Settings action: Watchtower
  • Reads the Roundcube session table and shows recent sessions (user, IP, host, last activity)
  • Uses two separate images for the Settings icon (normal + active) in Larry
  • Keeps layout simple so it works with Larry variants and Elastic

Installation

  1. Extract the watchtower directory into your Roundcube plugins/ folder:

    plugins/watchtower/
    
  2. Copy the config template and adjust if needed:

    cd plugins/watchtower
    cp config.inc.php.dist config.inc.php
  3. Enable the plugin in your Roundcube config/config.inc.php:

    $config['plugins'][] = 'watchtower';

Skins & Icons

  • Larry (and my 10 Colorized Larry Variants):

    • Two separate images for the Settings icon: normal and active.
    • Icons live in skins/larry/images/ as SVGs you can replace.
  • Elastic:

    • Neutral layout and CSS, no sprite assumptions.
  • Classic (I am nostalgic):

    • Neutral layout and CSS, no sprite assumptions.

Extending Watchtower

Next steps I want to add to this plugin:

  • Define "active" vs "stale" session rules.
  • Create your own watchtower_sessions table and log full login events including user-agent and geoinfo.
  • Add filters and a "suspicious activity" tab.

Enjoy!

💰 Donations 💰

If you use this plugin and would like to show your appreciation by buying me a cup of coffee, I surely would appreciate it. A regular cup of Joe is sufficient, but a Starbucks Coffee would be better ...
Zelle (Zelle is integrated within many major banks Mobile Apps by default) - Just send to texxasrulez at yahoo dot com
No Zelle in your banks mobile app, no problem, just click Paypal and I can make a Starbucks run ...

I appreciate the interest in this plugin and hope all the best ...

Screenshot

Alt text

Versioning

  • watchtower now keeps its canonical version in watchtower::PLUGIN_VERSION inside watchtower.php.
  • watchtower::info() exposes the plugin metadata array used for self-identification.
  • Development builds should use a +dev suffix such as 1.0.0+dev.
  • Release builds should use a clean tagged version such as 1.0.0.

For a release bump:

  1. Update watchtower::PLUGIN_VERSION in watchtower.php or run sh scripts/bump-version.sh 1.0.0.
  2. Update CHANGELOG.md.
  3. Create the matching release tag after verification.