{"id":36994641,"url":"https://github.com/dsoares/roundcube-lastlogin","last_synced_at":"2026-01-13T23:46:53.898Z","repository":{"id":39827283,"uuid":"58481241","full_name":"dsoares/roundcube-lastlogin","owner":"dsoares","description":"Roundcube plugin to save and show user login information and login history.","archived":false,"fork":false,"pushed_at":"2024-02-08T08:23:48.000Z","size":75,"stargazers_count":15,"open_issues_count":6,"forks_count":12,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-07-21T15:58:05.102Z","etag":null,"topics":["geolocation","hacktoberfest","login-history","plugin","roundcube"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dsoares.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-05-10T17:35:05.000Z","updated_at":"2025-04-21T22:09:40.000Z","dependencies_parsed_at":"2022-08-21T10:20:50.330Z","dependency_job_id":null,"html_url":"https://github.com/dsoares/roundcube-lastlogin","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/dsoares/roundcube-lastlogin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsoares%2Froundcube-lastlogin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsoares%2Froundcube-lastlogin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsoares%2Froundcube-lastlogin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsoares%2Froundcube-lastlogin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dsoares","download_url":"https://codeload.github.com/dsoares/roundcube-lastlogin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsoares%2Froundcube-lastlogin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28405304,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-13T21:51:37.118Z","status":"ssl_error","status_checked_at":"2026-01-13T21:45:14.585Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["geolocation","hacktoberfest","login-history","plugin","roundcube"],"created_at":"2026-01-13T23:46:53.233Z","updated_at":"2026-01-13T23:46:53.893Z","avatar_url":"https://github.com/dsoares.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Roundcube plugin lastlogin\n\nRoundcube plugin to save and show user login information (user login history).\n\nWhen a user logs in into Roundcube, this plugin:\n\n1. shows the user's last login information in a small box for N configurable seconds;\n2. saves the information to a database table for history purposes.\n\nThe login history may be consulted in its own Settings tab.\n\nIf using the [geolocation plugin][geolocation] (config option `lastlogin_geolocation` is `true`) and you have some organization internal networks configured there, that information will be shown. Also, if using the [geolocation plugin][geolocation] with the `system` method, don't forget to enable the [PHP GeoIP extension][php_geoip]. For more information, see the [geolocation plugin][geolocation] configuration.\n\nThe plugin provides a section in settings for the user to configure for how long (number of seconds) to show a notification with last access information on login.\n\nStable versions of this plugin are available from the [Roundcube plugin repository][rcplugrepo] or the [releases section][releases] of the GitHub repository.\n\n\n## Requirements\n\n- [geolocation plugin][geolocation] if the config option `lastlogin_geolocation` is `true` (default is `false`).\n- The option `log_logins` in Roundcube main configuration must be enabled to register the logins.\n\n\n## Installation\n\n#### Install with composer\n\nAdd the plugin to your `composer.json` file:\n\n    \"require\": {\n        (...)\n        \"dsoares/lastlogin\": \"*\"\n    }\n\nRun:\n\n    $ composer update [--your-options]`\n\nCopy `config.inc.php.dist` to `config.inc.php` and modify it as necessary.\n\n#### Manual installation\n\nPlace this directory under your Rouncdube `plugins/` folder, copy `config.inc.php.dist` to `config.inc.php` and modify it as necessary.\nThen, you need to import the database script:\n\n    mysql -your_mysql_connection_options your_roundcube_database_name \u003c SQL/mysql.initial.sql\n\nNOTE: The plugin ships only with a MySQL/MariaDB script `SQL/mysql.initial.sql`; you are welcome to contribute with other database drivers.\n\nDon't forget to enable the lastlogin plugin within the main Roundcube configuration file `config/config.inc.php`.\n\n\n## Configuration\n\n- **$config['lastlogin_timeout']** - number of seconds to show the user login info at login; default `10`.\n\n- **$config['lastlogin_lastrecords']** - number of history entries to show in the settings section; default `10`.\n\n- **$config['lastlogin_geolocation']** - use the geolocation plugin; default `false`.\n\n- **$config['lastlogin_dns']** - also register IP DNS names; default `true`.\n\n- **$config['lastlogin_tor']** - check if IP is a TOR-network exit point; default `true`.\n\n- **$config['lastlogin_tor_suffix']** - the TOR-network DNS suffix.\n\n- **$config['lastlogin_tor_ip']** - the TOR-network IP.\n\n- **$config['lastlogin_mask_ip']** - mask the IP? (for GDPR); default `false`;\n\n- **$config['lastlogin_useragent']** - save the user-agent information?; default `false`.\n\nSee the `config.inc.php.dist` for more information.\n\nIf you don't want the `lastlogin_timeout` setting to be overriden by the user, you can add it to your Roundcube [`dont_override`][settings].\n\n\n## License\n\nThis plugin is released under the [GNU General Public License Version 3+][gpl].\n\n## Contact\n\nComments and suggestions are welcome!\n\nEmail: [Diana Soares][dsoares]\n\n[settings]: https://github.com/roundcube/roundcubemail/blob/master/config/defaults.inc.php#L363\n[rcplugrepo]: http://plugins.roundcube.net/packages/dsoares/lastlogin\n[releases]: http://github.com/dsoares/roundcube-lastlogin/releases\n[geolocation]: http://plugins.roundcube.net/packages/dsoares/geolocation\n[php_geoip]: https://www.php.net/manual/en/book.geoip.php\n[gpl]: http://www.gnu.org/licenses/gpl.html\n[dsoares]: mailto:diana.soares@gmail.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsoares%2Froundcube-lastlogin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdsoares%2Froundcube-lastlogin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsoares%2Froundcube-lastlogin/lists"}