forked from TrueCloudLab/rclone
Compare commits
12 commits
master
...
v1.61-stab
Author | SHA1 | Date | |
---|---|---|---|
|
486e713337 | ||
|
46e96918dc | ||
|
639b61de95 | ||
|
b03ee4e9e7 | ||
|
176af2b217 | ||
|
6be0644178 | ||
|
0ce5e57c30 | ||
|
bc214291d5 | ||
|
d3e09d86e0 | ||
|
5a9706ab61 | ||
|
cce4340d48 | ||
|
577693e501 |
48 changed files with 262 additions and 198 deletions
72
MANUAL.html
generated
72
MANUAL.html
generated
|
@ -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 "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)</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
55
MANUAL.md
generated
|
@ -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
58
MANUAL.txt
generated
|
@ -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
|
||||
|
|
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
|||
v1.61.0
|
||||
v1.61.1
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
})
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "Bisync"
|
||||
description: "Bidirectional cloud sync solution in rclone"
|
||||
versionIntroduced: "v1.58.0"
|
||||
versionIntroduced: "v1.58"
|
||||
---
|
||||
|
||||
## Getting started {#getting-started}
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "Chunker"
|
||||
description: "Split-chunking overlay remote"
|
||||
versionIntroduced: "v1.50.0"
|
||||
versionIntroduced: "v1.50"
|
||||
status: Beta
|
||||
---
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "Compress"
|
||||
description: "Compression Remote"
|
||||
versionIntroduced: "v1.54.0"
|
||||
versionIntroduced: "v1.54"
|
||||
status: Experimental
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "Docker Volume Plugin"
|
||||
description: "Docker Volume Plugin"
|
||||
versionIntroduced: "v1.56.0"
|
||||
versionIntroduced: "v1.56"
|
||||
---
|
||||
|
||||
# Docker Volume Plugin
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "1Fichier"
|
||||
description: "Rclone docs for 1Fichier"
|
||||
versionIntroduced: "v1.49.0"
|
||||
versionIntroduced: "v1.49"
|
||||
---
|
||||
|
||||
# {{< icon "fa fa-archive" >}} 1Fichier
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
```
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "GUI"
|
||||
description: "Web based Graphical User Interface"
|
||||
versionIntroduced: "v1.49.0"
|
||||
versionIntroduced: "v1.49"
|
||||
---
|
||||
|
||||
# GUI (Experimental)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "Hasher"
|
||||
description: "Better checksums for other remotes"
|
||||
versionIntroduced: "v1.57.0"
|
||||
versionIntroduced: "v1.57"
|
||||
status: Experimental
|
||||
---
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "HiDrive"
|
||||
description: "Rclone docs for HiDrive"
|
||||
versionIntroduced: "v1.59.0"
|
||||
versionIntroduced: "v1.59"
|
||||
---
|
||||
|
||||
# {{< icon "fa fa-cloud" >}} HiDrive
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "Koofr"
|
||||
description: "Rclone docs for Koofr"
|
||||
versionIntroduced: "v1.47.0"
|
||||
versionIntroduced: "v1.47"
|
||||
---
|
||||
|
||||
# {{< icon "fa fa-suitcase" >}} Koofr
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "Mailru"
|
||||
description: "Mail.ru Cloud"
|
||||
versionIntroduced: "v1.50.0"
|
||||
versionIntroduced: "v1.50"
|
||||
---
|
||||
|
||||
# {{< icon "fas fa-at" >}} Mail.ru Cloud
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "Memory"
|
||||
description: "Rclone docs for Memory backend"
|
||||
versionIntroduced: "v1.51.0"
|
||||
versionIntroduced: "v1.51"
|
||||
---
|
||||
|
||||
# {{< icon "fas fa-memory" >}} Memory
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "Seafile"
|
||||
description: "Seafile"
|
||||
versionIntroduced: "v1.52.0"
|
||||
versionIntroduced: "v1.52"
|
||||
---
|
||||
|
||||
# {{< icon "fa fa-server" >}} Seafile
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "Sia"
|
||||
description: "Remote for Sia Decentralized Cloud"
|
||||
versionIntroduced: "v1.57.0"
|
||||
versionIntroduced: "v1.57"
|
||||
date: "2019-10-02"
|
||||
---
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "Storj"
|
||||
description: "Rclone docs for Storj"
|
||||
versionIntroduced: "v1.52.0"
|
||||
versionIntroduced: "v1.52"
|
||||
---
|
||||
|
||||
# {{< icon "fas fa-dove" >}} Storj
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "SugarSync"
|
||||
description: "Rclone docs for SugarSync"
|
||||
versionIntroduced: "v1.51.0"
|
||||
versionIntroduced: "v1.51"
|
||||
---
|
||||
|
||||
# {{< icon "fas fa-dove" >}} SugarSync
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "Tardigrade"
|
||||
description: "Rclone docs for Tardigrade"
|
||||
versionIntroduced: "v1.52.0"
|
||||
versionIntroduced: "v1.52"
|
||||
---
|
||||
|
||||
# {{< icon "fas fa-dove" >}} Tardigrade
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "Uptobox"
|
||||
description: "Rclone docs for Uptobox"
|
||||
versionIntroduced: "v1.56.0"
|
||||
versionIntroduced: "v1.56"
|
||||
---
|
||||
|
||||
# {{< icon "fa fa-archive" >}} Uptobox
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "Zoho"
|
||||
description: "Zoho WorkDrive"
|
||||
versionIntroduced: "v1.54.0"
|
||||
versionIntroduced: "v1.54"
|
||||
---
|
||||
|
||||
# {{< icon "fas fa-folder" >}} Zoho Workdrive
|
||||
|
|
|
@ -1 +1 @@
|
|||
v1.61.0
|
||||
v1.61.1
|
|
@ -1,4 +1,4 @@
|
|||
package fs
|
||||
|
||||
// VersionTag of rclone
|
||||
var VersionTag = "v1.61.0"
|
||||
var VersionTag = "v1.61.1"
|
||||
|
|
|
@ -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
87
rclone.1
generated
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue