Go to file
albertony 0093e23e42 mount: changed handling of volume name (Windows and OSX)
Fixes an issue on Windows where mounting the local filesystem in network mode failed
when not using option --volname. Reason was that the volume name in network mode
is a network share path in the basic UNC format, and characters that are invalid
in regular file and directory names are also invalid in such a path. And the default
volume name would typically include a '?', which is invalid, from the unc path of
the local, e.g. "\\server\\? C  Temp".

The fix is to use an encoder to encode invalid characters such as '?' with the unicode
equivalent, similar to how rclone encodes filesystem paths in normal operations,
when mounting in network mode. Also performs some automatic cleanup of path separators,
but in general, tries to be conservative on restrictions, and instead rely on --volname
being set to something realistic.

Existing strategy to replace the two characters ':' and '/' with space, regardless of
mounting mode variant, was removed. For network mode the new approach handles these in
a better way. Also the existing method did not apply at all when using the implicit
network mode where volume names are taken from mountpath instead of volname option
("rclone mount remote:path/to/files \\cloud\remote"). For non-network mode they were not
needed.

Default volume names, when not specified by user, will be different with this change.

See: #6234
2023-03-03 20:59:45 +01:00
.github build: update to go1.20 2023-02-03 20:15:15 +00:00
backend s3: make purge remove directory markers too 2023-03-03 15:51:00 +00:00
bin build: correct building for ARMv5 and ARMv6 2023-02-04 13:32:26 +01:00
cmd mount: changed handling of volume name (Windows and OSX) 2023-03-03 20:59:45 +01:00
cmdtest test: replace defer cleanup with `t.Cleanup` 2022-12-09 14:38:05 +00:00
contrib serve/docker: build docker plugin for multiple platforms #5668 2021-10-21 13:01:23 +03:00
docs Add NodudeWasTaken to contributors 2023-03-03 09:51:23 +00:00
fs accounting: show checking tag if available even on transfers 2023-03-01 11:10:38 +00:00
fstest seafile: renew library password - fixes #6662 2023-01-15 16:26:29 +00:00
graphics build: Add file properties and icon to Windows executable (fixes #4304) 2020-06-11 09:26:14 +01:00
lib bucket: add Join function for a simplified path.Join 2023-03-03 15:51:00 +00:00
librclone config: add config/setpath for setting config path via rc/librclone 2022-12-15 12:41:30 +00:00
vfs all: Apply codeql fixes 2023-02-23 10:31:51 +00:00
.gitattributes build: add azure pipelines build 2019-08-06 10:31:32 +01:00
.gitignore chunker: fix md5all test for no-meta test remotes 2021-10-18 18:04:07 +03:00
.golangci.yml build: fix lint option max-issues-per-linter 2022-09-14 12:11:54 +01:00
CONTRIBUTING.md all: fix spelling across the project 2022-08-30 11:16:26 +02:00
COPYING Initial commit - some small parts working 2012-11-18 17:32:31 +00:00
Dockerfile build: add an rclone user to the Docker image but don't use it by default 2021-02-11 17:45:44 +00:00
MAINTAINERS.md storj: rename tardigrade backend to storj backend #5616 2022-02-11 11:04:15 +00:00
MANUAL.html Version v1.61.0 2022-12-20 17:16:14 +00:00
MANUAL.md Version v1.61.0 2022-12-20 17:16:14 +00:00
MANUAL.txt Version v1.61.0 2022-12-20 17:16:14 +00:00
Makefile Add compiletest target to compile all the tests only 2022-12-15 12:38:09 +00:00
README.md s3: add Liara LOS to provider list 2022-12-06 12:25:23 +00:00
RELEASE.md docs: correct RELEASE procedure for stable branch 2022-12-23 12:34:04 +00:00
VERSION Start v1.62.0-DEV development 2022-12-20 18:33:59 +00:00
go.mod mega: add --mega-use-https flag 2023-03-02 20:28:10 +00:00
go.sum mega: add --mega-use-https flag 2023-03-02 20:28:10 +00:00
notes.txt docs: spelling: etc. 2020-10-28 18:16:23 +00:00
rclone.1 Version v1.61.0 2022-12-20 17:16:14 +00:00
rclone.go lib: add plugin support 2019-09-29 11:05:10 +01:00

README.md

rclone logo rclone logo

Website | Documentation | Download | Contributing | Changelog | Installation | Forum

Build Status Go Report Card GoDoc Docker Pulls

Rclone

Rclone ("rsync for cloud storage") is a command-line program to sync files and directories to and from different cloud storage providers.

Storage providers

Please see the full list of all storage providers and their features

Virtual storage providers

These backends adapt or modify other storage providers

  • Alias: rename existing remotes 📄
  • Cache: cache remotes (DEPRECATED) 📄
  • Chunker: split large files 📄
  • Combine: combine multiple remotes into a directory tree 📄
  • Compress: compress files 📄
  • Crypt: encrypt files 📄
  • Hasher: hash files 📄
  • Union: join multiple remotes to work together 📄

Features

  • MD5/SHA-1 hashes checked at all times for file integrity
  • Timestamps preserved on files
  • Partial syncs supported on a whole file basis
  • Copy mode to just copy new/changed files
  • Sync (one way) mode to make a directory identical
  • Check mode to check for file hash equality
  • Can sync to and from network, e.g. two different cloud accounts
  • Optional large file chunking (Chunker)
  • Optional transparent compression (Compress)
  • Optional encryption (Crypt)
  • Optional FUSE mount (rclone mount)
  • Multi-threaded downloads to local disk
  • Can serve local or remote files over HTTP/WebDAV/FTP/SFTP/DLNA

Installation & documentation

Please see the rclone website for:

Downloads

License

This is free software under the terms of the MIT license (check the COPYING file included in this package).