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

“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 all 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.

  • 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.