๐Ÿ“ฆ AppPorts

May 11, 2026 ยท View on GitHub

๐Ÿ“ฆ AppPorts

External drives save the world!

An application migration and linking tool designed specifically for macOS. Easily migrate large applications to external storage while maintaining seamless system functionality.

็ฎ€ไฝ“ไธญๆ–‡๏ฝœOfficial Website๏ฝœDocumentation๏ฝœDeepWiki


โœจ Introduction

Mac's built-in storage space is extremely precious. AppPorts allows you to move applications from your /Applications directory to an external drive (SSD, SD Card, or NAS) with a single click, while keeping a tiny launcher stub in the original location.

To macOS, the app still "exists" locally, allowing you to launch it as usual, but the actual storage is on the external drive. The local stub is so small it's negligible โ€” and Finder shows no shortcut arrow.

โš ๏ธ "AppPorts" is damaged and can't be opened

If you encounter this error (and macOS suggests moving it to the Trash) when opening the app, it is because the application is not signed with an Apple Developer ID. (Note: The command below assumes you have moved AppPorts to the /Applications folder) To fix this, please run the following command in Terminal to remove the quarantine attribute:

xattr -rd com.apple.quarantine /Applications/AppPorts.app

๐Ÿ“ธ Screenshots

Welcome ScreenMain Interface
WelcomeMain
Dark ModeLanguage Switching
DarkLang

๐Ÿš€ Key Features

  • ๐Ÿ“ฆ Arrow-Free Migration: One-click migration of multi-gigabyte applications to external storage. A tiny launcher stub stays locally โ€” Finder shows no shortcut arrow, Launchpad and macOS App Menu work perfectly.
  • ๐Ÿ›ก๏ธ Auto-Update Protection: Automatically detects self-updating apps (Sparkle, Electron, Chrome, etc.) and offers a locked migration option. Locked apps on the external drive are protected from being deleted or overwritten by auto-updaters.
  • โœ๏ธ Code Signature Management: Re-sign migrated apps that show "damaged" warnings, or restore their original signatures. Supports automatic re-signing after data directory migration.
  • ๐Ÿ”ด Orphaned Link Detection: If the external drive is disconnected or an app is deleted, the app list shows a red "Orphaned Link" badge so you can clean up the broken link.
  • ๐ŸŽ macOS 15.1+ App Store Support: On macOS 15.1+, App Store apps can be installed directly to the external drive, and App Store can update them in-place without migrating back.
  • โ†ฉ๏ธ Restore Anytime: One-click restore moves the app back to local storage and removes the link automatically. Interrupted migrations are automatically recovered.
  • ๐Ÿ“Š Data Directory Management: Migrate app data folders (~/Library/ subfolders, dot-folders like ~/.npm) to external storage. Tree view with grouped cards, search, and sorting.
  • ๐ŸŽจ Modern UI: Native SwiftUI, full Dark Mode support, 20+ languages.
  • โ™ฟ๏ธ Accessibility: VoiceOver-friendly with clear semantic labels and a Braille language option.
  • ๐ŸŒ Global Ready: 20+ languages including English, Chinese, Japanese, Korean, German, French, Spanish, Italian, Portuguese, Russian, Arabic, Hindi, Vietnamese, Thai, Turkish, Dutch, Polish, Indonesian, Esperanto, Braille, and ๐Ÿ‘ฝ Martian.

๐Ÿ† Why AppPorts?

AppPorts uses a unique Stub Portal technology โ€” a tiny launcher shell that opens the real app on the external drive. This gives you the best of both worlds: the app looks and behaves as if it's still installed locally, but the storage is on the external drive.

FeatureAppPorts (Stub Portal)Traditional Symlink
Finder Iconโœ… Native (No Arrow)โŒ Arrow Overlay
Launchpadโœ… Perfectโš ๏ธ Unreliable
App Menu (macOS 26)โœ… PerfectโŒ Unsupported
Auto-Update Protectionโœ… Lock ModeโŒ None
Signature Managementโœ… Built-inโŒ None
Orphaned Link Detectionโœ… AutomaticโŒ None

๐Ÿงญ Migration Strategy

AppPorts picks the best migration strategy based on the app's type and behavior:

App TypeStrategyDefaultNotes
Native Mac appsStub Portalโœ… EnabledTiny launcher shell locally, no arrow icon
Self-updating apps (Sparkle, Electron, etc.)Stub Portal + Lockโœ… EnabledExternal app is locked (uchg) to prevent auto-updater damage
iPhone/iPad appsiOS Stub Portalโœ… EnabledIcon extracted from iOS app bundle
Mac App Store appsNative on macOS 15.1+โœ… Auto on 15.1+App Store can update directly on external drive
App suites (Office, Adobe, etc.)Folder symlinkโœ… EnabledEntire folder migrated as a unit
System appsBlockedโŒProtected from migration
Running appsBlockedโŒQuit the app first
Already linked appsBlockedโŒPrevents double-linking

๐Ÿ› ๏ธ Installation

System Requirements

  • macOS 12.0 (Monterey) or newer.

Download and Installation

Please visit the official website or the Releases page to download the latest AppPorts.dmg.

โš ๏ธ Permissions

AppPorts requires Full Disk Access to read and modify /Applications.

  1. Open System Settings โ†’ Privacy & Security.
  2. Select Full Disk Access.
  3. Click the + button, add AppPorts, and turn on the toggle.
  4. Relaunch AppPorts.

(The app includes an in-app guide that can open Settings directly)

๐Ÿง‘โ€๐Ÿ’ป Development

git clone https://github.com/wzh4869/AppPorts.git

Open the project with Xcode and build.

๐Ÿค Contributing

We welcome Issues and Pull Requests! If you find translation errors or have suggestions for new features, please let us know.

AppPorts Heroes ๐Ÿ’—

Advanced Storage Management

  • LazyMount-Mac: Easily expand Mac storage space โ€” Automatically mount SMB shares and cloud storage at startup, no manual operation required.

    The perfect companion for AppPorts. LazyMount connects the storage, AppPorts handles the applications.

    • ๐ŸŽฎ Game Libraries โ€” Store Steam/Epic games on a NAS, play them like local installs
    • ๐Ÿ’พ Time Machine Backups โ€” Back up to a remote server automatically
    • ๐ŸŽฌ Media Libraries โ€” Access your movie/music collection stored on a home server
    • ๐Ÿ“ Project Archives โ€” Keep large files on cheaper storage, access them on-demand
    • โ˜๏ธ Cloud Storage โ€” Mount Google Drive, Dropbox, or any rclone-supported service as a local folder

Star History

Star History Chart

๐Ÿ“„ License

This project is open-source under the Apache License 2.0.


Personal Website โ€ข GitHub