PHPackages                             texxasrulez/watchtower - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. texxasrulez/watchtower

ActiveRoundcube-plugin[Authentication &amp; Authorization](/categories/authentication)

texxasrulez/watchtower
======================

Watchtower - session and login monitoring plugin for Roundcube

0.0.1(5mo ago)04GPL-3.0PHPPHP &gt;=7.4

Since Dec 3Pushed 2mo agoCompare

[ Source](https://github.com/texxasrulez/watchtower)[ Packagist](https://packagist.org/packages/texxasrulez/watchtower)[ Docs](https://github.com/texxasrulez/watchtower)[ RSS](/packages/texxasrulez-watchtower/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

Watchtower (Roundcube plugin)
=============================

[](#watchtower-roundcube-plugin)

[![Downloads](https://camo.githubusercontent.com/0b2807f2fce504a37f368d7888f5973f12208769387bd4869df518353a738e7e/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f74657878617372756c657a2f7761746368746f7765722f746f74616c3f7374796c653d706c6173746963266c6f676f3d676974687562266c6f676f436f6c6f723d7768697465266c6162656c3d446f776e6c6f616473266c6162656c436f6c6f723d6171756126636f6c6f723d626c7565)](https://camo.githubusercontent.com/0b2807f2fce504a37f368d7888f5973f12208769387bd4869df518353a738e7e/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f74657878617372756c657a2f7761746368746f7765722f746f74616c3f7374796c653d706c6173746963266c6f676f3d676974687562266c6f676f436f6c6f723d7768697465266c6162656c3d446f776e6c6f616473266c6162656c436f6c6f723d6171756126636f6c6f723d626c7565)[![Packagist Downloads](https://camo.githubusercontent.com/035cb3f83237df7a1c72a53f83ed0c86ac97dd8e90ca81bfce4b93ed9a266c24/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f74657878617372756c657a2f7761746368746f7765723f7374796c653d706c6173746963266c6f676f3d7061636b6167697374266c6f676f436f6c6f723d7768697465266c6162656c3d446f776e6c6f616473266c6162656c436f6c6f723d626c756526636f6c6f723d676f6c64)](https://packagist.org/packages/texxasrulez/watchtower)[![Packagist Version](https://camo.githubusercontent.com/0ecb12b1b53a8f17581c954fd868466206643d7264e65bf23da35987d68ff1c7/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f74657878617372756c657a2f7761746368746f7765723f7374796c653d706c6173746963266c6f676f3d7061636b6167697374266c6f676f436f6c6f723d7768697465266c6162656c3d56657273696f6e266c6162656c436f6c6f723d626c756526636f6c6f723d6c696d65677265656e)](https://packagist.org/packages/texxasrulez/watchtower)[![Github License](https://camo.githubusercontent.com/f64b1a2f5a10384990eb5568e3c9de06052bd9f8f61ebdfe1de2a7a1b953ceef/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f74657878617372756c657a2f7761746368746f7765723f7374796c653d706c6173746963266c6f676f3d676974687562266c6162656c3d4c6963656e7365266c6162656c436f6c6f723d626c756526636f6c6f723d636f72616c)](https://github.com/texxasrulez/watchtower/LICENSE)[![GitHub Stars](https://camo.githubusercontent.com/6b97c2effaa89029a2c8484e342c126ac30c70d20db2b07d30cd81cfa406cc17/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f74657878617372756c657a2f7761746368746f7765723f7374796c653d706c6173746963266c6f676f3d676974687562266c6162656c3d5374617273266c6162656c436f6c6f723d626c756526636f6c6f723d64656570736b79626c7565)](https://github.com/texxasrulez/watchtower/stargazers)[![GitHub Issues](https://camo.githubusercontent.com/5d8ffb312c4119f1d17d86f5d211c552b744bb86532a62cae2e23ae0eae97915/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f74657878617372756c657a2f7761746368746f7765723f7374796c653d706c6173746963266c6f676f3d676974687562266c6162656c3d497373756573266c6162656c436f6c6f723d626c756526636f6c6f723d61717561)](https://github.com/texxasrulez/watchtower/issues)[![GitHub Contributors](https://camo.githubusercontent.com/84a10708fd5c05fc6245e32ccc122f7462f6eef8e91358e7326f0f44a1b97153/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f636f6e7472696275746f72732f74657878617372756c657a2f7761746368746f7765723f7374796c653d706c6173746963266c6f676f3d676974687562266c6f676f436f6c6f723d7768697465266c6162656c3d436f6e7472696275746f7273266c6162656c436f6c6f723d626c756526636f6c6f723d6f7263686964)](https://github.com/texxasrulez/watchtower/graphs/contributors)[![GitHub Forks](https://camo.githubusercontent.com/5ec472cb40df26a85a687e7666483fd23618f4a03442b4dc12b803ecfa2b8c41/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f74657878617372756c657a2f7761746368746f7765723f7374796c653d706c6173746963266c6f676f3d676974687562266c6f676f436f6c6f723d7768697465266c6162656c3d466f726b73266c6162656c436f6c6f723d626c756526636f6c6f723d6461726b6f72616e6765)](https://github.com/texxasrulez/watchtower/forks)[![Donate Paypal](https://camo.githubusercontent.com/02124075ee7ea4c192ef867cb30577b0b43ba74ea42b8dbe20b56ef518d94cdb/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f50617970616c2d4d6f6e65795f506c65617365212d626c75652e7376673f7374796c653d706c6173746963266c6162656c436f6c6f723d626c756526636f6c6f723d666f72657374677265656e266c6f676f3d70617970616c)](https://www.paypal.me/texxasrulez)

**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
------------

[](#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 &amp; Icons
-----------------

[](#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
--------------------

[](#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](https://paypal.me/texxasrulez?locale.x=en_US) and I can make a Starbucks run ...

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

**Screenshot**
--------------

[](#screenshot)

[![Alt text](/images/screenshot.png?raw=true "Watchtower Screenshot")](/images/screenshot.png?raw=true)

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance80

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity24

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

158d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/95c3af6e41a9786e8be2edb48176e43a7d1ddef429793a312168450ff4269deb?d=identicon)[texxasrulez](/maintainers/texxasrulez)

---

Top Contributors

[![texxasrulez](https://avatars.githubusercontent.com/u/10519182?v=4)](https://github.com/texxasrulez "texxasrulez (5 commits)")

### Embed Badge

![Health badge](/badges/texxasrulez-watchtower/health.svg)

```
[![Health](https://phpackages.com/badges/texxasrulez-watchtower/health.svg)](https://phpackages.com/packages/texxasrulez-watchtower)
```

###  Alternatives

[namshi/jose

JSON Object Signing and Encryption library for PHP.

1.8k99.6M101](/packages/namshi-jose)[league/oauth1-client

OAuth 1.0 Client Library

99698.8M106](/packages/league-oauth1-client)[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[gesdinet/jwt-refresh-token-bundle

Implements a refresh token system over Json Web Tokens in Symfony

70516.4M35](/packages/gesdinet-jwt-refresh-token-bundle)[league/oauth2-google

Google OAuth 2.0 Client Provider for The PHP League OAuth2-Client

41721.2M118](/packages/league-oauth2-google)[illuminate/auth

The Illuminate Auth package.

9327.3M1.0k](/packages/illuminate-auth)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
