Compare commits

...
Sign in to create a new pull request.

12 commits

Author SHA1 Message Date
Nick Craig-Wood
486e713337 Version v1.61.1 2022-12-23 17:05:30 +00:00
Nick Craig-Wood
46e96918dc docs: fix unescaped HTML 2022-12-23 16:55:03 +00:00
Nick Craig-Wood
639b61de95 lib/http: shutdown all servers on exit to remove unix socket
Before this change only serve http was Shutting down its server which
was causing other servers such as serve restic to leave behind their
unix sockets.

This change moves the finalisation to lib/http so all servers have it
and removes it from serve http.

Fixes #6648
2022-12-23 12:32:46 +00:00
Nick Craig-Wood
b03ee4e9e7 serve webdav: fix running duplicate Serve call
Before this change we were starting the server twice for webdav which
is inefficient and causes problems at exit.
2022-12-23 12:32:46 +00:00
Nick Craig-Wood
176af2b217 serve restic: don't serve via http if serving via --stdio
Before this change, we started the http listener even if --stdio was
supplied.

This also moves the log message so the user won't see the serving via
HTTP message unless they are really using that.

Fixes #6646
2022-12-23 12:32:46 +00:00
Nick Craig-Wood
6be0644178 serve restic: fix immediate exit when not using stdio
In the lib/http refactor

    52443c2444 restic: refactor to use lib/http

We forgot to serve the data and wait for the server to finish. This is
not tested in the unit tests as it is part of the command line
handler.

Fixes #6644 Fixes #6647
2022-12-23 12:32:46 +00:00
Nick Craig-Wood
0ce5e57c30 serve webdav: fix --baseurl handling after lib/http refactor
The webdav library was confused by the Path manipulation done by
lib/http when stripping the prefix.

This patch adds the prefix back before calling it.

Fixes #6650
2022-12-23 12:32:46 +00:00
Nick Craig-Wood
bc214291d5 azureblob: fix "409 Public access is not permitted on this storage account"
This error was caused by rclone supplying an empty
`x-ms-blob-public-access:` header when creating a container for
private access, rather than omitting it completely.

This is a valid way of specifying containers should be private, but if
the storage account has the flag "Blob public access" unset then it
gives "409 Public access is not permitted on this storage account".

This patch fixes the problem by only supplying the header if the
access is set.

Fixes #6645
2022-12-23 12:32:46 +00:00
Kaloyan Raev
d3e09d86e0 s3/storj: update endpoints
Storj switched to a single global s3 endpoint backed by a BGP routing.
We want to stop advertizing the former regional endpoints and have the
global one as the only option.
2022-12-23 12:32:46 +00:00
Anagh Kumar Baranwal
5a9706ab61 rc: set url to the first value of rc-addr since it has been converted to an array of strings now -- fixes #6641
Signed-off-by: Anagh Kumar Baranwal <6824881+darthShadow@users.noreply.github.com>
2022-12-23 12:32:46 +00:00
albertony
cce4340d48 docs: show only significant parts of version number in version introduced label 2022-12-23 12:32:46 +00:00
Nick Craig-Wood
577693e501 Start v1.61.1-DEV development 2022-12-23 12:31:46 +00:00
48 changed files with 262 additions and 198 deletions

72
MANUAL.html generated
View file

