Ngrok Tunneling
Expose your local sites to the internet with one click
Share your local development sites with anyone, anywhere using ngrok - integrated directly into DAMP with a single-click tunnel setup.
Instant Public URLs
Start a secure tunnel for any project with one click and get a public URL to share with clients, teammates, or for testing webhooks.
Quick Setup
Get started in two simple steps:
Add Authtoken in Settings
Navigate to Settings → Ngrok Tunneling and add your ngrok authtoken. Get yours free from ngrok.com.
Start Tunnel
Open any project and click the "Tunnel" tab - start your tunnel with a single click!
Features
One-Click Start
Start and stop tunnels instantly from the project dashboard
Per-Project Config
Configure custom domains, regions, and settings for each site
Live Metrics
Monitor connections and HTTP requests in real-time
HTTPS by Default
All tunnels use secure HTTPS URLs automatically
Global Configuration
Settings → Ngrok Tunneling
Configure default settings for all projects:
Authtoken → Required - Get from ngrok dashboard
Custom Domain → Optional - Use your own domain (paid plans)
Region → Optional - Choose server region (us, eu, ap, etc.)
Compression → Optional - Enable response compressionFree vs Paid Plans
- Free: 1 tunnel, ngrok subdomain, 40 connections/minute
- Paid: Custom domains, more tunnels, higher limits
Per-Site Configuration
Each project can override global settings with site-specific configuration:
- Open your project
- Navigate to Tunnel tab
- Click Configure to set custom options
- Save and start tunnel!
Available Options
- Site Authtoken - Use a different ngrok account for this project
- Custom Domain - Specify a custom domain (requires paid plan)
- Region - Select optimal region for your audience
- Compression - Enable/disable compression per site
Pro Tip: Custom Domains
With a paid ngrok plan, use custom domains like api.yourdomain.com for professional demos!
Using Tunnels
Starting a Tunnel
- Ensure your project devcontainer is running (open in VS Code)
- Navigate to the project in DAMP
- Click the Tunnel tab
- Click Start Tunnel
- Copy the public URL and share!
Tunnel Status
Monitor your tunnel with real-time information:
Status → Running / Stopped
Public URL → https://abc123.ngrok.io
Connections → Active connection count
HTTP Requests → Total requests servedDevcontainer Required
Your project must be running in VS Code's devcontainer before starting a tunnel. The tunnel connects to your devcontainer's web server.
Use Cases
🤝 Client Demos
Share work-in-progress with clients without deploying:
You: "Check out the new feature at https://demo-abc123.ngrok.io"
Client: Views your local dev environment instantly!🔔 Webhook Testing
Test third-party webhooks locally:
Stripe Webhook URL: https://pay-xyz789.ngrok.io/webhook
GitHub Webhook URL: https://dev-abc123.ngrok.io/github📱 Mobile Testing
Test your site on real mobile devices:
Public URL: https://mobile-test.ngrok.io
Access from your phone, tablet, or any device!👥 Team Collaboration
Share your local environment with remote team members:
"Hey team, check my branch at https://feature-xyz.ngrok.io"
No deployment, no waiting - instant collaboration!Tunnel Architecture
┌──────────────────────────────────────┐
│ Internet (Public Access) │
│ https://abc123.ngrok.io │
└────────────────┬─────────────────────┘
│
│ Ngrok Cloud
↓
┌──────────────────────────────────────┐
│ Ngrok Container (devnet) │
│ Port: 4040 (local API) │
└────────────────┬─────────────────────┘
│
│ Docker Network
↓
┌──────────────────────────────────────┐
│ Your DevContainer │
│ myapp_devcontainer:8080 │
│ PHP Application Running │
└──────────────────────────────────────┘Advanced Features
Custom Regions
Optimize latency by selecting the closest region:
- us - United States (default)
- eu - Europe
- ap - Asia/Pacific
- au - Australia
- sa - South America
- jp - Japan
- in - India
Compression
Enable compression to reduce bandwidth:
{
"compression": true
}Automatically compresses HTTP responses using gzip.
Multiple Tunnels
Run tunnels for multiple projects simultaneously:
Project A: https://app-a.ngrok.io
Project B: https://app-b.ngrok.io
Project C: https://app-c.ngrok.ioEach project gets its own isolated tunnel.
Security Considerations
Important Security Notes
- Tunnels expose your local environment to the internet
- Anyone with the URL can access your site
- Use .env protection for sensitive data
- Don't share tunnel URLs publicly unless intended
Best Practices
✅ Do:
- Use tunnels for temporary sharing
- Add authentication to sensitive endpoints
- Monitor tunnel traffic
- Stop tunnels when not in use
❌ Don't:
- Share tunnel URLs in public forums
- Use production credentials in dev
- Leave tunnels running indefinitely
- Expose admin panels without protection
Troubleshooting
Ready to Share?
Configure your authtoken in Settings, then start tunneling with a single click from any project!