Quick Setup
Get dynamoip running alongside your dev server in a few steps.
1. Install
npm install --save-dev dynamoip
# or
pnpm add -D dynamoip2. Add a script to package.json
{
"scripts": {
"dev:proxy": "dynamoip --config dynamoip.config.json"
}
}3. Create your config
Save as dynamoip.config.json at your project root.
Quick — LAN only, no account needed:
{
"domains": {
"myapp": 3000
}
}Max — accessible from the public internet, no port forwarding:
{
"baseDomain": "yourdomain.com",
"tunnel": true,
"domains": {
"myapp": 3000
}
}Pro — LAN only, real domain with a wildcard cert:
{
"baseDomain": "yourdomain.com",
"domains": {
"myapp": 3000
}
}4. Add credentials (Max and Pro only)
Create a .env file and add it to .gitignore:
CF_API_TOKEN=your_cloudflare_api_token
CF_EMAIL=you@example.com # Pro only — not needed for MaxGet a token at Cloudflare Dashboard → My Profile → API Tokens → Create Token using the Edit zone DNS template. For Max mode, also add Account → Cloudflare Tunnel → Edit.
5. Run
Pro and Quick modes need sudo to bind ports 80/443 (or pass --port 8443 to avoid it). Max mode needs no sudo — cloudflared only makes outbound connections.
# Pro / Quick mode
sudo npm run dev:proxy
# Max mode — no sudo
npm run dev:proxyRun this alongside your dev server in a second terminal.
First run notes:
- Quick — other devices on your LAN need to install the mkcert CA once.
- Pro — first run takes ~60 seconds to get a Let's Encrypt cert via DNS challenge. Cached after that.
- Max — first run takes 20–30 seconds to install
cloudflaredand create the tunnel. Cached after that.