PHPackages                             xetaio/xetaravel-iptraceable - 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. xetaio/xetaravel-iptraceable

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

xetaio/xetaravel-iptraceable
============================

A simple package that update an IP field when the user login into the application.

13.0.0(2mo ago)04.6k↓85%1MITPHPPHP ^8.3CI passing

Since May 24Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/XetaIO/Xetaravel-IpTraceable)[ Packagist](https://packagist.org/packages/xetaio/xetaravel-iptraceable)[ Docs](https://github.com/XetaIO/Xetaravel-IpTraceable)[ RSS](/packages/xetaio-xetaravel-iptraceable/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (10)Dependencies (16)Versions (14)Used By (1)

Xetaravel IpTraceable
=====================

[](#xetaravel-iptraceable)

 [![Latest Stable Version](https://camo.githubusercontent.com/7a4c83ce9e6cb346ec92b992dfd33fb7b7547b24101941df8b6d173276cf88d1/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f58657461494f2f58657461726176656c2d4970547261636561626c652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/xetaio/xetaravel-iptraceable) [![Total Downloads](https://camo.githubusercontent.com/80d9c19049fb048f8f431060c1f71ebe4df83e3505a25f2a0239131c622d69ec/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f78657461696f2f78657461726176656c2d6970747261636561626c652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/xetaio/xetaravel-iptraceable) [![Tests](https://camo.githubusercontent.com/cf846b4aa8d90ab4d34a449b9e7877925e43f699a10e67cc8ab993a33976fd00/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f58657461494f2f58657461726176656c2d4970547261636561626c652f74657374732e796d6c3f6272616e63683d6d6173746572267374796c653d666c61742d737175617265266c6162656c3d7465737473)](https://github.com/XetaIO/Xetaravel-IpTraceable/actions) [![Laravel 13+](https://camo.githubusercontent.com/9656215d5dfdc7e60e43f5648f4ba4ca4ba9e6a86772f22653fe74e6214b7d9d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d3e3d31332e302d6634363435662e7376673f7374796c653d666c61742d737175617265)](http://laravel.com) [![License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](https://github.com/XetaIO/Xetaravel-IpTraceable/blob/master/LICENSE)

A simple Laravel package that tracks the IP address of a user on login. Also handles the `remember_me` token via middleware.

Requirements
------------

[](#requirements)

- **PHP** &gt;= 8.3
- **Laravel** &gt;= 13.0

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

[](#installation)

```
composer require xetaio/xetaravel-iptraceable
```

### Service Provider

[](#service-provider)

Laravel auto-discovers the service provider. If you have disabled auto-discovery, register it manually in `bootstrap/providers.php`:

```
return [
    // ...
    Xetaio\IpTraceable\Providers\IpTraceableServiceProvider::class,
];
```

### Middleware (remember me support)

[](#middleware-remember-me-support)

The package ships with an optional middleware that updates the IP on requests authenticated via a **remember me** token. Register it in `bootstrap/app.php` **after** `StartSession`:

```
->withMiddleware(function (Middleware $middleware) {
    $middleware->web(append: [
        \Xetaio\IpTraceable\Http\Middleware\IpTraceable::class,
    ]);
})
```

> **Note**: The middleware must be registered **after** `Illuminate\Session\Middleware\StartSession`.

### Configuration

[](#configuration)

Publish the config file:

```
php artisan vendor:publish --provider="Xetaio\IpTraceable\Providers\IpTraceableServiceProvider" --tag=config
```

Available options in `config/iptraceable.php`:

```
return [
    'fields' => [
        'last_login_ip' => 'last_login_ip',   // Column name for the IP address
        'last_login_date' => null,               // Set a column name to enable, or null to disable
    ],
];
```

### Database

[](#database)

Add the required columns to your `users` table:

```
$table->ipAddress('last_login_ip')->nullable();
$table->dateTime('last_login_date')->nullable(); // Optional — enable in config
```

How it works
------------

[](#how-it-works)

TriggerMechanismStandard login`IpTraceableSubscriber` listens to `Illuminate\Auth\Events\Login` and updates the IP automaticallyRemember me token`IpTraceable` middleware checks `viaRemember()` on each request and updates the IP if neededTesting
-------

[](#testing)

```
composer test
```

Contributing
------------

[](#contributing)

Pull requests are welcome.

###  Health Score

55

—

FairBetter than 97% of packages

Maintenance87

Actively maintained with recent releases

Popularity21

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity85

Battle-tested with a long release history

 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

Every ~325 days

Recently: every ~371 days

Total

11

Last Release

64d ago

Major Versions

v2.0.2 → 9.0.02022-03-30

9.0.0 → 10.0.02023-08-05

10.0.0 → 11.0.02024-06-18

11.0.0 → 12.0.02025-03-10

12.0.0 → 13.0.02026-04-24

PHP version history (9 changes)v0.0.1PHP &gt;=7.0

v1.0.0PHP ^7.1.3

v2.0.0PHP ^7.2.5

v2.0.2PHP ^7.3|^8.0

9.0.0PHP &gt;=7.3

10.0.0PHP &gt;=8.1

11.0.0PHP &gt;=8.2

12.0.0PHP ^8.2

13.0.0PHP ^8.3

### Community

Maintainers

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

---

Top Contributors

[![Xety](https://avatars.githubusercontent.com/u/8210023?v=4)](https://github.com/Xety "Xety (15 commits)")

---

Tags

iplaravellaravel-5-packagelogintraceableuserslaravelIPloginUserstraceable

###  Code Quality

TestsPest

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/xetaio-xetaravel-iptraceable/health.svg)

```
[![Health](https://phpackages.com/badges/xetaio-xetaravel-iptraceable/health.svg)](https://phpackages.com/packages/xetaio-xetaravel-iptraceable)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3345.1M337](/packages/psalm-plugin-laravel)[laravel/pulse

Laravel Pulse is a real-time application performance monitoring tool and dashboard for your Laravel application.

1.7k14.1M122](/packages/laravel-pulse)[larastan/larastan

Larastan - Discover bugs in your code without running it. A phpstan/phpstan extension for Laravel

6.4k51.0M7.6k](/packages/larastan-larastan)[alajusticia/laravel-logins

Session management in Laravel apps, user notifications on new access, support for multiple separate remember tokens, IP geolocation, User-Agent parser

2013.2k](/packages/alajusticia-laravel-logins)[api-platform/laravel

API Platform support for Laravel

59156.3k11](/packages/api-platform-laravel)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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