定制 takerukoushirou/roundcube-dovecot_client_ip 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

takerukoushirou/roundcube-dovecot_client_ip

Composer 安装命令:

composer require takerukoushirou/roundcube-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.

README 文档

README

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

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

⚠️ 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.
  2. Within the RoundCube webmail root directory, add a new dependency to the plugin. Use dev-main as the version constraint for the latest in-development version.
    php composer.phar require 'takerukoushirou/roundcube-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

  1. Download the latest release archive or checkout the latest release branch.
  2. Extract the contents into a folder named roundcube_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 roundcube_dovecot_client_ip from within the plugins directory to the latest version folder instead.

Configuration

To enable the plugin, add roundcube_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

On a fresh installation, navigate to the plugin directory and copy config.inc.php.dist to config.inc.php.
When using Composer, a copy is automatically created.

Edit config.inc.php within the plugin directory as needed.
All options and their accepted values are described in config.inc.php.dist.

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.

License

GNU General Public License v3 logo
GNU General Public License v3 or higher. See LICENSE file for details.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

takerukoushirou/roundcube-dovecot_client_ip 适用场景与选型建议

takerukoushirou/roundcube-dovecot_client_ip 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.46k 次下载、GitHub Stars 达 3, 最近一次更新时间为 2021 年 07 月 16 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「roundcube」 「dovecot」 「reverse-proxy」 「client-ip」 「authentication-penalty」 「imap-id」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 takerukoushirou/roundcube-dovecot_client_ip 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 takerukoushirou/roundcube-dovecot_client_ip 我们能提供哪些服务?
定制开发 / 二次开发

基于 takerukoushirou/roundcube-dovecot_client_ip 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 1.46k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 19
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 3
  • Watchers: 0
  • Forks: 3
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-3.0-or-later
  • 更新时间: 2021-07-16