@ -19,7 +19,7 @@
<header id="title-block-header">
<h1 class="title">rclone(1) User Manual</h1>
<p class="author">Nick Craig-Wood</p>
<p class="date">Dec 20, 2022</p>
<p class="date">Dec 23, 2022</p>
</header>
<h1 id="rclone-syncs-your-files-to-cloud-storage">Rclone syncs your files to cloud storage</h1>
<p><img width="50%" src="https://rclone.org/img/logo_on_light__horizontal_color.svg" alt="rclone logo" style="float:right; padding: 5px;" ></p>
@ -8574,7 +8574,7 @@ Showing nodes accounting for 1537.03kB, 100% of 1537.03kB total
--use-json-log Use json log format
--use-mmap Use mmap allocator (see docs)
--use-server-modtime Use server modified time instead of object metadata
--user-agent string Set the user-agent to a specified string (default &quot;rclone/v1.61.0&quot;)
--user-agent string Set the user-agent to a specified string (default &quot;rclone/v1.61.1&quot;)
-v, --verbose count Print lots more stuff (repeat for more)</code></pre>
<h2 id="backend-flags">Backend Flags</h2>
<p>These flags are available for every command. They control the backends and may be set in the config file.</p>
@ -12167,7 +12167,7 @@ $ rclone -q --s3-versions ls s3:cleanup-test
</ul></li>
</ul>
<h4 id="s3-endpoint-10">--s3-endpoint</h4>
<p>Endpoint of the Shared Gateway.</p>
<p>Endpoint for Storj Gateway.</p>
<p>Properties:</p>
<ul>
<li>Config: endpoint</li>
@ -12177,17 +12177,9 @@ $ rclone -q --s3-versions ls s3:cleanup-test
<li>Required: false</li>
<li>Examples:
<ul>
<li>"gateway.eu1.storjshare.io"
<li>"gateway.storjshare.io"
<ul>
<li>EU1 Shared Gateway</li>
</ul></li>
<li>"gateway.us1.storjshare.io"
<ul>
<li>US1 Shared Gateway</li>
</ul></li>
<li>"gateway.ap1.storjshare.io"
<ul>
<li>Asia-Pacific Shared Gateway</li>
<li>Global Hosted Gateway</li>
</ul></li>
</ul></li>
</ul>
@ -24607,26 +24599,10 @@ Description: Due to a configuration change made by your administrator, or becaus
<h3 id="can-not-access-shared-with-me-files">Can not access <code>Shared</code> with me files</h3>
<p>Shared with me files is not supported by rclone <a href="https://github.com/rclone/rclone/issues/4062">currently</a>, but there is a workaround:</p>
<ol type="1">
<li><p>Visit <a href="https://onedrive.live.com/">https://onedrive.live.com</a></p></li>
<li><p>Right click a item in <code>Shared</code>, then click <code>Add shortcut to My files</code> in the context</p>
<details>
<p><summary>Screenshot (Shared with me)</summary></p>
<figure>
<img src="https://user-images.githubusercontent.com/60313789/206118040-7e762b3b-aa61-41a1-8649-cc18889f3572.png" alt="" /><figcaption>make_shortcut</figcaption>
</figure>
</details></li>
<li><p>The shortcut will appear in <code>My files</code>, you can access it with rclone, it behaves like a normal folder/file.</p>
<details>
<p><summary>Screenshot (My Files)</summary></p>
<figure>
<img src="https://i.imgur.com/0S8H3li.png" alt="" /><figcaption>in_my_files</figcaption>
</figure>
</details></li>
<li>Visit <a href="https://onedrive.live.com/">https://onedrive.live.com</a></li>
<li>Right click a item in <code>Shared</code>, then click <code>Add shortcut to My files</code> in the context <img src="https://user-images.githubusercontent.com/60313789/206118040-7e762b3b-aa61-41a1-8649-cc18889f3572.png" title="Screenshot (Shared with me)" alt="make_shortcut" /></li>
<li>The shortcut will appear in <code>My files</code>, you can access it with rclone, it behaves like a normal folder/file. <img src="https://i.imgur.com/0S8H3li.png" title="Screenshot (My Files)" alt="in_my_files" /> <img src="https://i.imgur.com/2Iq66sW.png" title="Screenshot (rclone mount)" alt="rclone_mount" /></li>
</ol>
<details>
<p><summary>Screenshot (rclone mount)</summary></p>
<img src="https://i.imgur.com/2Iq66sW.png" title="fig:" alt="rclone_mount" />
</details>
<h1 id="opendrive">OpenDrive</h1>
<p>Paths are specified as <code>remote:path</code></p>
<p>Paths may be as deep as required, e.g. <code>remote:directory/subdirectory</code>.</p>
@ -29580,6 +29556,38 @@ $ tree /tmp/b
<li>"error": return an error based on option value</li>
</ul>
<h1 id="changelog">Changelog</h1>
<h2 id="v1.61.1---2022-12-23">v1.61.1 - 2022-12-23</h2>
<p><a href="https://github.com/rclone/rclone/compare/v1.61.0...v1.61.1">See commits</a></p>
<ul>
<li>Bug Fixes
<ul>
<li>docs:
<ul>
<li>Show only significant parts of version number in version introduced label (albertony)</li>
<li>Fix unescaped HTML (Nick Craig-Wood)</li>
</ul></li>
<li>lib/http: Shutdown all servers on exit to remove unix socket (Nick Craig-Wood)</li>
<li>rc: Fix <code>--rc-addr</code> flag (which is an alternate for <code>--url</code>) (Anagh Kumar Baranwal)</li>
<li>serve restic
<ul>
<li>Don't serve via http if serving via <code>--stdio</code> (Nick Craig-Wood)</li>
<li>Fix immediate exit when not using stdio (Nick Craig-Wood)</li>
</ul></li>
<li>serve webdav
<ul>
<li>Fix <code>--baseurl</code> handling after <code>lib/http</code> refactor (Nick Craig-Wood)</li>
<li>Fix running duplicate Serve call (Nick Craig-Wood)</li>
</ul></li>
</ul></li>
<li>Azure Blob
<ul>
<li>Fix "409 Public access is not permitted on this storage account" (Nick Craig-Wood)</li>
</ul></li>
<li>S3
<ul>
<li>storj: Update endpoints (Kaloyan Raev)</li>
</ul></li>
</ul>
<h2 id="v1.61.0---2022-12-20">v1.61.0 - 2022-12-20</h2>
<p><a href="https://github.com/rclone/rclone/compare/v1.60.0...v1.61.0">See commits</a></p>
<ul>

