t3rm1n4l / go-mega Goto Github PK
View Code? Open in Web Editor NEWA client library in go for mega.co.nz storage service
License: MIT License
A client library in go for mega.co.nz storage service
License: MIT License
Adding this unit test (in the fix-link-dir branch) shows that Link
fails on directories.
func TestExportDir(t *testing.T) {
session := initSession(t)
node := createDir(t, session, "testdir1", session.FS.root)
// Don't include decryption key
retry(t, "Failed to export link (key not included)", func() error {
_, err := session.Link(node, false)
return err
})
// Do include decryption key
retry(t, "Failed to export link (key included)", func() error {
_, err := session.Link(node, true)
return err
})
}
The result of this is
--- FAIL: TestExportDir (2.19s)
mega_test.go:35: Failed to export link (key not included) failed: Access violation
Hello, it would be great if a function to login using session key was written.
I tried to write it by myself, but I don't know how the API works. I will be very happy if someone could tell me the procedure to follow in order to understand the API behaviour and I will be happy to help you with this thing.
Can you add support for downloading a public folder.
Some ISPs like to throttle http
To address this, i can use "use https only" in megacmd, which grants me decent download speeds compared to the poor ones of http only.
Is there any chance you might implement this?
Relevant links:
https://github.com/meganz/MEGAcmd/blob/master/UserGuide.md#https
https://github.com/meganz/sdk/blob/6175b23c702fce7908b9b9adbf922456f48ca86e/examples/megacli.cpp#L7876
https://github.com/meganz/sdk/blob/6175b23c702fce7908b9b9adbf922456f48ca86e/examples/megacli.cpp#L2597
https://github.com/meganz/sdk/blob/6175b23c702fce7908b9b9adbf922456f48ca86e/src/commands.cpp#L53
Currently the folder node does not generate a valid public link. I think it would be useful feature to be able to export folders.
I have tried to do this myself but there's little to no directions on how to use the API to implement something like this.
In case you do not want to include this feature in the library, any hints regarding how it could be done is also appreciated.
Hi, I was reading the code and trying to figure out how login happens and then I found a field in Mega
struct which is named accountVersion
.
What is the meaning of this field?
Fails to build with this error on ARM Ubuntu, running within a Chrome OS chroot using dnschneid/crouton, although given my use of it so far, I find it very reasonable to assume that this would be the case even if I weren't running it the way I am.
(precise)ashlynn@localhost:~/build/go-mega$ make
go build
# _/home/ashlynn/build/go-mega
./utils.go:54: buf.Grow undefined (type *bytes.Buffer has no field or method Grow)
make: *** [build] Error 2
Imported files appear as BAD_ATTRIBUTE
, file size and date are shown ok, only names appear as bad.
Did Mega change how names are sent?
Line 365 in a01a2cd
The alphabet has non-unique characters A
and B
, but starting with golang-1.22 the alpahbet must be unique characters (https://pkg.go.dev/encoding/[email protected]#NewEncoding)
Is there a reason to not use the default characters +
and /
, i.e.
encoding := "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
The full error message that I see:
panic: encoding alphabet includes duplicate symbols
goroutine 86 [running]:
encoding/base64.NewEncoding(...)
/usr/lib/go/src/encoding/base64/base64.go:82
github.com/t3rm1n4l/go-mega.randString(0xa)
/home/portage/tmp/portage/net-misc/rclone-1.63.1/work/go-mod/github.com/t3rm1n4l/[email protected]/utils.go:371 +0x299
github.com/t3rm1n4l/go-mega.(*Mega).Delete(0xc000a86000, 0xc000878270, 0xcb?)
/home/portage/tmp/portage/net-misc/rclone-1.63.1/work/go-mod/github.com/t3rm1n4l/[email protected]/mega.go:1825 +0x11a
github.com/rclone/rclone/backend/mega.(*Fs).deleteNode.func1()
/home/portage/tmp/portage/net-misc/rclone-1.63.1/work/rclone-1.63.1/backend/mega/mega.go:627 +0x45
github.com/rclone/rclone/fs.pacerInvoker(0x1, 0xa, 0x30?)
/home/portage/tmp/portage/net-misc/rclone-1.63.1/work/rclone-1.63.1/fs/pacer.go:88 +0x32
github.com/rclone/rclone/lib/pacer.(*Pacer).call(0xc003b16240, 0xc003b12a20, 0xa)
/home/portage/tmp/portage/net-misc/rclone-1.63.1/work/rclone-1.63.1/lib/pacer/pacer.go:197 +0x7c
github.com/rclone/rclone/lib/pacer.(*Pacer).Call(0xc003b16240, 0xc003b12a20)
/home/portage/tmp/portage/net-misc/rclone-1.63.1/work/rclone-1.63.1/lib/pacer/pacer.go:216 +0x92
github.com/rclone/rclone/backend/mega.(*Fs).deleteNode(0xc000792d00, {0x558902913e70, 0x558903a8dfe0}, 0xc000878270)
/home/portage/tmp/portage/net-misc/rclone-1.63.1/work/rclone-1.63.1/backend/mega/mega.go:626 +0xc5
github.com/rclone/rclone/backend/mega.(*Object).Remove(0x558902913e70?, {0x558902913e70?, 0x558903a8dfe0?})
/home/portage/tmp/portage/net-misc/rclone-1.63.1/work/rclone-1.63.1/backend/mega/mega.go:1202 +0x27
github.com/rclone/rclone/fs/operations.DeleteFileWithBackupDir({0x558902913e70, 0x558903a8dfe0}, {0x558902926b18, 0xc003a69480}, {0x0, 0x0})
/home/portage/tmp/portage/net-misc/rclone-1.63.1/work/rclone-1.63.1/fs/operations/operations.go:739 +0x279
github.com/rclone/rclone/fs/operations.DeleteFilesWithBackupDir.func1()
/home/portage/tmp/portage/net-misc/rclone-1.63.1/work/rclone-1.63.1/fs/operations/operations.go:774 +0xfa
created by github.com/rclone/rclone/fs/operations.DeleteFilesWithBackupDir in goroutine 70
/home/portage/tmp/portage/net-misc/rclone-1.63.1/work/rclone-1.63.1/fs/operations/operations.go:771 +0xd4
I would like to suggest that support for 2FA be added to the roadmap.
That way the account can keep that layer of security while using this tool.
Thank you
I'm encountering an issue with the upload process in my application. Initially, the upload speed begins at a reasonable 129 kB/s, but rather than improving, it steadily decreases until it reaches 1MB uploaded. At that point, the speed abruptly drops to 0.
Have you had this problem? Can you help me solve it?
I tried uploading the same file manually through the browser and this didn't happen.
Hi, rclone mega backend cannot be activated under Debian since it depends on go-mega, which is not packaged (see this issue).
Would it be possible to package go-mega as a Debian package?
How to set download chunk size?
Hi,
I've been trying to use the library to download files off a MEGA account and when I was trying with smaller files it worked great. But when I started to download larger files (>100mb) it started to return unexpected EOF
errors for at least one of the chunks (random chunks on every run).
This behaviour exhibit itself even when I tried different number of download workers (1, default 3, 5 etc)
I couldn't pinpoint exactly why but probably the server closed its connection abruptly, causing the response body to return an error when reading it (could be malformed? but somehow still returning 200 OK status. weird)
The error comes from line 711, ioutil.ReadAll
I've written a workaround that simply retries when ioutil failed to read the body and it fixes the issue. Will create a PR soon.
Is it a bug? is always returns 0
Is this something that is fixable in the library or is it the service that's failing?
I can't really see why it happens and the error description is fairly vague.
Should I just retry X times when getting this error?
Hi, I get this error which seems not handled and it causes a panic on the login method:
panic: runtime error: index out of range [0] with length 0
goroutine 8 [running]:
github.com/t3rm1n4l/go-mega.getMPI(0x1742e48, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/Users/vico/go/src/github.com/t3rm1n4l/go-mega/utils.go:195 +0x191
github.com/t3rm1n4l/go-mega.decryptSessionId(0x0, 0x0, 0x0, 0x0, 0xc003c53110, 0x10, 0x10, 0x0, 0x0, 0x0, ...)
/Users/vico/go/src/github.com/t3rm1n4l/go-mega/utils.go:274 +0x15d
github.com/t3rm1n4l/go-mega.(*Mega).login(0xc0007aba40, 0xc004d59c20, 0x12, 0xc004d59c33, 0x8, 0x0, 0x0)
/Users/vico/go/src/github.com/t3rm1n4l/go-mega/mega.go:574 +0x485
github.com/t3rm1n4l/go-mega.(*Mega).Login(0xc0007aba40, 0xc004d59c20, 0x12, 0xc004d59c33, 0x8, 0x0, 0xc0007aba40)
/Users/vico/go/src/github.com/t3rm1n4l/go-mega/mega.go:588 +0x8c
The MIT license requires that the text of the license be provided with the source code. Could you please add such LICENSE file? It would help for distro integration.
Thanks.
Prologue: I'm using go-mega through rclone
I am here to kindly ask what does it means all of these retry
2020/11/10 09:49:28 DEBUG : *go-mega*: Retry API request 1/10: Try again
2020/11/10 09:49:28 DEBUG : *go-mega*: Retry API request 2/10: Try again
2020/11/10 09:49:28 DEBUG : *go-mega*: pollEvents: Parsing event "t": {"a":"t","t":{"f":[{"h":"3ch3lAiQ","t":0,"a":"SGl3AnM6QwGnzXr8HgcrYujlxkChJWNtY6qQ74mtomNT9ljR87Kjxl8Z7oAM__CV","k":"_kyLsFDdbX8:T9OhFfWcvPdANm1SDphlt9Ymu90E5RIKGS63psjlkkc","p":"7VoliIIS","ts":1604998168,"u":"_kyLsFDdbX8","s":432549}]},"ou":"_kyLsFDdbX8"}
I'm syncing a big folder, near 2500 files. And I counted [from console tools] near 3500 occurences of "try again".
I am doing this debug because I've a lot of problem from logging in on mega that happens 'randomly'.
We sync only one time at hour, and are shipping <20 MBytes / hour of new data.
So this is not a bug for me, but I am here to ask for more infor to investigate if the 2 things could be somehow related [all of there retries and my login problems]
The following code in mega.go crashes with a nil deference at line 909. I suspect that when the retries are exceeded that rsp is nil, so rsp.Body dies. I check for nil is advised. I'd also advise a sleep within the retry to give the server time to recover.
for retry := 0; retry < m.retries+1; retry++ {
rsp, err = client.Do(req)
if err == nil {
if rsp.StatusCode == 200 {
break
} else {
rsp.Body.Close()
}
}
}
chunk_resp, err = ioutil.ReadAll(rsp.Body)
Hello, I always get this error while trying to login in my mega account:
Post "myapikey/cs?id=anID": unsupported protocol scheme ""
.
I thought it was due to 2FA authentication enabled, then I tried to temporarily disable it, but nothing changes.
Hello,
I have an issue with connecting to Mega
$ rclone -vv --mega-debug about mega:
2021/07/29 23:58:23 DEBUG : rclone: Version "v1.56.0" starting with parameters ["rclone" "-vv" "--mega-debug" "about" "mega:"]
2021/07/29 23:58:23 DEBUG : Creating backend with remote "mega:"
2021/07/29 23:58:23 DEBUG : Using config file from "/home/ksj/.config/rclone/rclone.conf"
2021/07/29 23:58:23 DEBUG : mega: detected overridden config - adding "{v6fxV}" suffix to name
2021/07/29 23:58:24 DEBUG : go-mega: Retry API request 1/10: Try again
2021/07/29 23:58:24 DEBUG : go-mega: Retry API request 2/10: Try again
2021/07/29 23:58:24 DEBUG : go-mega: Retry API request 3/10: Try again
2021/07/29 23:58:24 DEBUG : go-mega: Retry API request 4/10: Try again
2021/07/29 23:58:24 DEBUG : go-mega: Retry API request 5/10: Try again
2021/07/29 23:58:24 DEBUG : go-mega: Retry API request 6/10: Try again
2021/07/29 23:58:25 DEBUG : go-mega: Retry API request 7/10: Try again
2021/07/29 23:58:25 DEBUG : go-mega: Retry API request 8/10: Try again
2021/07/29 23:58:27 DEBUG : go-mega: Retry API request 9/10: Try again
2021/07/29 23:58:29 DEBUG : go-mega: Retry API request 10/10: Try again
2021/07/29 23:58:34 Failed to create file system for "mega:": couldn't login: Try again
I tried it on linux and termux with the same version of rclone 1.56.0
On termux first command worked and when I repeated I got this issue. When I deleted storage of termux, copied the rclone config again and test it, it worked again for first command and then every command returns again error code as above.
Can you help me? This issue is only on Mega
Hi, I use your library for an autemation that get shared link of files present in an Mega account. For do that i use the method mega.Link
but there is a way to delete the generated link? Actualy I need to Mega web app, select that file and under "Share" delete the link. Thanks
I'm analyzing fhe protocol for upload file.
With wireshark I sniffed and decrypted TLS traffic while using megacmd.
When there is an upload there is this POST
POST /cs?id=XXXXX&sid=XXXXXX&ak=XXXXXX&lang=en HTTP/1.1
Host: g.api.mega.co.nz
User-Agent: MEGAcmd/1.2.0.7 (debian 11/Linux 5.10.0-8-amd64 x86_64) MegaClient/3.6.9
Accept: */*
Accept-Encoding: deflate, gzip
Content-Type: application/json
Content-Length: 51
[{"a":"u","v":2,"s":12800,"ms":0,"t":["nqJExLDK"]}]
the latest version of go-mega has only a and s key in json. I don't know what means v : 2 I think version, I don't understand what is ms from cpp code. The key t is for targetuser
I hope someone can help to understand better.
When I try to upload 2.7 GB file via megacmd. It crashes with "panic: runtime error: makeslice: len out of range".
Cmd writes the following errors:
root@euhost:~/megacmd# megacmd put /root/backup/www/server-20140924.tar.gz mega: /backups/ams/
Copying /root/backup/www/server-20140924.tar.gz -> mega:/backups/ams/ # 0.00 % o f 2.7GB at 0B/s 0 panic: runtime error: makeslice: len out of range
goroutine 21 [running]:
runtime.panic(0x8220ce0, 0x8494140)
/usr/lib/go/src/pkg/runtime/panic.c:266 +0xac
github.com/t3rm1n4l/go-mega.func·005()
/root/megacmd/.gopath/src/github.com/t3rm1n4l/go-mega/mega.go:869 +0x218
created by github.com/t3rm1n4l/go-mega.(*Mega).UploadFile
/root/megacmd/.gopath/src/github.com/t3rm1n4l/go-mega/mega.go:926 +0xd64
goroutine 1 [runnable]:
github.com/t3rm1n4l/go-mega.(_Mega).UploadFile(0x18748420, 0xbf9d584f, 0x27, 0x1 887dee0, 0xbf9d5860, ...)
/root/megacmd/.gopath/src/github.com/t3rm1n4l/go-mega/mega.go:939 +0x1a9 5
github.com/t3rm1n4l/megacmd/client.(_MegaClient).Put(0x187006e8, 0xbf9d584f, 0x2 7, 0xbf9d5877, 0x12, ...)
/root/megacmd/.gopath/src/github.com/t3rm1n4l/megacmd/client/client.go:4 88 +0x6dd
main.main()
/root/megacmd/main.go:176 +0x13eb
goroutine 3 [syscall]:
os/signal.loop()
/usr/lib/go/src/pkg/os/signal/signal_unix.go:21 +0x21
created by os/signal.init·1
/usr/lib/go/src/pkg/os/signal/signal_unix.go:27 +0x34
goroutine 4 [syscall]:
runtime.goexit()
/usr/lib/go/src/pkg/runtime/proc.c:1394
goroutine 5 [chan receive]:
main.func·002()
/root/megacmd/main.go:105 +0xaa
created by main.main
/root/megacmd/main.go:108 +0x5e1
goroutine 11 [select]:
net/http.(_persistConn).roundTrip(0x188610f0, 0x188b9dc8, 0x188610f0, 0x0, 0x0)
/usr/lib/go/src/pkg/net/http/transport.go:879 +0x595
net/http.(_Transport).RoundTrip(0x187483c0, 0x18808000, 0x188f5314, 0x0, 0x0)
/usr/lib/go/src/pkg/net/http/transport.go:187 +0x2a2
net/http.send(0x18808000, 0xb756aa30, 0x187483c0, 0x0, 0x0, ...)
/usr/lib/go/src/pkg/net/http/client.go:168 +0x2b3
net/http.(_Client).send(0x1870aae0, 0x18808000, 0x33, 0x80673fa, 0x4)
/usr/lib/go/src/pkg/net/http/client.go:100 +0xb0
net/http.(_Client).doFollowingRedirects(0x1870aae0, 0x18808000, 0x82a6e60, 0x0, 0x0, ...)
/usr/lib/go/src/pkg/net/http/client.go:294 +0x50e
net/http.(_Client).Get(0x1870aae0, 0x187f33c0, 0x33, 0x81d34e0, 0x0, ...)
/usr/lib/go/src/pkg/net/http/client.go:248 +0x98
github.com/t3rm1n4l/go-mega.(_Mega).pollEvents(0x18748420)
/root/megacmd/.gopath/src/github.com/t3rm1n4l/go-mega/mega.go:1195 +0x7b 0
created by github.com/t3rm1n4l/go-mega.(*Mega).getFileSystem
/root/megacmd/.gopath/src/github.com/t3rm1n4l/go-mega/mega.go:601 +0x2e5
goroutine 9 [IO wait]:
net.runtime_pollWait(0xb756bcc0, 0x72, 0x0)
/usr/lib/go/src/pkg/runtime/netpoll.goc:116 +0x61
net.(_pollDesc).Wait(0x1872f478, 0x72, 0xb756a910, 0xb)
/usr/lib/go/src/pkg/net/fd_poll_runtime.go:81 +0x35
net.(_pollDesc).WaitRead(0x1872f478, 0xb, 0xb756a910)
/usr/lib/go/src/pkg/net/fd_poll_runtime.go:86 +0x33
net.(_netFD).Read(0x1872f440, 0x1876c000, 0x1000, 0x1000, 0x0, ...)
/usr/lib/go/src/pkg/net/fd_unix.go:204 +0x234
net.(_conn).Read(0x187008b8, 0x1876c000, 0x1000, 0x1000, 0x0, ...)
/usr/lib/go/src/pkg/net/net.go:122 +0xab
crypto/tls.(_block).readFromUntil(0x1876b060, 0xb756bd80, 0x187008b8, 0x5, 0x187 008b8, ...)
/usr/lib/go/src/pkg/crypto/tls/conn.go:459 +0x99
crypto/tls.(_Conn).readRecord(0x1876a000, 0x17, 0x0, 0x8053823)
/usr/lib/go/src/pkg/crypto/tls/conn.go:539 +0xcb
crypto/tls.(_Conn).Read(0x1876a000, 0x188c9000, 0x1000, 0x1000, 0x0, ...)
/usr/lib/go/src/pkg/crypto/tls/conn.go:897 +0xfc
bufio.(_Reader).fill(0x18802900)
/usr/lib/go/src/pkg/bufio/bufio.go:91 +0xe1
bufio.(_Reader).Peek(0x18802900, 0x1, 0x0, 0x0, 0x0, ...)
/usr/lib/go/src/pkg/bufio/bufio.go:119 +0xb3
net/http.(_persistConn).readLoop(0x18741410)
/usr/lib/go/src/pkg/net/http/transport.go:687 +0xa5
created by net/http.(*Transport).dialConn
/usr/lib/go/src/pkg/net/http/transport.go:528 +0x4c7
goroutine 10 [select]:
net/http.(_persistConn).writeLoop(0x18741410)
/usr/lib/go/src/pkg/net/http/transport.go:791 +0x207
created by net/http.(_Transport).dialConn
/usr/lib/go/src/pkg/net/http/transport.go:529 +0x4dc
goroutine 12 [select]:
github.com/t3rm1n4l/megacmd/client.progressBar(0x188b5570, 0x188a8d20, 0x9f99f17 4, 0x0, 0xbf9d584f, ...)
/root/megacmd/.gopath/src/github.com/t3rm1n4l/megacmd/client/utils.go:15 5 +0x4ee
created by github.com/t3rm1n4l/megacmd/client.(*MegaClient).Put
/root/megacmd/.gopath/src/github.com/t3rm1n4l/megacmd/client/client.go:4 85 +0x68d
goroutine 15 [IO wait]:
net.runtime_pollWait(0xb756bc54, 0x72, 0x0)
/usr/lib/go/src/pkg/runtime/netpoll.goc:116 +0x61
net.(_pollDesc).Wait(0x18897c78, 0x72, 0xb756a910, 0xb)
/usr/lib/go/src/pkg/net/fd_poll_runtime.go:81 +0x35
net.(_pollDesc).WaitRead(0x18897c78, 0xb, 0xb756a910)
/usr/lib/go/src/pkg/net/fd_poll_runtime.go:86 +0x33
net.(_netFD).Read(0x18897c40, 0x187a9000, 0x1000, 0x1000, 0x0, ...)
/usr/lib/go/src/pkg/net/fd_unix.go:204 +0x234
net.(_conn).Read(0x1880cfd0, 0x187a9000, 0x1000, 0x1000, 0x0, ...)
/usr/lib/go/src/pkg/net/net.go:122 +0xab
crypto/tls.(_block).readFromUntil(0x1889d540, 0xb756bd80, 0x1880cfd0, 0x5, 0x188 0cfd0, ...)
/usr/lib/go/src/pkg/crypto/tls/conn.go:459 +0x99
crypto/tls.(_Conn).readRecord(0x187ff480, 0x17, 0x0, 0x8053823)
/usr/lib/go/src/pkg/crypto/tls/conn.go:539 +0xcb
crypto/tls.(_Conn).Read(0x187ff480, 0x188f6000, 0x1000, 0x1000, 0x0, ...)
/usr/lib/go/src/pkg/crypto/tls/conn.go:897 +0xfc
bufio.(_Reader).fill(0x18898510)
/usr/lib/go/src/pkg/bufio/bufio.go:91 +0xe1
bufio.(_Reader).Peek(0x18898510, 0x1, 0x0, 0x0, 0x0, ...)
/usr/lib/go/src/pkg/bufio/bufio.go:119 +0xb3
net/http.(_persistConn).readLoop(0x1889ac80)
/usr/lib/go/src/pkg/net/http/transport.go:687 +0xa5
created by net/http.(*Transport).dialConn
/usr/lib/go/src/pkg/net/http/transport.go:528 +0x4c7
goroutine 16 [select]:
net/http.(_persistConn).writeLoop(0x1889ac80)
/usr/lib/go/src/pkg/net/http/transport.go:791 +0x207
created by net/http.(_Transport).dialConn
/usr/lib/go/src/pkg/net/http/transport.go:529 +0x4dc
goroutine 19 [IO wait]:
net.runtime_pollWait(0xb756bbe8, 0x72, 0x0)
/usr/lib/go/src/pkg/runtime/netpoll.goc:116 +0x61
net.(_pollDesc).Wait(0x187f37f8, 0x72, 0xb756a910, 0xb)
/usr/lib/go/src/pkg/net/fd_poll_runtime.go:81 +0x35
net.(_pollDesc).WaitRead(0x187f37f8, 0xb, 0xb756a910)
/usr/lib/go/src/pkg/net/fd_poll_runtime.go:86 +0x33
net.(_netFD).Read(0x187f37c0, 0x188f8000, 0x1000, 0x1000, 0x0, ...)
/usr/lib/go/src/pkg/net/fd_unix.go:204 +0x234
net.(_conn).Read(0x188b9e40, 0x188f8000, 0x1000, 0x1000, 0x188b9e78, ...)
/usr/lib/go/src/pkg/net/net.go:122 +0xab
bufio.(_Reader).fill(0x18898780)
/usr/lib/go/src/pkg/bufio/bufio.go:91 +0xe1
bufio.(_Reader).Peek(0x18898780, 0x1, 0x1, 0x804dfff, 0x1887cf00, ...)
/usr/lib/go/src/pkg/bufio/bufio.go:119 +0xb3
net/http.(_persistConn).readLoop(0x188610f0)
/usr/lib/go/src/pkg/net/http/transport.go:687 +0xa5
created by net/http.(_Transport).dialConn
/usr/lib/go/src/pkg/net/http/transport.go:528 +0x4c7
goroutine 20 [select]:
net/http.(_persistConn).writeLoop(0x188610f0)
/usr/lib/go/src/pkg/net/http/transport.go:791 +0x207
created by net/http.(_Transport).dialConn
/usr/lib/go/src/pkg/net/http/transport.go:529 +0x4dc
goroutine 22 [runnable]:
github.com/t3rm1n4l/go-mega.func·005()
/root/megacmd/.gopath/src/github.com/t3rm1n4l/go-mega/mega.go:856
created by github.com/t3rm1n4l/go-mega.(*Mega).UploadFile
/root/megacmd/.gopath/src/github.com/t3rm1n4l/go-mega/mega.go:926 +0xd64
goroutine 23 [runnable]:
github.com/t3rm1n4l/go-mega.func·005()
/root/megacmd/.gopath/src/github.com/t3rm1n4l/go-mega/mega.go:856
created by github.com/t3rm1n4l/go-mega.(*Mega).UploadFile
/root/megacmd/.gopath/src/github.com/t3rm1n4l/go-mega/mega.go:926 +0xd64
goroutine 24 [runnable]:
github.com/t3rm1n4l/go-mega.func·005()
/root/megacmd/.gopath/src/github.com/t3rm1n4l/go-mega/mega.go:856
created by github.com/t3rm1n4l/go-mega.(*Mega).UploadFile
/root/megacmd/.gopath/src/github.com/t3rm1n4l/go-mega/mega.go:926 +0xd64
I don't understand how to do it. There is no method to do this
Hello, this library doesn't support multi-factor authentication I see.
It would be very useful for my purposes, so I would like to see that feature on this library.
I am disposed to help you with it, even if I have no idea where to start from.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.