Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hanwen/go-mtpfs
Mount MTP devices over FUSE
https://github.com/hanwen/go-mtpfs
Last synced: 3 days ago
JSON representation
Mount MTP devices over FUSE
- Host: GitHub
- URL: https://github.com/hanwen/go-mtpfs
- Owner: hanwen
- License: other
- Created: 2012-04-24T14:16:36.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2023-11-24T23:25:38.000Z (about 1 year ago)
- Last Synced: 2024-12-02T03:05:16.521Z (10 days ago)
- Language: Go
- Size: 277 KB
- Stars: 682
- Watchers: 31
- Forks: 85
- Open Issues: 30
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING
- License: LICENSE
Awesome Lists containing this project
- awesome-fuse-fs - go-mtpfs - Mount MTP devices over FUSE. (Built On)
README
### INTRODUCTION
Go-mtpfs is a simple FUSE filesystem for mounting Android devices as a
MTP device.It will expose all storage areas of a device in the mount, and only
reads file metadata as needed, making it mount quickly. It uses
Android extensions to read/write partial data, so manipulating large
files requires no extra space in /tmp.It has been tested on various flagship devices (Galaxy Nexus, Xoom,
Nexus 7). As of Jan. 2013, it uses a pure Go implementation of MTP,
which is based on libusb.### COMPILATION
* Install the Go compiler suite; e.g. on Ubuntu:
```
sudo apt-get install golang-go
```
* Install libmtp header files
```
sudo apt-get install libusb1-devel
```
* Then check out go-mtpfs, and run
```
go build ./
```
This will leave a binary `go-mtpfs`* You may need some tweaking to get libusb to compile. See the
comment near the top of https://github.com/hanwen/usb/usb.go.* 32-bit and 64-bit linux x86 binaries are at
https://hanwen.home.xs4all.nl/public/software/go-mtpfs/
### USAGE
```
mkdir xoom
go-mtpfs xoom &
cp -a ~/Music/Some-Album xoom/Music/
fusermount -u xoom
```
After a file is closed (eg. if "cp" completes), it is safe to unplug
the device; the filesystem then will continue to function, but
generates I/O errors when it reads from or writes to the device.### CAVEATS
* It does not implement rename between directories, because the
Android stack does not implement it.* It does not implement Event handling, ie. it will not notice changes
that the phone makes to the media database while connected.* Some Sony Xperia devices claim to implement Android extension, but
don't. See [issue
#104](https://github.com/hanwen/go-mtpfs/issues/104). Symptom:AndroidGetPartialObject64 failed: OperationNotSupported
In this case, disable Android extensions with the flag -android=0
### FEEDBACK
You can send your feedback through the issue tracker at
https://github.com/hanwen/go-mtpfs### DISCLAIMER
This is not an official Google product.