PTP/IP · No cable · No vendor app

Pull photos off your Wi-Fi Nikon
straight to your device

AeroShutter connects to Wi-Fi-enabled Nikon cameras — most D-series DSLRs and Z mirrorless — over their native PTP/IP protocol and streams your shots down fast. A click-first terminal app and an iOS & Android companion; no USB cable, no clunky manufacturer software.

Download Get started Star on GitHub

Tuned for D5300 · D5500 · D5600 · D7200 · D500 · D750 · D850 · Z 6 · Z 7 and more →

● connected  NIKON D5300      batt 78%  ·  wifi 192.168.1.1  ·  0 files
──────────────────────────────────────────────────────────
 Files · filter: new (12)              Preview
 ▸ ✓ NEF DSC_0214.NEF  24.1 MB          ╭────────────────────╮
     JPG DSC_0213.JPG   8.4 MB          │                    │
     NEF DSC_0212.NEF  24.3 MB ✓        │     (thumbnail)    │
     MOV DSC_0211.MOV 182.0 MB ✓        │                    │
     JPG DSC_0210.JPG   7.9 MB ✓        ╰────────────────────╯
──────────────────────────────────────────────────────────
 importing DSC_0214.NEF (3/12)
 ░░░░░░░░░░░░░░░░░░░░░░░░  0 MB/s · 9 left · eta 41s

Built for speed and reliability

A ground-up PTP/IP implementation, tuned for the realities of camera Wi-Fi.

Fast, resumable transfer

Streams to disk in 4 MiB chunks over an enlarged TCP window. Interrupted downloads resume where they stopped; memory stays flat on any file size.

Native PTP/IP

Speaks the camera's own ISO 15740 protocol on TCP port 15740 — dual command/event sockets, the full handshake, and transactions. No vendor SDK.

Rock-solid connection

App-level keep-alive, instant disconnect detection, and automatic reconnect with backoff keep the link up through idle periods and Wi-Fi hiccups.

Instant auto-import

Reacts to the camera's live ObjectAdded events — new shots land on your device the moment you take them, plus the camera's "Send to smart device" queue.

Thumbnails in your terminal

Inline JPEG previews via the Kitty / iTerm2 graphics protocols, with an ANSI half-block fallback so previews work in every color terminal.

Smart, deduped library

Imports organize by capture date and are recorded in SQLite, so re-imports skip existing files instantly. Filter by new, RAW, JPEG, or a selection.

Keeps you online

On mobile, the camera socket binds to Wi-Fi while your phone keeps cellular data — no all-or-nothing Wi-Fi takeover. On desktop, any second interface works.

Live over-the-air updates

The mobile app updates itself over the air from GitHub Releases — self-hosted, zero-cost, with automatic rollback safety.

Cross-platform

A single static Go binary for macOS, Linux and Windows, and a Capacitor app for iOS & Android. Try the whole mobile flow in your browser, no camera needed.

Two apps, one protocol core

Pick the terminal for raw speed, or the mobile app for on-the-go control.

Terminal

aero-shutter

  • Click-first TUI in the spirit of lazygit & btop — everything clickable, keys optional
  • Inline thumbnail previews right in the terminal
  • Watch mode + auto-import as you shoot
  • Multi-camera discovery and switching
  • Pure Go, single static binary, no CGO
Download binary →
iOS & Android

AeroShutter Mobile

  • A "darkroom instrument" design with a one-tap connect flow
  • Join the camera's Wi-Fi from inside the app
  • Gallery, full-screen viewer, and remote capture
  • Keeps mobile-data internet alive while connected
  • Live over-the-air updates
Get the app →
macOS Android Windows Linux

Works with your Nikon

Most Wi-Fi Nikon D-series DSLRs and Z mirrorless work out of the box. Popular bodies get tuned profiles; the wider family that Nikon's Wireless Mobile Utility covers connects through a generic PTP/IP profile.

Tuned profiles
D5300D5500D5600D7100 D7200D500D750D850 Z 50Z 6Z 7
Also connects — the Wireless Mobile Utility family
D3200D3300D610D810 DfNikon 1 J3Nikon 1 S1Nikon 1 AW1 Coolpix ACoolpix P340Coolpix P900Coolpix S9700 + WU-1a / WU-1b bodies

Any camera that speaks PTP/IP over its Wi-Fi — the same protocol WMU uses — connects through the generic profile; the tuned bodies get model-specific thumbnails, chunk sizes and remote-control support.

Connect in three steps

Zero-config — you never type an IP address.

01

Turn on camera Wi-Fi

On the D5300: MENU → Setup → Wi-Fi → Enable. The camera becomes its own access point.

02

Join the network

Tap "Connect to camera" in the app (or join "Nikon_WU2_…" in your phone's Wi-Fi settings).

03

It connects itself

AeroShutter auto-detects the camera and opens a session — no address to enter.