Download the PHP package zipavlin/redline without Composer

On this page you can find all versions of the php package zipavlin/redline. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package redline

Redline for Laravel

A Laravel package for self-hosted, on-page bug-reporting, with a reporting widget and dashboard.
Testers can pin comments, annotate screenshots, record videos, and view existing pins without leaving the page; developers review and resolve reports in a built-in dashboard. All data lives in your own storage (SQLite by default).

Latest Version on Packagist GitHub Tests Action Status Total Downloads


Requirements

PHP 8.3 or 8.4
Laravel 11.x, 12.x, or 13.x
Extension pdo_sqlite (for the default storage backend)

Get started

Interactive redline:install walks you through the storage backend, auth provider, guard, mail setup, and disabled features, writes your choices to .env, publishes config and assets, and creates a first (admin) user.


Activation

The package is partially gated - know what turns on where:


Configuration

All settings are read from config/redline.php, which maps to these env variables:

Variable Default Purpose
REDLINE_PATH redline URL prefix for all routes (/redline/api/..., /redline)
REDLINE_STORAGE_PROVIDER Zipavlin\Redline\Providers\Storage\DatabaseStorageProvider Storage backend class
REDLINE_STORAGE_PATH_BASE redline Base dir under storage/app/
REDLINE_STORAGE_PATH_SCREENSHOTS screenshots Screenshot subdir
REDLINE_STORAGE_PATH_VIDEOS videos Video subdir
REDLINE_STORAGE_PATH_DATABASE database SQLite file subdir
REDLINE_GUARD_PROVIDER Zipavlin\Redline\Providers\Guard\EnvironmentGuardProvider When Redline is active
REDLINE_GUARD_EXCLUDE (none) Comma-separated paths to skip injection on (exact, subpath, /*, glob)
REDLINE_AUTH_PROVIDER Zipavlin\Redline\Providers\Auth\OpenAuthProvider Registration/role model
REDLINE_AUTH_TOKEN 3600 JWT TTL (seconds)
REDLINE_AUTH_REMEMBER_TOKEN 2592000 "Remember me" JWT TTL (30 days)
REDLINE_AUTH_GUEST false Allow anonymous report submission
REDLINE_AUTH_GUEST_ORIGINS (none) Comma-separated origins allowed to submit guest reports
REDLINE_AUTH_GUEST_THROTTLE 20 Guest submissions per minute per IP
REDLINE_AUTH_ALLOW_SELF_ADMIN false Allow public registration to claim admin (off by default)
REDLINE_AUTH_PIN_REPORTER (none) PinAuthProvider: reporter PIN
REDLINE_AUTH_PIN_DEVELOPER (none) PinAuthProvider: developer PIN
REDLINE_AUTH_DOMAINS (none) DomainAuthProvider: allowed email domains (comma-separated)
REDLINE_AUTH_THROTTLE 10 Auth endpoints rate limit (per minute per IP)
REDLINE_BOOTSTRAP_THROTTLE 120 Bootstrap endpoint rate limit (per minute per IP)
REDLINE_COOKIE_SECURE true Secure flag on auth/CSRF cookies
REDLINE_COOKIE_SAME_SITE lax SameSite on auth/CSRF cookies
REDLINE_COOKIE_DOMAIN (none) Cookie domain override
REDLINE_ALLOWED_ORIGINS (none) Escape hatch for cookie-mutation Origin checks (reverse proxies)
REDLINE_DISABLED (none) Comma-separated features to disable: screenshots, videos, files, comments, mentions
REDLINE_MAIL true Kill switch for all Redline emails
REDLINE_CLOUD_URL (none) Remote Redline API URL (cloud backend - planned, not yet implemented)
REDLINE_VITE_URL (none) Dev-only: serve the frontend from the Vite dev server (see "Frontend development")

Keep the data out of your app's git history: /storage/app/redline/ should be gitignored.


Auth providers & roles

Roles are reporter / developer / admin (plus a shared guest identity for guest-mode submissions). How roles are claimed depends on the auth provider:

Provider How users get in Role selection
OpenAuthProvider (default) Anyone can register Free choice (admin excluded unless REDLINE_AUTH_ALLOW_SELF_ADMIN=true)
PinAuthProvider Anyone can register with a PIN PIN decides: reporter PIN → reporter, developer PIN → developer; role selector hidden
DomainAuthProvider Registration limited to REDLINE_AUTH_DOMAINS (+ email verification) Provider-defined
ApprovalAuthProvider Self-register, then admin approves Pending until approved
ClosedAuthProvider No self-registration - admin creates users Admin assigns

Notes:

Capabilities by role

Action Reporter Developer Admin
Submit reports / comment ✅ ✅ ✅
Edit own report/comment body ✅ ✅ ✅
Change report status limited¹ ✅ ✅
Move pins, upload media own only ✅ ✅
Delete reports/comments own only own only ✅
Manage users ❌ ❌ ✅

¹ A report owner may only Reopen (resolved → in progress) or Confirm (resolved → done); developers/admins drive the main lifecycle transitions.


Using the widget

The widget appears as a floating toolbar (bottom-right by default) on every page of the activated environment. Click any mode button - on first use you are prompted for identity (name/email/role via the identity modal).


Dashboard

The dashboard is a Vue SPA served at /{redline.path} (default /redline). It lists reports and report details, users and user details and simple analytics dashboard.


Artisan commands


Storage backends

Database (default) - DatabaseStorageProvider

Eloquent models on a dedicated SQLite connection at storage/app/redline/redline.db. Requires pdo_sqlite. Schema (numbered migrations 0001–0005) is created by php artisan redline:install.

JSON files - FileStorageProvider

One JSON file storage via ryangjchandler/orbit. Requires Laravel 12+. Optional dependency - install with composer require ryangjchandler/orbit when you choose this backend.


Security considerations


Frontend development

All frontend source lives in the sibling redline-app repo (Vue 3 + TypeScript + Vite + Nuxt UI). To develop against this package locally:

  1. In redline-app: npm ci && npm run dev (Vite dev server on :5173, serves both widget and dashboard entries as ESM).
  2. In the host app set REDLINE_VITE_URL=http://localhost - the blade shells then load src/widget.ts / src/dashboard.ts directly from Vite with hot reload.

Production bundles are built in redline-app (npm run build → dist/), copied into this repo's public/ (committed), and published via php artisan vendor:publish --tag=redline-assets.


Testing

Current baseline: 251 passed, 3 skipped (the skips are Orbit-gated FileDriverGrammarTest tests that skip when ryangjchandler/orbit is not installed).


Changelog

See CHANGELOG.md.

Credits

License

The MIT License (MIT). See LICENSE.md.


All versions of redline with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3|^8.4
composer-runtime-api Version ^2.0
ezyang/htmlpurifier Version ^4.19
firebase/php-jwt Version ^7.1
illuminate/contracts Version ^11.0||^12.0||^13.0
illuminate/database Version ^11.0||^12.0||^13.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package zipavlin/redline contains the following files

Loading the files please wait ...