Skip to content

Repository files navigation

DriveOff app icon

DriveOff

Copy files off a USB drive, Windows → Mac

Download the latest DriveOff release

DriveOff showing a source and destination folder

Get started · What DriveOff does · Use · Privacy · Requirements · For developers

Get started

  1. Download the latest release and unzip it.
  2. Move DriveOff.app to /Applications.
  3. Open it and grant disk access if prompted.

What DriveOff does

  • Plug in your drive, pick a folder, go.
  • Filenames just work on your Mac.
  • Your drive is never touched.
  • Hidden system files are skipped.
  • See what failed and retry.

Use

  1. Select the USB drive.
  2. Select a destination folder.
  3. Click Import.

Failed files appear in the Errors section with paths and reasons.

Privacy and security

  • DriveOff only reads from your drive.
  • Files go straight to the destination you pick.
  • Works offline.

Requirements

  • macOS 11 or later.

For developers

Build, test, and publish

Requires Apple Command Line Tools with Swift 6 and Make.

xcode-select --install

make          # list commands
make run      # run the native SwiftUI app
make test     # run copy engine behavior checks
make check    # lint, test, and build
make build    # build the release executable
make package  # create build/DriveOff.app (ad-hoc signed, local use)
make distribute  # Developer-ID signing + notarize + staple (for releases)
make screenshot  # render docs/screenshot.png from the current UI

Publish a release with:

make release VERSION=1.0.0

This lints, tests, and builds locally, then tags and pushes v1.0.0 to trigger the GitHub Actions release workflow, which publishes DriveOff-1.0.0.zip and its SHA-256 to a new release. Or by hand:

git tag v1.0.0
git push origin v1.0.0

Unsigned builds work out of the box. To sign and notarize, add these repository secrets:

Secret Purpose
DEVELOPER_ID_CERT_P12_B64 Developer ID Application certificate, base64-encoded .p12
DEVELOPER_ID_CERT_PASSWORD Password for the .p12
APPLE_ID Apple ID for notarization
APPLE_TEAM_ID Apple Developer team ID
APPLE_APP_PASSWORD App-specific password for notarytool

Without notarization secrets the app is signed but not notarized; without the certificate secrets it is unsigned. workflow_dispatch runs the same pipeline without publishing, so you can test a branch first.

Structure

  • DriveOffApp — SwiftUI app.
  • DriveOffCore — platform-independent filename and streamed-copy logic.

Made by JB Bouhier

About

Copy files off a USB drive, Windows → Mac

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages