Skip to content
forked from ganeshrvel/openmtp

OpenMTP - Advanced Android File Transfer Application for macOS

License

Notifications You must be signed in to change notification settings

ThalKod/openmtp

 
 

Repository files navigation

OpenMTP | Android File Transfer for macOS

Introduction

Advanced Android File Transfer Application for macOS.

Transferring files between macOS and Android or any other MTP devices has always been a nightmare. There are a few File Transfer MTP apps which are available online but most of them are either too expensive or come with bad UI/UX. The official "Android File Transfer" app for macOS from Google comes with bugs, innumerable limitations, some of which include - not being able to transfer files larger than 4GB, frequent disconnections, unable to rename the folders or files on the android/MTP devices. Most of the other apps available online uses either WiFi or ADB protocol to transfer the files, which is an extremely time-consuming process.

Countless searches to find an app to solve these problems and failing to find one made me restless. So, I took the leap and decided to create an app for us that could help us have a smooth and hassle-free file transfer process from macOS to Android/MTP devices. Created with the objective of giving back to the community, we can all use this app for free in this lifetime.

Features

  • Plug and Play. No hassles, easy and instant connection.
  • Connect via USB cable - Highest data transfer rates.
  • Transfer multiple files which are larger than 4GB in one go.
  • Select between Internal Memory and SD Card.
  • Split pane views for both Local Computer and Android device.
  • Drag 'n Drop your files.
  • Choose between Grid and List view.
  • Use Keyboard Shortcuts to navigate through your files.
  • Safe, Transparent and Open-Source.
  • We don't collect any personally identifiable information.
  • It's FREE and shall ALWAYS remain FREE!!

Download App

Download the Latest Version

Find the latest dmg file from GitHub Releases

Screengrabs

OpenMTP File Explorer

OpenMTP File Transfer

Keyboard Shortcuts

New Folder command+n

Copy command+c

Paste command+v

Delete backspace

Refresh command+r

Folder Up command+b

Select All command+a

Rename command+d

Open enter

Switch Tab command+1

Navigate Left left

Navigate Right right

Navigate Up up

Navigate Down down

Select Multiple Items Forward (for Grid view) shift+left

Select Multiple Items Backward (for Grid view) shift+right

Select Multiple Items Forward (for List view) shift+up

Select Multiple Items Backward (for List view) shift+down

Select Multiple Items (using mouse) command+click or shift+click

Building from Source

Requirements: Node.js v10, Git and Yarn package manager

Clone

$ git clone --depth 1 --single-branch --branch master https://github.com/ganeshrvel/openmtp.git

$ cd openmtp
$ yarn

Run

A fresh clone might throw undefined state error. Run the following commands once to fix the issue.

# For Mac and Linux
$ UPGRADE_EXTENSIONS=1 npm run dev

# For Windows
$ set UPGRADE_EXTENSIONS=1 && npm run dev
# Development
$ yarn dev

# Pre-production
$ yarn start

Package

Setup the code signing to build, package and publish the app.

Instructions: https://www.electron.build/code-signing

$ export GH_TOKEN="<github token>"
# For local platform
$ yarn package

# For multiple platforms
$ yarn package-all

Technical Features

  • Built using Electron v4, React v16.4, Redux v4, Webpack v4, Babel v7 and Material UI v3.8
  • Hot module Reload (HMR) for instant feedback.
  • Highly modular.
  • Inbuilt error logging and profile/settings management.
  • Loadables, Dynamic Reducer Injection, Selectors for efficient Code. splitting and performance/startup optimisation.
  • Industry standard State management.
  • JSS, SASS/SCSS styling.
  • Port assigned: 4642

Configurations

  • config/env/env.dev.js and config/env/env.prod.js contain the PORT number of the app.
  • config/dev-app-update.yml file holds the GitHub repo variables required by electron-updater.
  • config/google-analytics-key.js file contains the Google Analytics Tracking ID.
  • package.json build.publish object holds the values for publishing the packaged application.
  • app/constants folder contains all the constants required by the app.

Debugging

# Debugging Guide

electron-react-boilerplate/electron-react-boilerplate#400

# Dispatching redux actions from the main process

electron-react-boilerplate/electron-react-boilerplate#118

electron-react-boilerplate/electron-react-boilerplate#108

# VM112:2 Uncaught TypeError: Cannot read property 'state' of undefined error

# For Mac and Linux
$ UPGRADE_EXTENSIONS=1 npm run dev

# For Windows
$ set UPGRADE_EXTENSIONS=1 && npm run dev

More repos

Accolades and Credits

Contribute

If you are interested in fixing issues and contributing directly to the code base, please see the guidelines.

Buy me a coffee

Help me keep the app FREE and open for all. Paypal me: paypal.me/ganeshrvel

Contacts

Please feel free to contact me at [email protected]

License

OpenMTP | Android File Transfer for macOS is released under MIT License.

Copyright © 2018-Present Ganesh Rathinavel

About

OpenMTP - Advanced Android File Transfer Application for macOS

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 82.6%
  • CSS 11.4%
  • HTML 6.0%