Skip to content

Drive Overview ​

Add, edit, and enable Drives under Admin → Drives. After saving the configuration, click Reload Drives before the running virtual directory tree will use the new configuration.

Built-in types ​

DriveRead/writeNative file moveNative file copyTransfer behavior
Local FileYesYesNoCopies are handled by a generic go-drive job
FTPYesYesNoFile contents pass through go-drive
SFTPYesYesNoFile contents pass through go-drive
WebDAVYesYesYes (files)Uses remote COPY/MOVE
S3YesYesYes (files)Browser direct upload/download or forced proxy
OneDriveYesYesYes (files)Browser direct upload/download or forced proxy
Google DriveYesYesYes (files)Supports exporting native Google files
MEGAYesYesNoClient-side encryption; file contents pass through go-drive

“Native copy” means the remote service can copy a file within the same Drive. Directory copies, cross-Drive copies, and types without native copy support are recursively read and written by go-drive, consuming server bandwidth and temporary space.

Cache ​

FTP, SFTP, WebDAV, S3, OneDrive, and Google Drive provide cache_ttl. A value greater than zero caches directory entries to reduce remote requests. After a configuration change or a direct change in the external system, the interface may briefly show stale content. MEGA keeps its node tree in memory after login, so it has no entry cache.

  • Normal interface operations try to invalidate the relevant cache entries.
  • External changes do not notify go-drive.
  • Clear a specific Drive under Admin → Other → Clear Cache.
  • Set the value to zero or below to disable entry caching for that Drive, at the cost of more remote requests.

Proxied uploads and downloads ​

S3, OneDrive, and similar types provide Proxy upload and Proxy download options:

  • With proxying disabled, the browser can communicate directly with the cloud service, reducing go-drive traffic. Cloud CORS, domains, and hotlink protection must be configured correctly.
  • With proxying enabled, traffic passes through go-drive. Deployment is simpler, but it consumes server bandwidth, connections, and temporary space.

Cross-Drive operations and background jobs may always pass through the server, so browser upload behavior alone is not enough to estimate bandwidth usage.

Paths and mounts ​

The Drive name forms part of the virtual root directory. Any file or directory can also be mounted elsewhere; permissions for a mounted item are evaluated at the mount location. See Path Attributes and Mounts.

Script Drives ​

Extensions such as Dropbox and Qiniu are implemented in JavaScript and must be installed under Admin → Other Drives. Scripts and browser uploaders are trusted code. Review their source before installation; see Script Drives.

Released under the MIT License.