PHPackages                             carloeusebi/laravel-rybbit-tunnel - 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. [API Development](/categories/api)
4. /
5. carloeusebi/laravel-rybbit-tunnel

ActiveLibrary[API Development](/categories/api)

carloeusebi/laravel-rybbit-tunnel
=================================

Provides endpoints to use as reverse-proxy for Rybbit analytics tool

v0.4.2(3mo ago)1484↓88%MITPHP

Since Dec 15Pushed 2mo agoCompare

[ Source](https://github.com/carloeusebi/laravel-rybbit-tunnel)[ Packagist](https://packagist.org/packages/carloeusebi/laravel-rybbit-tunnel)[ RSS](/packages/carloeusebi-laravel-rybbit-tunnel/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependencies (15)Versions (18)Used By (0)

Laravel Rybbit Tunnel
=====================

[](#laravel-rybbit-tunnel)

A Laravel package that acts as a reverse proxy for [Rybbit](https://rybbit.io) analytics. Routes analytics traffic through your own domain to avoid ad blockers and improve data accuracy.

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

[](#requirements)

- PHP 8.2+
- Laravel 12 or 13

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

[](#installation)

```
composer require carloeusebi/laravel-rybbit-tunnel
```

The service provider is auto-discovered. Publish the config file if you need to customise it:

```
php artisan vendor:publish --tag=rybbit-tunnel-config
```

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

[](#configuration)

Add to your `.env`:

```
RYBBIT_TUNNEL_HOST=https://app.rybbit.io   # your Rybbit instance URL
RYBBIT_TUNNEL_URL=/analytics                # local route prefix
RYBBIT_TUNNEL_DEBUG=false                   # enable verbose request logging
```

Full config (`config/rybbit-tunnel.php`):

```
return [
    'host'             => env('RYBBIT_TUNNEL_HOST', 'https://app.rybbit.io'),
    'tunnel-url'       => env('RYBBIT_TUNNEL_URL', '/analytics'),
    'cache-key-prefix' => 'rybbit_',
    'debug'            => env('RYBBIT_TUNNEL_DEBUG', false),
    'middleware'       => ['web'],
];
```

### Middleware

[](#middleware)

By default the routes use the `web` middleware group. Override via config:

```
'middleware' => ['web', 'auth'],
```

Routes
------

[](#routes)

The package registers the following routes under the configured prefix (default `/analytics`):

MethodPathDescriptionGET`/{script}`Proxy analytics scripts (`script.js`, `script-full.js`, `replay.js`, `metrics.js`) — cached 1 hourPOST`/track`Proxy pageview/event trackingPOST`/identify`Proxy user identificationPOST`/session-replay/record/{siteId}`Proxy session replay data — dispatched via queueGET`/site/tracking-config/{siteId}`Proxy site tracking config — cached 1 hourUsage
-----

[](#usage)

Point your Rybbit script tag at your tunnel URL instead of the Rybbit host directly:

```

```

### Session Replay

[](#session-replay)

Session replay requests are dispatched as queued jobs (`ForwardRybbitData`) to avoid blocking the response. Make sure your queue worker is running:

```
php artisan queue:work
```

### Caching

[](#caching)

Script files and site tracking configs are cached for 1 hour using Laravel's default cache driver. The cache key prefix defaults to `rybbit_` and is configurable.

### Debugging

[](#debugging)

Set `RYBBIT_TUNNEL_DEBUG=true` to log incoming proxy request details (method, path, URL, headers, client IP) at the `debug` level. Sensitive headers (`Authorization`, `Cookie`, `X-CSRF-Token`) are redacted automatically.

License
-------

[](#license)

MIT

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance83

Actively maintained with recent releases

Popularity14

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity34

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

Every ~7 days

Total

16

Last Release

97d ago

### Community

Maintainers

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

---

Top Contributors

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

###  Code Quality

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/carloeusebi-laravel-rybbit-tunnel/health.svg)

```
[![Health](https://phpackages.com/badges/carloeusebi-laravel-rybbit-tunnel/health.svg)](https://phpackages.com/packages/carloeusebi-laravel-rybbit-tunnel)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3355.3M346](/packages/psalm-plugin-laravel)[nuwave/lighthouse

A framework for serving GraphQL from Laravel

3.5k11.8M117](/packages/nuwave-lighthouse)[laravel/mcp

Rapidly build MCP servers for your Laravel applications.

77022.3M151](/packages/laravel-mcp)[api-platform/laravel

API Platform support for Laravel

58171.6k14](/packages/api-platform-laravel)[defstudio/telegraph

A laravel facade to interact with Telegram Bots

816333.9k3](/packages/defstudio-telegraph)[flat3/lodata

OData v4.01 Producer for Laravel

99351.7k](/packages/flat3-lodata)

PHPackages © 2026

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