nfarrington/vatsim-url-shortener
A Laravel/PHP package for shortening URLs, tailored to VATSIM projects and workflows. Easily create compact, shareable links for flight plans, event pages, pilot bookings, briefing resources, and more, backed by a clean API, custom slugs, configurable drivers, and optional click analytics.
composer require nfarrington/vatsim-url-shortener, then publish and run its assets: php artisan vendor:publish --tag=url-shortener-config (and the migrations tag), followed by php artisan migrate. Confirm the actual tags with php artisan vendor:publish --provider="NFarrington\UrlShortener\...ServiceProvider" if the shorthand tag isn't registered.routes/ file. The config governs the allowed URL prefixes (the core safety control) and the slug/code generation settings; the routes file tells you which paths are public (the redirect endpoint) versus protected (creation/management, 2FA-gated).{{ }} escaping and only allow {!! !!} for values you generated server-side. The v1.33 XSS fix is a reminder that these fields are attacker-influenced input, not trusted config.web.php. If you need custom behaviour (UTM appending, hit counting, 404 page), use the package's events/extension points or a thin controller that delegates, so future patches to the redirect logic aren't bypassed.RefreshDatabase and feature-test the redirect endpoint plus a rejected-prefix case. That rejected-prefix test is your regression guard the next time URL validation changes.https://vatsim.net.evil.example can't satisfy a https://vatsim.net prefix. Verify the package's exact matching semantics rather than assuming.php artisan config:clear / config:cache in deploy), and check the release/PR for any migration or config additions.php artisan route:list --path=<shortener-prefix>; a 404 on a valid slug is usually a route-cache or wrong-prefix issue, not a data problem.How can I help you explore Laravel packages today?