Instant public URLs for Laravel development. Share your local Laravel app with a single command.
🌐 xpos.dev
- One Command Setup - Get a public URL instantly with
php artisan xpos - Auto-Start Server - Automatically starts
php artisan serveif not running - Secure HTTPS Tunnels - All traffic is encrypted via SSH
- Zero Configuration - Works out of the box, configure only if needed
- Auto-Proxy Detection - Automatically configures TrustProxies for correct HTTPS URLs
- Laravel 10, 11, 12 - Full support for modern Laravel versions
- 🔗 Test webhooks from third-party services (Stripe, GitHub, etc.)
- 📱 Test your app on mobile devices
- 👥 Share work-in-progress with clients or team members
- 🌐 Demo your local app without deploying
- 🔧 Debug integrations requiring public callbacks
composer require codeseasy/xpos-laravel --devphp artisan xposThat's it! The command will:
- Start
php artisan serveif not already running - Create an SSH tunnel to XPOS
- Display your public URL (e.g.,
https://abc123.xpos.to)
# Use a specific port
php artisan xpos --port=8080
# Use an existing server (don't start artisan serve)
php artisan xpos --no-serve --port=8000
# Bind to a specific host
php artisan xpos --host=0.0.0.0Publish the config file:
php artisan vendor:publish --tag=xpos-configConfig options in config/xpos.php:
return [
'server' => 'go.xpos.dev', // XPOS server
'ssh_port' => 443, // SSH port
'default_port' => 8000, // Default dev server port
'trust_proxies' => true, // Auto-configure HTTPS
];The package automatically configures Laravel's TrustProxies middleware so that asset(), url(), and other helpers generate HTTPS URLs when accessed through an XPOS tunnel.
- PHP 8.1+
- Laravel 10, 11, or 12
- SSH client available in PATH
Add .xpos.pid to your project's .gitignore:
.xpos.pid
- Serve Detection: Uses a
.xpos.pidfile to track which port belongs to your project - SSH Tunnel: Connects to XPOS using
ssh -p 443 -R0:127.0.0.1:PORT x@go.xpos.dev - HTTPS: Auto-configures TrustProxies so assets load correctly
Port already in use?
# Use a different port
php artisan xpos --port=8001SSH connection issues?
- Ensure SSH client is installed and available in PATH
- Check firewall settings for port 443
HTTPS URLs not working?
- Make sure
trust_proxiesis set totrueinconfig/xpos.php - Clear config cache:
php artisan config:clear
This package is intended for development use only. Do not use in production environments. All traffic goes through XPOS servers via encrypted SSH tunnels.
Contributions are welcome! Please feel free to submit a Pull Request.
- Documentation: https://xpos.dev
- Issues: GitHub Issues
- Website: https://codeseasy.com
- Email: hello@codeseasy.com
MIT License. See LICENSE for details.