55
MANUAL.md generated
View file

@ -1,6 +1,6 @@
% rclone(1) User Manual
% Nick Craig-Wood
% Dec 20, 2022
% Dec 23, 2022
# Rclone syncs your files to cloud storage
@ -14729,7 +14729,7 @@ These flags are available for every command.
--use-json-log Use json log format
--use-mmap Use mmap allocator (see docs)
--use-server-modtime Use server modified time instead of object metadata
--user-agent string Set the user-agent to a specified string (default "rclone/v1.61.0")
--user-agent string Set the user-agent to a specified string (default "rclone/v1.61.1")
-v, --verbose count Print lots more stuff (repeat for more)
```
@ -19025,7 +19025,7 @@ Properties:
#### --s3-endpoint
Endpoint of the Shared Gateway.
Endpoint for Storj Gateway.
Properties:
@ -19035,12 +19035,8 @@ Properties:
- Type: string
- Required: false
- Examples:
- "gateway.eu1.storjshare.io"
- EU1 Shared Gateway
- "gateway.us1.storjshare.io"
- US1 Shared Gateway
- "gateway.ap1.storjshare.io"
- Asia-Pacific Shared Gateway
- "gateway.storjshare.io"
- Global Hosted Gateway
#### --s3-endpoint
@ -35278,24 +35274,10 @@ Shared with me files is not supported by rclone [currently](https://github.com/r
1. Visit [https://onedrive.live.com](https://onedrive.live.com/)
2. Right click a item in `Shared`, then click `Add shortcut to My files` in the context
<details>
<summary>Screenshot (Shared with me)</summary>
![make_shortcut](https://user-images.githubusercontent.com/60313789/206118040-7e762b3b-aa61-41a1-8649-cc18889f3572.png)
</details>
![make_shortcut](https://user-images.githubusercontent.com/60313789/206118040-7e762b3b-aa61-41a1-8649-cc18889f3572.png "Screenshot (Shared with me)")
3. The shortcut will appear in `My files`, you can access it with rclone, it behaves like a normal folder/file.
<details>
<summary>Screenshot (My Files)</summary>
![in_my_files](https://i.imgur.com/0S8H3li.png)
</details>
<details>
<summary>Screenshot (rclone mount)</summary>
![rclone_mount](https://i.imgur.com/2Iq66sW.png)
</details>
![in_my_files](https://i.imgur.com/0S8H3li.png "Screenshot (My Files)")
![rclone_mount](https://i.imgur.com/2Iq66sW.png "Screenshot (rclone mount)")
# OpenDrive
@ -41884,6 +41866,27 @@ Options:
# Changelog
## v1.61.1 - 2022-12-23
[See commits](https://github.com/rclone/rclone/compare/v1.61.0...v1.61.1)
* Bug Fixes
* docs:
* Show only significant parts of version number in version introduced label (albertony)
* Fix unescaped HTML (Nick Craig-Wood)
* lib/http: Shutdown all servers on exit to remove unix socket (Nick Craig-Wood)
* rc: Fix `--rc-addr` flag (which is an alternate for `--url`) (Anagh Kumar Baranwal)
* serve restic
* Don't serve via http if serving via `--stdio` (Nick Craig-Wood)
* Fix immediate exit when not using stdio (Nick Craig-Wood)
* serve webdav
* Fix `--baseurl` handling after `lib/http` refactor (Nick Craig-Wood)
* Fix running duplicate Serve call (Nick Craig-Wood)
* Azure Blob
* Fix "409 Public access is not permitted on this storage account" (Nick Craig-Wood)
* S3
* storj: Update endpoints (Kaloyan Raev)
## v1.61.0 - 2022-12-20
[See commits](https://github.com/rclone/rclone/compare/v1.60.0...v1.61.0)

58
MANUAL.txt generated
View file

@ -1,6 +1,6 @@
rclone(1) User Manual
Nick Craig-Wood
Dec 20, 2022
Dec 23, 2022
Rclone syncs your files to cloud storage
@ -14284,7 +14284,7 @@ These flags are available for every command.
--use-json-log Use json log format
--use-mmap Use mmap allocator (see docs)
--use-server-modtime Use server modified time instead of object metadata
--user-agent string Set the user-agent to a specified string (default "rclone/v1.61.0")
--user-agent string Set the user-agent to a specified string (default "rclone/v1.61.1")
-v, --verbose count Print lots more stuff (repeat for more)
Backend Flags
@ -18527,7 +18527,7 @@ Properties:
--s3-endpoint
Endpoint of the Shared Gateway.
Endpoint for Storj Gateway.
Properties:
@ -18537,12 +18537,8 @@ Properties:
- Type: string
- Required: false
- Examples:
- "gateway.eu1.storjshare.io"
- EU1 Shared Gateway
- "gateway.us1.storjshare.io"
- US1 Shared Gateway
- "gateway.ap1.storjshare.io"
- Asia-Pacific Shared Gateway
- "gateway.storjshare.io"
- Global Hosted Gateway
--s3-endpoint
@ -34767,24 +34763,11 @@ Shared with me files is not supported by rclone currently, but there is
a workaround:
1. Visit https://onedrive.live.com
2. Right click a item in Shared, then click Add shortcut to My files in
the context
Screenshot (Shared with me)
[make_shortcut]
the context [make_shortcut]
3. The shortcut will appear in My files, you can access it with rclone,
it behaves like a normal folder/file.
it behaves like a normal folder/file. [in_my_files] [rclone_mount]
Screenshot (My Files)
[in_my_files]
Screenshot (rclone mount)
[rclone_mount]
OpenDrive
Paths are specified as remote:path
@ -41358,6 +41341,33 @@ Options:
Changelog
v1.61.1 - 2022-12-23
See commits
- Bug Fixes
- docs:
- Show only significant parts of version number in version
introduced label (albertony)
- Fix unescaped HTML (Nick Craig-Wood)
- lib/http: Shutdown all servers on exit to remove unix socket
(Nick Craig-Wood)
- rc: Fix --rc-addr flag (which is an alternate for --url) (Anagh
Kumar Baranwal)
- serve restic
- Don't serve via http if serving via --stdio (Nick
Craig-Wood)
- Fix immediate exit when not using stdio (Nick Craig-Wood)
- serve webdav
- Fix --baseurl handling after lib/http refactor (Nick
Craig-Wood)
- Fix running duplicate Serve call (Nick Craig-Wood)
- Azure Blob
- Fix "409 Public access is not permitted on this storage account"
(Nick Craig-Wood)
- S3
- storj: Update endpoints (Kaloyan Raev)
v1.61.0 - 2022-12-20
See commits

View file

@ -1 +1 @@
v1.61.0
v1.61.1

View file

@ -1363,15 +1363,16 @@ func (f *Fs) makeContainer(ctx context.Context, container string) error {
return nil
}
opt := service.CreateContainerOptions{
// Specifies whether data in the container may be accessed publicly and the level of access
Access: &f.publicAccess,
// Optional. Specifies a user-defined name-value pair associated with the blob.
//Metadata map[string]string
// Optional. Specifies the encryption scope settings to set on the container.
//CpkScopeInfo *CpkScopeInfo
}
if f.publicAccess != "" {
// Specifies whether data in the container may be accessed publicly and the level of access
opt.Access = &f.publicAccess
}
// now try to create the container
return f.pacer.Call(func() (bool, error) {
_, err := f.svc.CreateContainer(ctx, container, &opt)

View file

@ -936,17 +936,11 @@ func init() {
}},
}, {
Name: "endpoint",
Help: "Endpoint of the Shared Gateway.",
Help: "Endpoint for Storj Gateway.",
Provider: "Storj",
Examples: []fs.OptionExample{{
Value: "gateway.eu1.storjshare.io",
Help: "EU1 Shared Gateway",
}, {
Value: "gateway.us1.storjshare.io",
Help: "US1 Shared Gateway",
}, {
Value: "gateway.ap1.storjshare.io",
Help: "Asia-Pacific Shared Gateway",
Value: "gateway.storjshare.io",
Help: "Global Hosted Gateway",
}},
}, {
// cos endpoints: https://intl.cloud.tencent.com/document/product/436/6224

View file

@ -156,6 +156,15 @@ func ParseOptions(options []string) (opt map[string]string) {
func setAlternateFlag(flagName string, output *string) {
if rcFlag := pflag.Lookup(flagName); rcFlag != nil && rcFlag.Changed {
*output = rcFlag.Value.String()
if sliceValue, ok := rcFlag.Value.(pflag.SliceValue); ok {
stringSlice := sliceValue.GetSlice()
for _, value := range stringSlice {
if value != "" {
*output = value
break
}
}
}
}
}

View file

@ -11,14 +11,12 @@ import (
"path"
"strconv"
"strings"
"sync"
"time"
"github.com/go-chi/chi/v5/middleware"
"github.com/rclone/rclone/cmd"
"github.com/rclone/rclone/fs"
"github.com/rclone/rclone/fs/accounting"
"github.com/rclone/rclone/lib/atexit"
libhttp "github.com/rclone/rclone/lib/http"
"github.com/rclone/rclone/lib/http/serve"
"github.com/rclone/rclone/vfs"
@ -82,17 +80,6 @@ control the stats printing.
log.Fatal(err)
}
var finaliseOnce sync.Once
finalise := func() {
finaliseOnce.Do(func() {
if err := s.server.Shutdown(); err != nil {
log.Printf("error shutting down server: %v", err)
}
})
}
fnHandle := atexit.Register(finalise)
defer atexit.Unregister(fnHandle)
s.server.Wait()
return nil
})

View file

@ -155,7 +155,6 @@ with a path of ` + "`/<username>/`" + `.
if err != nil {
return err
}
fs.Logf(s.f, "Serving restic REST API on %s", s.URLs())
if s.opt.Stdio {
if terminal.IsTerminal(int(os.Stdout.Fd())) {
return errors.New("refusing to run HTTP2 server directly on a terminal, please let restic start rclone")
@ -173,6 +172,8 @@ with a path of ` + "`/<username>/`" + `.
httpSrv.ServeConn(conn, opts)
return nil
}
fs.Logf(s.f, "Serving restic REST API on %s", s.URLs())
s.Wait()
return nil
})
},
@ -241,6 +242,10 @@ func newServer(ctx context.Context, f fs.Fs, opt *Options) (s *server, err error
cache: newCache(opt.CacheObjects),
opt: *opt,
}
// Don't bind any HTTP listeners if running with --stdio
if opt.Stdio {
opt.HTTP.ListenAddr = nil
}
s.Server, err = libhttp.NewServer(ctx,
libhttp.WithConfig(opt.HTTP),
libhttp.WithAuth(opt.Auth),

View file

@ -199,8 +199,6 @@ func newWebDAV(ctx context.Context, f fs.Fs, opt *Options) (w *WebDAV, err error
router.Method(method, "/*", w)
}
w.Server.Serve()
return w, nil
}
@ -237,6 +235,9 @@ func (w *WebDAV) ServeHTTP(rw http.ResponseWriter, r *http.Request) {
w.serveDir(rw, r, remote)
return
}
// Add URL Prefix back to path since webdavhandler needs to
// return absolute references.
r.URL.Path = w.opt.HTTP.BaseURL + r.URL.Path
w.webdavhandler.ServeHTTP(rw, r)
}

View file

@ -51,6 +51,7 @@ func TestWebDav(t *testing.T) {
start := func(f fs.Fs) (configmap.Simple, func()) {
opt := DefaultOpt
opt.HTTP.ListenAddr = []string{testBindAddress}
opt.HTTP.BaseURL = "/prefix"
opt.Auth.BasicUser = testUser
opt.Auth.BasicPass = testPass
opt.Template.Path = testTemplate

View file

@ -1,7 +1,7 @@
---
title: "Bisync"
description: "Bidirectional cloud sync solution in rclone"
versionIntroduced: "v1.58.0"
versionIntroduced: "v1.58"
---
## Getting started {#getting-started}

View file

@ -5,6 +5,27 @@ description: "Rclone Changelog"
# Changelog
## v1.61.1 - 2022-12-23
[See commits](https://github.com/rclone/rclone/compare/v1.61.0...v1.61.1)
* Bug Fixes
* docs:
* Show only significant parts of version number in version introduced label (albertony)
* Fix unescaped HTML (Nick Craig-Wood)
* lib/http: Shutdown all servers on exit to remove unix socket (Nick Craig-Wood)
* rc: Fix `--rc-addr` flag (which is an alternate for `--url`) (Anagh Kumar Baranwal)
* serve restic
* Don't serve via http if serving via `--stdio` (Nick Craig-Wood)
* Fix immediate exit when not using stdio (Nick Craig-Wood)
* serve webdav
* Fix `--baseurl` handling after `lib/http` refactor (Nick Craig-Wood)
* Fix running duplicate Serve call (Nick Craig-Wood)
* Azure Blob
* Fix "409 Public access is not permitted on this storage account" (Nick Craig-Wood)
* S3
* storj: Update endpoints (Kaloyan Raev)
## v1.61.0 - 2022-12-20
[See commits](https://github.com/rclone/rclone/compare/v1.60.0...v1.61.0)

View file

@ -1,7 +1,7 @@
---
title: "Chunker"
description: "Split-chunking overlay remote"
versionIntroduced: "v1.50.0"
versionIntroduced: "v1.50"
status: Beta
---

View file

@ -1,7 +1,7 @@
---
title: "Combine"
description: "Combine several remotes into one"
versionIntroduced: "v1.59.0"
versionIntroduced: "v1.59"
---
# {{< icon "fa fa-folder-plus" >}} Combine

View file

@ -1,7 +1,7 @@
---
title: "Compress"
description: "Compression Remote"
versionIntroduced: "v1.54.0"
versionIntroduced: "v1.54"
status: Experimental
---

View file

@ -1,7 +1,7 @@
---
title: "Docker Volume Plugin"
description: "Docker Volume Plugin"
versionIntroduced: "v1.56.0"
versionIntroduced: "v1.56"
---
# Docker Volume Plugin

View file

@ -1,7 +1,7 @@
---
title: "1Fichier"
description: "Rclone docs for 1Fichier"
versionIntroduced: "v1.49.0"
versionIntroduced: "v1.49"
---
# {{< icon "fa fa-archive" >}} 1Fichier

View file

@ -1,7 +1,7 @@
---
title: "Enterprise File Fabric"
description: "Rclone docs for the Enterprise File Fabric backend"
versionIntroduced: "v1.54.0"
versionIntroduced: "v1.54"
---
# {{< icon "fa fa-cloud" >}} Enterprise File Fabric

View file

@ -170,7 +170,7 @@ These flags are available for every command.
--use-json-log Use json log format
--use-mmap Use mmap allocator (see docs)
--use-server-modtime Use server modified time instead of object metadata
--user-agent string Set the user-agent to a specified string (default "rclone/v1.61.0")
--user-agent string Set the user-agent to a specified string (default "rclone/v1.61.1")
-v, --verbose count Print lots more stuff (repeat for more)
```

