mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 09:02:15 -06:00
option to return media-links for uploads
This commit is contained in:
parent
36d6d29a0c
commit
c9281f8912
|
@ -144,6 +144,7 @@ flagcats = {
|
||||||
"maxb=1g,300": "max 1 GiB over 5min (suffixes: b, k, m, g, t)",
|
"maxb=1g,300": "max 1 GiB over 5min (suffixes: b, k, m, g, t)",
|
||||||
"vmaxb=1g": "total volume size max 1 GiB (suffixes: b, k, m, g, t)",
|
"vmaxb=1g": "total volume size max 1 GiB (suffixes: b, k, m, g, t)",
|
||||||
"vmaxn=4k": "max 4096 files in volume (suffixes: b, k, m, g, t)",
|
"vmaxn=4k": "max 4096 files in volume (suffixes: b, k, m, g, t)",
|
||||||
|
"medialinks": "return medialinks for non-up2k uploads (not hotlinks)",
|
||||||
"rand": "force randomized filenames, 9 chars long by default",
|
"rand": "force randomized filenames, 9 chars long by default",
|
||||||
"nrand=N": "randomized filenames are N chars long",
|
"nrand=N": "randomized filenames are N chars long",
|
||||||
"u2ts=fc": "[f]orce [c]lient-last-modified or [u]pload-time",
|
"u2ts=fc": "[f]orce [c]lient-last-modified or [u]pload-time",
|
||||||
|
|
|
@ -646,8 +646,12 @@ class HttpCli(object):
|
||||||
if not self._check_nonfatal(pex, post):
|
if not self._check_nonfatal(pex, post):
|
||||||
self.keepalive = False
|
self.keepalive = False
|
||||||
|
|
||||||
em = str(ex)
|
if pex is ex:
|
||||||
msg = em if pex is ex else min_ex()
|
em = msg = str(ex)
|
||||||
|
else:
|
||||||
|
em = repr(ex)
|
||||||
|
msg = min_ex()
|
||||||
|
|
||||||
if pex.code != 404 or self.do_log:
|
if pex.code != 404 or self.do_log:
|
||||||
self.log(
|
self.log(
|
||||||
"%s\033[0m, %s" % (msg, self.vpath),
|
"%s\033[0m, %s" % (msg, self.vpath),
|
||||||
|
@ -1904,6 +1908,9 @@ class HttpCli(object):
|
||||||
0 if ANYWIN else bos.stat(path).st_ino,
|
0 if ANYWIN else bos.stat(path).st_ino,
|
||||||
)[: vfs.flags["fk"]]
|
)[: vfs.flags["fk"]]
|
||||||
|
|
||||||
|
if "media" in self.uparam or "medialinks" in vfs.flags:
|
||||||
|
vsuf += "&v" if vsuf else "?v"
|
||||||
|
|
||||||
vpath = "/".join([x for x in [vfs.vpath, rem, fn] if x])
|
vpath = "/".join([x for x in [vfs.vpath, rem, fn] if x])
|
||||||
vpath = quotep(vpath)
|
vpath = quotep(vpath)
|
||||||
|
|
||||||
|
@ -2685,6 +2692,9 @@ class HttpCli(object):
|
||||||
0 if ANYWIN or not ap else bos.stat(ap).st_ino,
|
0 if ANYWIN or not ap else bos.stat(ap).st_ino,
|
||||||
)[: vfs.flags["fk"]]
|
)[: vfs.flags["fk"]]
|
||||||
|
|
||||||
|
if "media" in self.uparam or "medialinks" in vfs.flags:
|
||||||
|
vsuf += "&v" if vsuf else "?v"
|
||||||
|
|
||||||
vpath = "{}/{}".format(upload_vpath, lfn).strip("/")
|
vpath = "{}/{}".format(upload_vpath, lfn).strip("/")
|
||||||
rel_url = quotep(self.args.RS + vpath) + vsuf
|
rel_url = quotep(self.args.RS + vpath) + vsuf
|
||||||
msg += 'sha512: {} // {} // {} bytes // <a href="/{}">{}</a> {}\n'.format(
|
msg += 'sha512: {} // {} // {} bytes // <a href="/{}">{}</a> {}\n'.format(
|
||||||
|
@ -4163,6 +4173,9 @@ class HttpCli(object):
|
||||||
add_og = True
|
add_og = True
|
||||||
og_fn = ""
|
og_fn = ""
|
||||||
|
|
||||||
|
if "v" in self.uparam:
|
||||||
|
add_og = og_ua = True
|
||||||
|
|
||||||
if "b" in self.uparam:
|
if "b" in self.uparam:
|
||||||
self.out_headers["X-Robots-Tag"] = "noindex, nofollow"
|
self.out_headers["X-Robots-Tag"] = "noindex, nofollow"
|
||||||
|
|
||||||
|
@ -4286,7 +4299,7 @@ class HttpCli(object):
|
||||||
(abspath.endswith(".md") or self.can_delete)
|
(abspath.endswith(".md") or self.can_delete)
|
||||||
and "nohtml" not in vn.flags
|
and "nohtml" not in vn.flags
|
||||||
and (
|
and (
|
||||||
"v" in self.uparam
|
("v" in self.uparam and abspath.endswith(".md"))
|
||||||
or "edit" in self.uparam
|
or "edit" in self.uparam
|
||||||
or "edit2" in self.uparam
|
or "edit2" in self.uparam
|
||||||
)
|
)
|
||||||
|
|
|
@ -141,6 +141,7 @@ authenticate using header `Cookie: cppwd=foo` or url param `&pw=foo`
|
||||||
| GET | `?ups&filter=f` | ...where URL contains `f` |
|
| GET | `?ups&filter=f` | ...where URL contains `f` |
|
||||||
| GET | `?mime=foo` | specify return mimetype `foo` |
|
| GET | `?mime=foo` | specify return mimetype `foo` |
|
||||||
| GET | `?v` | render markdown file at URL |
|
| GET | `?v` | render markdown file at URL |
|
||||||
|
| GET | `?v` | open image/video/audio in mediaplayer |
|
||||||
| GET | `?txt` | get file at URL as plaintext |
|
| GET | `?txt` | get file at URL as plaintext |
|
||||||
| GET | `?txt=iso-8859-1` | ...with specific charset |
|
| GET | `?txt=iso-8859-1` | ...with specific charset |
|
||||||
| GET | `?th` | get image/video at URL as thumbnail |
|
| GET | `?th` | get image/video at URL as thumbnail |
|
||||||
|
@ -169,6 +170,7 @@ authenticate using header `Cookie: cppwd=foo` or url param `&pw=foo`
|
||||||
| mPOST | | `f=FILE` | upload `FILE` into the folder at URL |
|
| mPOST | | `f=FILE` | upload `FILE` into the folder at URL |
|
||||||
| mPOST | `?j` | `f=FILE` | ...and reply with json |
|
| mPOST | `?j` | `f=FILE` | ...and reply with json |
|
||||||
| mPOST | `?replace` | `f=FILE` | ...and overwrite existing files |
|
| mPOST | `?replace` | `f=FILE` | ...and overwrite existing files |
|
||||||
|
| mPOST | `?media` | `f=FILE` | ...and return medialink (not hotlink) |
|
||||||
| mPOST | | `act=mkdir`, `name=foo` | create directory `foo` at URL |
|
| mPOST | | `act=mkdir`, `name=foo` | create directory `foo` at URL |
|
||||||
| POST | `?delete` | | delete URL recursively |
|
| POST | `?delete` | | delete URL recursively |
|
||||||
| jPOST | `?delete` | `["/foo","/bar"]` | delete `/foo` and `/bar` recursively |
|
| jPOST | `?delete` | `["/foo","/bar"]` | delete `/foo` and `/bar` recursively |
|
||||||
|
|
Loading…
Reference in a new issue