Quick Setup (Remote)
Access C3 from anywhere using ngrok (built-in) for secure remote connections.
Overview
Remote access allows you to connect to C3 from anywhere in the world. Using ngrok (built-in), cloudflare tunnels, VPN, etc., your local server is exposed through a secure HTTP(S) tunnel, making it accessible even when you're away from your home network.
When to Use Remote Access
- Working from a coffee shop or co-working space
- Traveling and need to access your dev machine
- Your phone is on cellular data
- Your network has firewall restrictions
Prerequisites
Before setting up remote access, you'll need:
- ngrok account — Sign up for free at ngrok.com
- ngrok auth token — Found in your ngrok dashboard
Setup Steps
Get Your ngrok Auth Token
Log in to your ngrok dashboard and copy your auth token from the "Your Authtoken" section.
Open ngrok Dashboard →Start C3 with ngrok
Start the server with your ngrok token and authentication credentials:
ccc --ngrok-token YOUR_NGROK_TOKEN \
--username your_username \
--password your_secure_passwordThe server will create a secure tunnel and display the public URL.
Note the Public URL
Once started, you'll see output like this:
✓ ngrok tunnel established
Public URL: https://abc123.ngrok-free.app
Scan the QR code or enter this URL in the C3 appConnect from the App
In the C3 app, either scan the QR code or go to Settings → Add Server Profile and manually enter:
- Server URL: Your ngrok URL (e.g.,
abc123.ngrok-free.app) - Username: The username you set
- Password: The password you set
- SSL: Enabled (toggle on)
Static Domain
By default, ngrok generates a random URL each time you start. However, ngrok provides one free static domain per account that never changes:
ccc --ngrok-token YOUR_TOKEN \
--ngrok-domain your-custom-domain.ngrok-free.app \
--username your_username \
--password your_passwordBenefits of Static Domain
- No need to reconfigure the app when restarting the server
- Easier to remember and share
- Better for permanent setups
Environment Variables
Instead of passing tokens on the command line, you can use environment variables for cleaner commands:
export CCC_NGROK_TOKEN=your_token
export CCC_NGROK_DOMAIN=your-domain.ngrok-free.app
export CCC_USERNAME=your_username
export CCC_PASSWORD=your_password
cccSecurity Considerations
When exposing C3 to the internet, keep these security practices in mind:
Use Strong Passwords
Choose a password that's at least 12 characters with a mix of letters, numbers, and symbols. Avoid common words or patterns.
Rotate Credentials Regularly
Consider changing your username and password periodically, especially if you suspect they may have been compromised.
Monitor Active Sessions
Keep an eye on the server logs for unexpected connection attempts. C3 logs all authentication attempts and can help identify suspicious activity.
Public WiFi Warning
While ngrok uses HTTPS encryption, be cautious when using C3 on public WiFi networks. Consider using a VPN for an additional layer of security.
Firewall and Rate Limiting
C3 includes built-in rate limiting and can block IPs after multiple failed authentication attempts. This helps protect against brute-force attacks.