PHPackages                             foorschtbar/dovecot\_client\_ip - 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. foorschtbar/dovecot\_client\_ip

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

foorschtbar/dovecot\_client\_ip
===============================

Provides the HTTP client IP during IMAP connect to Dovecot in the form of an IMAP identifier for proper authentication penalty processing.

2.0.2(1y ago)1867↓25%GPL-3.0-or-laterPHPPHP &gt;=5.6.0

Since Oct 18Pushed 1y ago1 watchersCompare

[ Source](https://github.com/foorschtbar/dovecot_client_ip)[ Packagist](https://packagist.org/packages/foorschtbar/dovecot_client_ip)[ Docs](https://github.com/foorschtbar/dovecot_client_ip)[ RSS](/packages/foorschtbar-dovecot-client-ip/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (3)Dependencies (1)Versions (4)Used By (0)

Dovecot Client IP for Roundcube
===============================

[](#dovecot-client-ip-for-roundcube)

Provides the HTTP client IP during IMAP connect to Dovecot in the form of an IMAP identifier for proper authentication penalty processing.

In reverse proxy configurations the actual client IP is resolved if the request originates from a trusted proxy.

Installation
------------

[](#installation)

The plugin can either be installed via Composer or manually. If the webmail server allows outgoing requests, Composer is the more comfortable option as it automatically resolves dependencies and simplifies updates.

### Using Composer

[](#using-composer)

⚠️ Note that it is not recommended to run Composer as `root`. Plugin installation requires script support enabled, as the RoundCube installer needs to move the downloaded plugin to the plugins directory and optionally can enable the plugin automatically.

1. Get \[Composer\]\[getcomposer\].
2. Within the RoundCube webmail root directory, add a new dependency to the plugin. ```
    php composer.phar require 'foorschtbar/dovecot_client_ip:^1.0'
    ```
3. Composer may ask whether to enable the plugin. Confirm with `y`.

To update the installed plugin to the latest version, simply run:

```
php composer.phar update --no-dev
```

### Manual

[](#manual)

1. Download the latest release archive or checkout the latest release branch.
2. Extract the contents into a folder named `dovecot_client_ip` within the `plugins` directory of your RoundCube installation.

There are no external dependencies.

Repeat manual installation for updates. It may be advisable to keep multiple versions of the plugin in separate folders and use a symlink named `dovecot_client_ip` from within the `plugins` directory to the latest version folder instead.

Configuration
-------------

[](#configuration)

To enable the plugin, add `dovecot_client_ip` to the `$config['plugins']` array in the RoundCube configuration file.
When using Composer, the installation routine will ask whether to automatically enable the plugin.

### Options

[](#options)

Copy the configuration variables from `config.inc.php.dist` to your global `config.inc.php` or create a new file named `config.inc.php` in the plugin directory and adjust the settings to your needs.

#### Environment Variables

[](#environment-variables)

Configuration can also be overridden using environment variables:

- `DOVECOT_CLIENT_IP_TRUSTED_PROXIES`: Comma-separated list of trusted proxy IP addresses or CIDR ranges
- `DOVECOT_CLIENT_IP_PROXY_ALLOW_PRIVATE_CLIENT_IP`: Set to "1", "true", or "yes" to allow private IP addresses from trusted proxies

Environment variables take precedence over settings in the config files.

### Dovecot IMAP

[](#dovecot-imap)

The following settings need to be applied to the Dovecot IMAP server:

1. Add the IP addresses or networks of your RoundCube webmail servers to the `login_trusted_networks` setting in your Dovecot IMAP configuration. This disables authentication penalty processing for the configured webmail server IPs and enables processing of the `X-Originating-IP` ident value with the actual client IP provided by this plugin.
2. Restart Dovecot IMAP.

Afterwards, Dovecot connection logs should show the actual client IP of users instead of the webmail server IP in the `rip` (remote IP) field.

Credits
-------

[](#credits)

The original plugin was created by [Michael Maier](https://gitlab.com/takerukoushirou/roundcube-dovecot_client_ip) and is licensed under the GNU General Public License v3 or higher. I added the network (CIDR) support for the trusted proxies, renamed the plugin to remove the unnecessary `roundcube-` prefix and moved the project to GitHub.

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance47

Moderate activity, may be stable

Popularity19

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity36

Early-stage or recently created project

 Bus Factor1

Top contributor holds 78.9% 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

Every ~93 days

Total

3

Last Release

390d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b2b2a9081c7dd8d6d0893a4767da430ac29395c7cf052100314efdf425804137?d=identicon)[foorschtbar](/maintainers/foorschtbar)

---

Top Contributors

[![takerukoushirou](https://avatars.githubusercontent.com/u/371735?v=4)](https://github.com/takerukoushirou "takerukoushirou (30 commits)")[![foorschtbar](https://avatars.githubusercontent.com/u/10727275?v=4)](https://github.com/foorschtbar "foorschtbar (7 commits)")[![ivanclab](https://avatars.githubusercontent.com/u/267764220?v=4)](https://github.com/ivanclab "ivanclab (1 commits)")

---

Tags

roundcubereverse proxyclient ipdovecotauthentication-penaltyimap-idimap-ident

### Embed Badge

![Health badge](/badges/foorschtbar-dovecot-client-ip/health.svg)

```
[![Health](https://phpackages.com/badges/foorschtbar-dovecot-client-ip/health.svg)](https://phpackages.com/packages/foorschtbar-dovecot-client-ip)
```

###  Alternatives

[pimlie/authres_status

This authres\_status plugin checks the Authentication-Results headers of your emails and displays the verification status. The verification status is displayed when you read an email, but you can also add a column to your message list.

413.5k](/packages/pimlie-authres-status)[texxasrulez/persistent_login

This server-side plugin is useful for all Roundcube users who don’t like to log into their e-mail account each time they open their browser. The plugin stores a persistent login cookie which automatically logs the user in the next time he or she visits the Roundcube web mailer.

174.8k](/packages/texxasrulez-persistent-login)

PHPackages © 2026

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