Nick Craig-Wood
57d5de6fba
build: fix up package paths after repo move
...
git grep -l github.com/ncw/rclone | xargs -d'\n' perl -i~ -lpe 's|github.com/ncw/rclone|github.com/rclone/rclone|g'
goimports -w `find . -name \*.go`
2019-07-28 18:47:38 +01:00
Aleksandar Jankovic
8243ff8bc8
accounting: isolate stats to groups
...
Introduce stats groups that will isolate accounting for logically
different transferring operations. That way multiple accounting
operations can be done in parallel without interfering with each other
stats.
Using groups is optional. There is dedicated global stats that will be
used by default if no group is specified. This is operating mode for CLI
usage which is just fire and forget operation.
For running rclone as rc http server each request will create it's own
group. Also there is an option to specify your own group.
2019-07-28 14:48:19 +01:00
buengese
19ae053168
rcserver: remove _async key from input parameters after parsing so later operations won't get confused - fixes #3346
2019-07-20 19:35:10 +02:00
Aleksandar Jankovic
5935cb0a29
jobs: add ability to stop async jobs
...
Depends on #3257
2019-06-19 14:17:41 +01:00
Aleksandar Jankovic
f78cd1e043
Add context propagation to rclone
...
- Change rclone/fs interfaces to accept context.Context
- Update interface implementations to use context.Context
- Change top level usage to propagate context to lover level functions
Context propagation is needed for stopping transfers and passing other
request-scoped values.
2019-06-19 11:59:46 +01:00
Aleksandar Jankovic
93207ead9c
rc/jobs: make job expiry timeouts configurable
2019-06-15 09:55:32 +01:00
Nick Craig-Wood
f681d32996
rc: Fix serving bucket based objects with --rc-serve
...
Before this change serving bucket based objects
`[remote:bucket]/path/to/object` would fail with 404 not found.
This was because the leading `/` in `/path/to/object` was being passed
to NewObject.
2019-06-10 11:59:06 +01:00
Nick Craig-Wood
206e1caa99
fs/cache: factor Fs caching from fs/rc into its own package
2019-05-27 16:14:55 +01:00
Nick Craig-Wood
577fda059d
rc: fix race in tests
2019-05-01 16:09:50 +01:00
Nick Craig-Wood
9df322e889
tests: make test servers choose a random port to make more reliable
...
Tests have been randomly failing with messages like
listen tcp 127.0.0.1:51778: bind: address already in use
Rework all the test servers so they choose a random free port on
startup and use that for the tests to avoid.
2019-05-01 16:09:50 +01:00
Fabian Möller
48c09608ea
fix spelling
2019-04-30 14:12:18 +02:00
Nick Craig-Wood
16d8014cbb
build: drop support for go1.8
2019-04-15 21:49:58 +01:00
Nick Craig-Wood
0d475958c7
Fix errors discovered with go vet nilness tool
2019-03-18 11:23:00 +00:00
Nick Craig-Wood
cccadfa7ae
rc: add ability for options blocks to register reload functions
2019-03-10 13:09:44 +00:00
Nick Craig-Wood
6e153781a7
rc: add help to show how to set log level with options/set
2019-02-03 11:47:57 +00:00
Nick Craig-Wood
97752ca8fb
build: fix problems found with ineffasign linter
2019-02-02 11:45:07 +00:00
Jay
082a7065b1
Use vfsgen for static HTML templates
2018-12-26 15:07:21 +00:00
Nick Craig-Wood
57b85b8155
rc: fix job tests on Windows
2018-11-06 13:03:48 +00:00
Nick Craig-Wood
bc17ca7ed9
rc: implement core/obscure
2018-11-05 15:44:40 +00:00
Nick Craig-Wood
1916410316
rc: add core/version and put definitions next to implementations
2018-11-05 15:44:40 +00:00
Nick Craig-Wood
75a88de55c
rc/rcserver: with --rc-files if auth set, pass on to URL opened
...
If `--rc-user` or `--rc-pass` is set then the URL that is opened with
`--rc-files` will have the authorization in the URL in the
`http://user:pass@localhost/ ` style.
2018-11-05 15:44:40 +00:00
Nick Craig-Wood
fa0a9653d2
rc: methods marked as AuthRequired need auth unless --rc-no-auth
...
Methods which can read or mutate external storage will require
authorisation - enforce this. This can be overidden by `--rc-no-auth`.
2018-11-04 20:42:57 +00:00
Nick Craig-Wood
75e8ea383c
rc: implement rc.PutCachedFs for prefilling the remote cache
2018-11-04 20:42:57 +00:00
Nick Craig-Wood
8c8b58a7de
rc: expire remote cache and fix tests under race detector
2018-11-04 20:42:57 +00:00
Nick Craig-Wood
b961e07c57
rc: ensure rclone fails to start up if the --rc port is in use already
2018-11-04 15:11:51 +00:00
Nick Craig-Wood
89550e7121
rcserver: serve directories as well as files
2018-11-04 15:11:51 +00:00
Nick Craig-Wood
b972dcb0ae
rc: implement options/blocks,get,set and register options
2018-11-03 11:32:00 +00:00
Nick Craig-Wood
0bfa9811f7
rc: factor server code into rcserver and implement serving objects
...
If a GET or HEAD request is receivied with a URL parameter of fs then
it will be served from that remote.
2018-11-03 11:32:00 +00:00
Nick Craig-Wood
75252e4a89
rc: add --rc-files flag to serve files on the rc http server
...
This enables building a browser based UI for rclone
2018-11-03 11:32:00 +00:00
Nick Craig-Wood
2089405e1b
fs/rc: add more infrastructure to help writing rc functions
...
- Fs cache for rc commands
- Helper functions for parsing the input
- Reshape command for manipulating JSON blobs
- Background Job starting, control, query and expiry
2018-11-02 17:32:20 +00:00
Nick Craig-Wood
ade252f13b
build: fixup code formatting after goimports change
2018-10-13 22:47:12 +01:00
frenos
382a6863b5
rc: add support for OPTIONS and basic CORS - #2575
2018-09-24 17:04:47 +01:00
Nick Craig-Wood
8c0335a176
build: fix for goimports format change
...
See https://github.com/golang/go/issues/23709
2018-07-03 22:33:15 +01:00
Nick Craig-Wood
3a2248aa5f
rc: add core/gc to run a garbage collection on demand
2018-05-24 15:10:28 +01:00
Nick Craig-Wood
573ef4c8ee
rc: enable go profiling by default on the --rc port
...
This means you can use the pprof tool on a running rclone, eg
go tool pprof http://localhost:5572/debug/pprof/heap
2018-05-24 15:10:28 +01:00
Nick Craig-Wood
9ab2521ef2
rc: autogenerate and tidy the docs and commands
...
* Rename rc/pid -> core/pid
* Sort the output of `rc list`
* Make a script to autogenerate the docs
* Tidy docs
2018-04-23 20:57:17 +01:00
Nick Craig-Wood
21a10e58c9
rc: implement core/memstats to print internal memory usage info
2018-04-23 20:49:36 +01:00
Michael P. Dubner
92b266d361
rc: new call rc/pid - closes #2211
2018-04-09 13:33:04 +01:00
Nick Craig-Wood
be54fd8f70
Remove builds conditional on go1.7 since that is now guaranteed #2154
...
Old fallback code was deleted and the go1.7 style code inlined where
appropriate.
2018-04-07 11:42:55 +01:00
Matt Holt
e13f65b953
serve restic: Print actual listener address
2018-04-04 14:56:26 +01:00
remusb
97b48cf988
rc: add support for Go 1.6
2018-03-14 22:58:20 +02:00
Nick Craig-Wood
86e5a35491
Implement Remote Control for rclone #2111
...
This implements a remote control protocol activated with the --rc flag
and a new command `rclone rc` to use that interface.
Still to do
* docs - need finishing
* tests
2018-03-14 22:58:20 +02:00