View file

@ -1,7 +1,7 @@
---
title: "Google Photos"
description: "Rclone docs for Google Photos"
versionIntroduced: "v1.49.0"
versionIntroduced: "v1.49"
---
# {{< icon "fa fa-images" >}} Google Photos

View file

@ -1,7 +1,7 @@
---
title: "GUI"
description: "Web based Graphical User Interface"
versionIntroduced: "v1.49.0"
versionIntroduced: "v1.49"
---
# GUI (Experimental)

View file

@ -1,7 +1,7 @@
---
title: "Hasher"
description: "Better checksums for other remotes"
versionIntroduced: "v1.57.0"
versionIntroduced: "v1.57"
status: Experimental
---

View file

@ -1,7 +1,7 @@
---
title: "HDFS Remote"
description: "Remote for Hadoop Distributed Filesystem"
versionIntroduced: "v1.54.0"
versionIntroduced: "v1.54"
---
# {{< icon "fa fa-globe" >}} HDFS

View file

@ -1,7 +1,7 @@
---
title: "HiDrive"
description: "Rclone docs for HiDrive"
versionIntroduced: "v1.59.0"
versionIntroduced: "v1.59"
---
# {{< icon "fa fa-cloud" >}} HiDrive

View file

@ -1,7 +1,7 @@
---
title: "Internet Archive"
description: "Rclone docs for Internet Archive"
versionIntroduced: "v1.59.0"
versionIntroduced: "v1.59"
---
# {{< icon "fa fa-archive" >}} Internet Archive

