diff --git a/backend/mega/mega.go b/backend/mega/mega.go index 92176c795..d9a218eee 100644 --- a/backend/mega/mega.go +++ b/backend/mega/mega.go @@ -83,6 +83,17 @@ than permanently deleting them. If you specify this then rclone will permanently delete objects instead.`, Default: false, Advanced: true, + }, { + Name: "use_https", + Help: `Use HTTPS for transfers. + +MEGA uses plain text HTTP connections by default. +Some ISPs throttle HTTP connections, this causes transfers to become very slow. +Enabling this will force MEGA to use HTTPS for all transfers. +HTTPS is normally not necesary since all data is already encrypted anyway. +Enabling it will increase CPU usage and add network overhead.`, + Default: false, + Advanced: true, }, { Name: config.ConfigEncoding, Help: config.ConfigEncodingHelp, @@ -100,6 +111,7 @@ type Options struct { Pass string `config:"pass"` Debug bool `config:"debug"` HardDelete bool `config:"hard_delete"` + UseHTTPS bool `config:"use_https"` Enc encoder.MultiEncoder `config:"encoding"` } @@ -204,6 +216,7 @@ func NewFs(ctx context.Context, name, root string, m configmap.Mapper) (fs.Fs, e if srv == nil { srv = mega.New().SetClient(fshttp.NewClient(ctx)) srv.SetRetries(ci.LowLevelRetries) // let mega do the low level retries + srv.SetHTTPS(opt.UseHTTPS) srv.SetLogger(func(format string, v ...interface{}) { fs.Infof("*go-mega*", format, v...) }) diff --git a/go.mod b/go.mod index 0bede5ecc..b0fed36a0 100644 --- a/go.mod +++ b/go.mod @@ -56,7 +56,7 @@ require ( github.com/spf13/cobra v1.6.1 github.com/spf13/pflag v1.0.5 github.com/stretchr/testify v1.8.1 - github.com/t3rm1n4l/go-mega v0.0.0-20220725095014-c4e0c2b5debf + github.com/t3rm1n4l/go-mega v0.0.0-20230228171823-a01a2cda13ca github.com/winfsp/cgofuse v1.5.1-0.20221118130120-84c0898ad2e0 github.com/xanzy/ssh-agent v0.3.3 github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a diff --git a/go.sum b/go.sum index fc85d31f6..2b1a42db8 100644 --- a/go.sum +++ b/go.sum @@ -462,6 +462,8 @@ github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKs github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/t3rm1n4l/go-mega v0.0.0-20220725095014-c4e0c2b5debf h1:Y43S3e9P1NPs/QF4R5/SdlXj2d31540hP4Gk8VKNvDg= github.com/t3rm1n4l/go-mega v0.0.0-20220725095014-c4e0c2b5debf/go.mod h1:c+cGNU1qi9bO7ZF4IRMYk+KaZTNiQ/gQrSbyMmGFq1Q= +github.com/t3rm1n4l/go-mega v0.0.0-20230228171823-a01a2cda13ca h1:I9rVnNXdIkij4UvMT7OmKhH9sOIvS8iXkxfPdnn9wQA= +github.com/t3rm1n4l/go-mega v0.0.0-20230228171823-a01a2cda13ca/go.mod h1:suDIky6yrK07NnaBadCB4sS0CqFOvUK91lH7CR+JlDA= github.com/tinylib/msgp v1.0.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= github.com/tklauser/go-sysconf v0.3.11 h1:89WgdJhk5SNwJfu+GKyYveZ4IaJ7xAkecBo+KdJV0CM= github.com/tklauser/go-sysconf v0.3.11/go.mod h1:GqXfhXY3kiPa0nAXPDIQIWzJbMCB7AmcWpGR8lSZfqI=