This repository contains various filesystem providers for Chrome OS. They offer a way to access files stored on remote servers through the Files app, from a variety of sources. There are two categories of provider:
- Protocol providers. These connect to arbitrary servers over a particular protocol, like WebDAV or FTP.
- Cloud providers. These connect to particular accounts on various proprietary cloud storage services like Dropbox and Amazon S3.
Providers that mount archive files like ZIP and RAR as file systems are considered to be separate category again and are not included in this repository: they are part of core Chromium.
Work has started on the following providers
- WebDAV
- Supports all read and write operations.
- Authentication not supported at this time.
- Amazon S3
- Supports all read operations and all non-recursive write operations.
- Authentication supported through access and secret key.
- Dropbox
They can be found in their respective directories with this repository. Please refer to each provider's own readme for installation and usage instructions.
There are many more providers we would like to implement, including
- SFTP
- Google Cloud Storage
- Samba
- Git
- Box
To work on any of these providers, you will need Git, Node.js, Google Chrome and Make installed. You should also install Grunt and Bower globally:
$ npm install -g grunt-cli bower
Then you can get the repository installed:
$ git clone https://github.com/google/chromeos-filesystems
$ cd chromeos-filesystems
$ bower install
All providers read the files needed by their unit tests from the server in the testserver
directory. To start it:
$ cd testserver
$ npm install
$ node server.js &
The Photoshop project files for the various sizes of icon for each provider are contained in the psd
directory in the provider's directory. You will need to install Photoshop or a PSD-compatible image editor to edit them. Rendered icons are stored in extension/icon
.
It will then run indefinitely in the background on port 8000. This can be changed by modifying config.js
.
Please refer to the wiki page for instructions on how to create your own provider. Remember to follow the guidelines for contributing to this repository.
All providers are licensed under the BSD license. See the LICENSE file for details. All original source code is Copyright 2014 The Chromium Authors.