View file

@ -1,7 +1,7 @@
---
title: "Koofr"
description: "Rclone docs for Koofr"
versionIntroduced: "v1.47.0"
versionIntroduced: "v1.47"
---
# {{< icon "fa fa-suitcase" >}} Koofr

View file

@ -1,7 +1,7 @@
---
title: "Mailru"
description: "Mail.ru Cloud"
versionIntroduced: "v1.50.0"
versionIntroduced: "v1.50"
---
# {{< icon "fas fa-at" >}} Mail.ru Cloud

View file

@ -1,7 +1,7 @@
---
title: "Memory"
description: "Rclone docs for Memory backend"
versionIntroduced: "v1.51.0"
versionIntroduced: "v1.51"
---
# {{< icon "fas fa-memory" >}} Memory

View file

@ -1,7 +1,7 @@
---
title: "Akamai Netstorage"
description: "Rclone docs for Akamai NetStorage"
versionIntroduced: "v1.58.0"
versionIntroduced: "v1.58"
---
# {{< icon "fas fa-database" >}} Akamai NetStorage

View file

@ -721,21 +721,7 @@ Shared with me files is not supported by rclone [currently](https://github.com/r
1. Visit [https://onedrive.live.com](https://onedrive.live.com/)
2. Right click a item in `Shared`, then click `Add shortcut to My files` in the context
<details>
<summary>Screenshot (Shared with me)</summary>
![make_shortcut](https://user-images.githubusercontent.com/60313789/206118040-7e762b3b-aa61-41a1-8649-cc18889f3572.png)
</details>
![make_shortcut](https://user-images.githubusercontent.com/60313789/206118040-7e762b3b-aa61-41a1-8649-cc18889f3572.png "Screenshot (Shared with me)")
3. The shortcut will appear in `My files`, you can access it with rclone, it behaves like a normal folder/file.
<details>
<summary>Screenshot (My Files)</summary>
![in_my_files](https://i.imgur.com/0S8H3li.png)
</details>
<details>
<summary>Screenshot (rclone mount)</summary>
![rclone_mount](https://i.imgur.com/2Iq66sW.png)
</details>
![in_my_files](https://i.imgur.com/0S8H3li.png "Screenshot (My Files)")
![rclone_mount](https://i.imgur.com/2Iq66sW.png "Screenshot (rclone mount)")

View file

@ -1,7 +1,7 @@
---
title: "Oracle Object Storage"
description: "Rclone docs for Oracle Object Storage"
versionIntroduced: "v1.60.0"
versionIntroduced: "v1.60"
---
# {{< icon "fa fa-cloud" >}} Oracle Object Storage

View file

@ -1,7 +1,7 @@
---
title: "premiumize.me"
description: "Rclone docs for premiumize.me"
versionIntroduced: "v1.49.0"
versionIntroduced: "v1.49"
---
# {{< icon "fa fa-user" >}} premiumize.me

View file

@ -1,7 +1,7 @@
---
title: "put.io"
description: "Rclone docs for put.io"
versionIntroduced: "v1.49.0"
versionIntroduced: "v1.49"
---
# {{< icon "fas fa-parking" >}} put.io

View file

@ -1474,7 +1474,7 @@ Properties:
#### --s3-endpoint
Endpoint of the Shared Gateway.
Endpoint for Storj Gateway.
Properties:
@ -1484,12 +1484,8 @@ Properties:
- Type: string
- Required: false
- Examples:
- "gateway.eu1.storjshare.io"
- EU1 Shared Gateway
- "gateway.us1.storjshare.io"
- US1 Shared Gateway
- "gateway.ap1.storjshare.io"
- Asia-Pacific Shared Gateway
- "gateway.storjshare.io"
- Global Hosted Gateway
#### --s3-endpoint

View file

@ -1,7 +1,7 @@
---
title: "Seafile"
description: "Seafile"
versionIntroduced: "v1.52.0"
versionIntroduced: "v1.52"
---
# {{< icon "fa fa-server" >}} Seafile

View file

@ -1,7 +1,7 @@
---
title: "Citrix ShareFile"
description: "Rclone docs for Citrix ShareFile"
versionIntroduced: "v1.50.0"
versionIntroduced: "v1.50"
---
# {{< icon "fas fa-share-square" >}} Citrix ShareFile

View file

@ -1,7 +1,7 @@
---
title: "Sia"
description: "Remote for Sia Decentralized Cloud"
versionIntroduced: "v1.57.0"
versionIntroduced: "v1.57"
date: "2019-10-02"
---

View file

@ -1,7 +1,7 @@
---
title: "SMB / CIFS"
description: "Rclone docs for SMB backend"
versionIntroduced: "v1.60.0"
versionIntroduced: "v1.60"
---
# {{< icon "fa fa-server" >}} SMB

View file

@ -1,7 +1,7 @@
---
title: "Storj"
description: "Rclone docs for Storj"
versionIntroduced: "v1.52.0"
versionIntroduced: "v1.52"
---
# {{< icon "fas fa-dove" >}} Storj

View file

@ -1,7 +1,7 @@
---
title: "SugarSync"
description: "Rclone docs for SugarSync"
versionIntroduced: "v1.51.0"
versionIntroduced: "v1.51"
---
# {{< icon "fas fa-dove" >}} SugarSync

View file

@ -1,7 +1,7 @@
---
title: "Tardigrade"
description: "Rclone docs for Tardigrade"
versionIntroduced: "v1.52.0"
versionIntroduced: "v1.52"
---
# {{< icon "fas fa-dove" >}} Tardigrade

View file

@ -1,7 +1,7 @@
---
title: "Uptobox"
description: "Rclone docs for Uptobox"
versionIntroduced: "v1.56.0"
versionIntroduced: "v1.56"
---
# {{< icon "fa fa-archive" >}} Uptobox

View file

@ -1,7 +1,7 @@
---
title: "Zoho"
description: "Zoho WorkDrive"
versionIntroduced: "v1.54.0"
versionIntroduced: "v1.54"
---
# {{< icon "fas fa-folder" >}} Zoho Workdrive

View file

@ -1 +1 @@
v1.61.0
v1.61.1

View file

@ -1,4 +1,4 @@
package fs
// VersionTag of rclone
var VersionTag = "v1.61.0"
var VersionTag = "v1.61.1"

View file

@ -19,6 +19,7 @@ import (
"github.com/go-chi/chi/v5"
"github.com/rclone/rclone/fs/config/flags"
"github.com/rclone/rclone/lib/atexit"
"github.com/spf13/pflag"
)
@ -145,6 +146,7 @@ type Server struct {
template *TemplateConfig
htmlTemplate *template.Template
usingAuth bool // set if we are using auth middleware
atexitHandle atexit.FnHandle
}
// Option allows customizing the server
@ -390,6 +392,8 @@ func (s *Server) Serve() {
// log.Printf("listening on %s", ii.url)
go ii.serve(&s.wg)
}
// Install an atexit handler to shutdown gracefully
s.atexitHandle = atexit.Register(func() { _ = s.Shutdown() })
}
// Wait blocks while the server is serving requests
@ -402,14 +406,23 @@ func (s *Server) Router() chi.Router {
return s.mux
}
// Time to wait to Shutdown an HTTP server
const gracefulShutdownTime = 10 * time.Second
// Shutdown gracefully shuts down the server
func (s *Server) Shutdown() error {
ctx := context.Background()
// Stop the atexit handler
if s.atexitHandle != nil {
atexit.Unregister(s.atexitHandle)
s.atexitHandle = nil
}
for _, ii := range s.instances {
expiry := time.Now().Add(gracefulShutdownTime)
ctx, cancel := context.WithDeadline(context.Background(), expiry)
if err := ii.httpServer.Shutdown(ctx); err != nil {
log.Printf("error shutting down server: %s", err)
continue
}
cancel()
}
s.wg.Wait()
return nil

87
rclone.1 generated
View file

@ -1,7 +1,7 @@
.\"t
.\" Automatically generated by Pandoc 2.9.2.1
.\"
.TH "rclone" "1" "Dec 20, 2022" "User Manual" ""
.TH "rclone" "1" "Dec 23, 2022" "User Manual" ""
.hy
.SH Rclone syncs your files to cloud storage
.PP
@ -20207,7 +20207,7 @@ These flags are available for every command.
--use-json-log Use json log format
--use-mmap Use mmap allocator (see docs)
--use-server-modtime Use server modified time instead of object metadata
--user-agent string Set the user-agent to a specified string (default \[dq]rclone/v1.61.0\[dq])
--user-agent string Set the user-agent to a specified string (default \[dq]rclone/v1.61.1\[dq])
-v, --verbose count Print lots more stuff (repeat for more)
\f[R]
.fi
@ -26546,7 +26546,7 @@ EU Endpoint
.RE
.SS --s3-endpoint
.PP
Endpoint of the Shared Gateway.
Endpoint for Storj Gateway.
.PP
Properties:
.IP \[bu] 2
@ -26563,22 +26563,10 @@ Required: false
Examples:
.RS 2
.IP \[bu] 2
\[dq]gateway.eu1.storjshare.io\[dq]
\[dq]gateway.storjshare.io\[dq]
.RS 2
.IP \[bu] 2
EU1 Shared Gateway
.RE
.IP \[bu] 2
\[dq]gateway.us1.storjshare.io\[dq]
.RS 2
.IP \[bu] 2
US1 Shared Gateway
.RE
.IP \[bu] 2
\[dq]gateway.ap1.storjshare.io\[dq]
.RS 2
.IP \[bu] 2
Asia-Pacific Shared Gateway
Global Hosted Gateway
.RE
.RE
.SS --s3-endpoint
@ -48342,23 +48330,11 @@ Visit https://onedrive.live.com (https://onedrive.live.com/)
.IP "2." 3
Right click a item in \f[C]Shared\f[R], then click
\f[C]Add shortcut to My files\f[R] in the context
.RS 4
.PP
Screenshot (Shared with me)
.PP
[IMAGE: make_shortcut (https://user-images.githubusercontent.com/60313789/206118040-7e762b3b-aa61-41a1-8649-cc18889f3572.png)]
.RE
.IP "3." 3
The shortcut will appear in \f[C]My files\f[R], you can access it with
rclone, it behaves like a normal folder/file.
.RS 4
.PP
Screenshot (My Files)
.PP
[IMAGE: in_my_files (https://i.imgur.com/0S8H3li.png)]
.RE
.PP
Screenshot (rclone mount)
[IMAGE: rclone_mount (https://i.imgur.com/2Iq66sW.png)]
.SH OpenDrive
.PP
@ -57215,6 +57191,59 @@ Options:
.IP \[bu] 2
\[dq]error\[dq]: return an error based on option value
.SH Changelog
.SS v1.61.1 - 2022-12-23
.PP
See commits (https://github.com/rclone/rclone/compare/v1.61.0...v1.61.1)
.IP \[bu] 2
Bug Fixes
.RS 2
.IP \[bu] 2
docs:
.RS 2
.IP \[bu] 2
Show only significant parts of version number in version introduced
label (albertony)
.IP \[bu] 2
Fix unescaped HTML (Nick Craig-Wood)
.RE
.IP \[bu] 2
lib/http: Shutdown all servers on exit to remove unix socket (Nick
Craig-Wood)
.IP \[bu] 2
rc: Fix \f[C]--rc-addr\f[R] flag (which is an alternate for
\f[C]--url\f[R]) (Anagh Kumar Baranwal)
.IP \[bu] 2
serve restic
.RS 2
.IP \[bu] 2
Don\[aq]t serve via http if serving via \f[C]--stdio\f[R] (Nick
Craig-Wood)
.IP \[bu] 2
Fix immediate exit when not using stdio (Nick Craig-Wood)
.RE
.IP \[bu] 2
serve webdav
.RS 2
.IP \[bu] 2
Fix \f[C]--baseurl\f[R] handling after \f[C]lib/http\f[R] refactor (Nick
Craig-Wood)
.IP \[bu] 2
Fix running duplicate Serve call (Nick Craig-Wood)
.RE
.RE
.IP \[bu] 2
Azure Blob
.RS 2
.IP \[bu] 2
Fix \[dq]409 Public access is not permitted on this storage account\[dq]
(Nick Craig-Wood)
.RE
.IP \[bu] 2
S3
.RS 2
.IP \[bu] 2
storj: Update endpoints (Kaloyan Raev)
.RE
.SS v1.61.0 - 2022-12-20
.PP
See commits (https://github.com/rclone/rclone/compare/v1.60.0...v1.61.0)