Dan Walters
e5464a2a35
dlna: add some additional metadata, headers, and samsung extensions
...
Again, mostly just copying what I see in other implementations. This
does seem to have done the trick so that I can now pause, fast forward,
rewind, etc., on my Samsung F series.
2019-05-27 14:42:33 +01:00
Dan Walters
78d38dda56
dlna: icons and compatibility improvements
...
Brings in icons for devices to display. Based on what some
other open implementations have done, it's worth having a simple
stub implmentation of ConnectionManagerService. Advertise
X_MS_MediaReceiverRegistrar as well, which sounds like it
is necessary for certain MSFT devices (like the X-Box.)
2019-05-27 14:42:33 +01:00
Dan Walters
60bb01b22c
dlna: refactor the serve mux
...
Trying to make it a little easier to understand and work on all the
available routes, etc.
2019-05-27 14:42:33 +01:00
Dan Walters
95a74e02c7
dlna: use a template to render the root service descriptor
...
For various reasons, it seems to make sense to move away from generating
the XML with objects. Namespace support is minimal in go, the objects we
have are in an upstream project, and some subtitlties seem likely to
cause problems with poorly written clients.
This removes the empty <iconList></iconList>, but is otherwise the
same output.
2019-05-27 14:42:33 +01:00
Dan Walters
d014aef011
dlna: reformat descriptors with tabs
...
Reduces size of embedded assets.
2019-05-27 14:42:33 +01:00
Dan Walters
be8c23f0b4
dlna: use vfsgen for static assets
...
As more assets are added, using vfsgen makes things a bit easier.
2019-05-27 14:42:33 +01:00
Nick Craig-Wood
1f19b63264
serve sftp: serve an rclone remote over SFTP
2019-05-11 23:39:04 +01:00
calistri
f865280afa
Adds a public IP flag for ftp. Closes #3158
...
Fixed variable names
2019-05-09 22:52:21 +01:00
Nick Craig-Wood
8beab1aaf2
build: more pre go1.8 workarounds removed
2019-05-08 15:14:51 +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
e5f4210b09
serve restic: use walk.ListR for listing
...
This is effectively what the old code did anyway so this should not
make any functional changes.
2019-03-16 17:41:12 +00:00
Dan Walters
caf318d499
dlna: add connection manager service description
...
The UPnP MediaServer spec says that the ConnectionManager service is
required, and adding it was enough to get dlna support working on my
other TV (LG webOS 2.2.1).
2019-03-15 13:14:31 +00:00
Dan Walters
95194adfd5
dlna: fix root XML service descriptor
...
The SCPD URL was being set after marshalling the XML, and thus coming
out blank. Now works on my Samsung TV, and likely fixes some issues
reported by others in #2648 .
2019-03-11 17:31:32 +00:00
Nick Craig-Wood
d966cef14c
build: fix problems found with unconvert
2019-02-02 11:45:07 +00:00
nicolov
0b7fdf16a2
serve: add dlna server
2019-01-09 19:14:14 +00:00
Jay
082a7065b1
Use vfsgen for static HTML templates
2018-12-26 15:07:21 +00:00
Nick Craig-Wood
c1dd76788d
httplib: make http serving with auth generate INFO messages on auth fail
...
2018/12/13 12:13:44 INFO : /: 127.0.0.1:39696: Basic auth challenge sent
2018/12/13 12:13:54 INFO : /: 127.0.0.1:40050: Unauthorized request from ncw
Fixes #2834
2018-12-14 13:38:49 +00:00
Nick Craig-Wood
e56c6402a7
serve restic: disallow on go1.8 because of dependent library changes
...
golang.org/x/net/http2 no longer builds on go1.8
2018-11-26 14:10:33 +00:00
Nick Craig-Wood
d0eb8ddc30
serve webdav: disallow on go1.8 due to dependent library changes
...
golang.org/x/net/webdav no longer builds with go1.8
2018-11-26 14:10:33 +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
89550e7121
rcserver: serve directories as well as files
2018-11-04 15:11:51 +00:00
Nick Craig-Wood
370c218c63
cmd/http: factor directory serving routines into httplib/serve and write tests
2018-11-04 12:46:44 +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
aa9b2c31f4
serve/restic: factor object serving into cmd/httplib/serve
2018-11-03 11:32:00 +00:00
Nick Craig-Wood
bb5637d46a
serve http, webdav, restic: ensure rclone exits if the port is in use
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
Nick Craig-Wood
d4ee7277c0
serve ftp: disable on plan9 since it doesn't compile
2018-09-17 08:50:34 +01:00
Antoine GIRARD
4a3efa5d45
cmd/serve: add ftp server - implement #2151
2018-09-17 08:50:34 +01:00
Denis
1c578ced1c
cmd: add copyurl command - Fixes #1320
2018-08-30 16:45:41 +01:00
Nick Craig-Wood
b3217d2cac
serve webdav: make Content-Type without reading the file and add --etag-hash
...
Before this change x/net/webdav would open each file to find out its
Content-Type.
Now we override the FileInfo and provide that directly from rclone.
An --etag-hash has also been implemented to override the ETag with the
hash passed in.
Fixes #2273
2018-08-26 21:50:41 +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
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
Nick Craig-Wood
80588a5a6b
Replace "golang.org/x/net/context" with "context" for go1.7+ #2154
2018-04-07 11:42:08 +01:00
Matt Holt
e13f65b953
serve restic: Print actual listener address
2018-04-04 14:56:26 +01:00
Alexander Neumann
5b8977a053
serve restic: Disallow overwriting files in append-only mode - Fixes #2195
...
* Disallow overwriting files in append-only mode
* Add tests for append-only mode
2018-04-04 14:49:13 +01:00
Steve Kriss
2c2bb0f750
cmd/serve/restic: add append-only mode
2018-03-30 19:54:52 +01:00
Nick Craig-Wood
1afac32d80
serve restic: script for running integration test against all remotes
2018-03-18 19:15:39 +00:00
Nick Craig-Wood
26fbd00b4f
serve restic: don't buffer the JSON output in memory for the list command
2018-03-18 16:26:58 +00:00
Nick Craig-Wood
1313b529ff
serve restic: use ListR (--fast-list) if available
...
For Restic's use case, --fast-list will use less transactions and
calling ListR directly means we can avoid the usual memory overhead.
2018-03-18 16:22:05 +00:00
Nick Craig-Wood
82e835d6fc
serve restic: make it easy to run integration tests against any remote
...
Just `cd cmd/serve/restic` then `go test -v -remote TestRemote:`
2018-03-18 14:23:56 +00:00
Nick Craig-Wood
fa867a9a4c
serve restic: implement accounting for uploads and downloads
...
This means the bandwidth stats will be correct and the bandwidth
throttling will work correctly. This was forgotten as a previous
iteration of the code was using the higher level operations.Rcat which
took care of this.
2018-03-18 14:19:43 +00:00
Alexander Neumann
84776c4e43
serve/restic: Remove log message on Close
2018-03-14 21:50:33 +00:00
Nick Craig-Wood
7ccc6080b0
serve restic: add more info to GET request error
2018-03-14 21:09:47 +00:00
Nick Craig-Wood
8bb2854fe4
httplib: allow the flags to be prefixed when instantiating a server
2018-03-14 22:58:20 +02:00
Nick Craig-Wood
4e90ad04d5
serve restic: only accept v2 API requests for list
2018-03-11 17:35:01 +00:00
Alexander Neumann
fa003e89b6
serve restic: When listing return empty list instead of 'null'
2018-03-11 14:48:46 +00:00
Alexander Neumann
5114b11d6f
serve restic: add http2 server on stdin/stdout
2018-03-11 14:48:46 +00:00
Alexander Neumann
f832433fa5
serve restic: Return empty list for non-existing dirs
2018-03-11 14:48:43 +00:00
Nick Craig-Wood
d073efdc6c
serve restic: serves a remote in restic REST API format
2018-03-11 14:43:03 +00:00
Nick Craig-Wood
9e48748182
httplib: Note that authentication is a good idea for non localhost
2018-03-11 14:38:54 +00:00
Nick Craig-Wood
334bf49d30
httplib: add Close() method to shut the server down and use it in tests
2018-02-19 15:45:24 +00:00
Nick Craig-Wood
d8f78a7266
serve http/webdav: update docs on SSL
2018-02-19 14:08:17 +00:00
Nick Craig-Wood
358c1fbac9
serve http/webdav: support SSL/TLS
2018-02-16 18:28:10 +00:00
Nick Craig-Wood
cc9d7156e4
serve http/webdav: add --user --pass authentication #1802
2018-02-16 18:28:10 +00:00
Nick Craig-Wood
221a8a9c5d
serve http/webdav: add --htpasswd option for authentication #1802
2018-02-16 18:28:10 +00:00
Nick Craig-Wood
5530662ccc
serve http/webdav: factor common http server creation to httplib
2018-02-16 17:48:20 +00:00
Nick Craig-Wood
517bdc719b
vfs: make specialized file Open functions private
2018-01-19 11:46:01 +00:00
Nick Craig-Wood
11da2a6c9b
Break the fs package up into smaller parts.
...
The purpose of this is to make it easier to maintain and eventually to
allow the rclone backends to be re-used in other projects without
having to use the rclone configuration system.
The new code layout is documented in CONTRIBUTING.
2018-01-15 17:51:14 +00:00
Nick Craig-Wood
60afda007b
Move dircache, oauthutil, rest and pacer modules into lib
2018-01-12 17:07:38 +00:00
Nick Craig-Wood
b8b620f5c2
Move all backends into backend directory
2018-01-12 17:07:38 +00:00
Nick Craig-Wood
65618afd8c
serve/http: fix serving files with : in - fixes #1939
2018-01-05 17:25:05 +00:00
Nick Craig-Wood
c560017934
vfs: add Path method to Node and use it to stop reading nil DirEntry
...
All DirEntry calls now have been checked for nil or converted to use Path.
2017-11-20 12:46:22 +00:00
Nick Craig-Wood
05a1e1532b
vfs,mount,cmount,serve: Add documentation for vfs caching modes
2017-11-20 12:46:21 +00:00
ishuah
aec2265be0
rclone: implement exit codes - #1136
2017-11-15 17:48:37 +03:00
Nick Craig-Wood
68d0b5adbb
serve webdav: this implements a webdav server for any rclone remote.
2017-11-04 10:24:11 +00:00
Nick Craig-Wood
16e16bc220
serve http: use vfs to cache the directories and support Range header
2017-11-04 10:24:11 +00:00
Nick Craig-Wood
96665c16cb
serve http: make it compile on go1.6 and go1.7
2017-10-26 21:52:29 +01:00
Nick Craig-Wood
cd146415d1
serve http: error if Range supplied (not supported yet)
...
Also add Server header
2017-10-24 23:18:36 +01:00
Nick Craig-Wood
2740c965c0
serve http: Fix timeouts
2017-10-24 23:07:46 +01:00
Nick Craig-Wood
6669165b6b
serve http command to serve a remote over HTTP
...
This implements a basic webserver to serve an rclone remote over HTTP.
It also sets up the framework for adding more types of server later.
2017-10-24 13:25:49 +01:00