Porter Support
Stuck or curious? Email hello@papermint.studio and a human reads every message, usually within a day.
Getting started5
- Install. Download Porter, open the .dmg and drag Porter to Applications. It needs macOS 15 or later and runs on Apple silicon and Intel.
- Your first names. On first launch Porter lists the dev servers already running on your Mac, each with a name suggested from its project folder. Keep the ticks you want, edit any name, and click Add.
- Add one later. Click Add a name, type a name (letters, numbers, dashes and dots, like shop or api.shop) and pick a running server or type its port. Servers without a name are also listed in the sidebar and the menu bar, each with a Name button.
- Open it. Type the name in any browser, like shop.local, or click Open on the name's page. You don't need a port: Porter answers on the standard ports 80 and 443.
- Keep it running. Names only work while Porter is open. It starts at login and stays in the menu bar when you close the window; turn that off in Settings.
Names and your server6
- What your server sees. By default a request arrives as localhost:5173 (the port you chose), which dev servers accept without setup. The original name travels in the X-Forwarded-Host header. If your app needs to see shop.local itself, turn on Send shop.local to the server on the name's page.
- Redirects. When your server redirects to localhost:5173, Porter sends the browser to the same path on shop.local instead, so you stay on the name.
- Hot reload. WebSockets pass straight through, so Vite, Next.js and other dev servers reload as usual, over http or https.
- Servers on IPv6 or IPv4. Porter reaches a server listening on 127.0.0.1 or on ::1, so either works.
- Why .local? macOS looks up .local names on the Mac itself, so Porter can answer them without changing system files or asking for your password.
- Other devices. Names work only on the Mac running Porter, and Porter only answers requests from that Mac. Your phone or another computer can't open them.
HTTPS5
- Turn it on. In Settings, click Turn On next to HTTPS. macOS asks for your password or Touch ID once, to trust Porter's certificate. After that every name opens over https:// with a padlock.
- New names. Porter issues one certificate for all your names and updates it whenever you add, rename or remove one. There's nothing to do.
- What you're trusting. Porter creates its own certificate authority on your Mac, and it can only vouch for .local names. It can't be used for real websites, and its key never leaves your Mac.
- Turn it off. Click Turn Off in Settings. Porter removes its certificate from your keychain (macOS asks for your password again) and deletes it. Turning HTTPS on later makes a fresh one.
- Firefox. Firefox keeps its own list of trusted certificates and may show a warning. Safari and Chrome use the one on your Mac.
Requests and stopped servers3
- Recent requests. Each name's page lists requests as they arrive: time, method, path, status and how long the response took. WebSockets show as WS with status 101. The list keeps the last 200 and clears when Porter quits; Clear empties it any time.
- Not running. When nothing answers on a name's port, its dot turns into a ring and its page says which folder to start the server in and when it last answered.
- The waiting page. Meanwhile the browser shows a waiting page that reloads by itself once your server answers. Turn it off in Settings to show a plain error instead.
If something doesn't work4
- The name doesn't open. Check that Porter is running (its icon is in the menu bar) and that the name's dot is green. A ring means your server isn't listening on that port yet.
- Another app uses port 80 or 443. Porter listens on IPv4 and IPv6 separately. If another app holds IPv4, Porter answers on IPv6, which browsers try first, and Settings says so. If both are taken, Porter moves to port 8080 (or 8443 for HTTPS) and the addresses include the port.
- Your server rejects the request. Some servers only accept their own host name. Turn on Send shop.local to the server for that name, or allow the name in your framework's settings.
- The browser warns about the certificate. Open Settings: if HTTPS says the Mac doesn't trust Porter's certificate, click Trust… and approve the macOS prompt.
Updates3
- Automatic checks. Porter checks for a new version once a day. When one is ready, a note with an Update button appears in the sidebar and the menu bar; click it to see what's new and install. Porter relaunches in a few seconds and your names come back.
- Check now. Choose Porter → Check for Updates…, or use the Updates section in Settings, where you can also turn automatic checks off.
- Signed updates. Every update is signed by us and notarized by Apple, and Porter refuses anything that isn't.