mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 09:02:15 -06:00
optimize
This commit is contained in:
parent
9b9d2a92ca
commit
54caf63f6a
|
@ -536,7 +536,7 @@ def get_sects():
|
||||||
dedent(
|
dedent(
|
||||||
"""
|
"""
|
||||||
\033[33m-i\033[0m takes a comma-separated list of interfaces to listen on;
|
\033[33m-i\033[0m takes a comma-separated list of interfaces to listen on;
|
||||||
IP-addresses, unix-sockets and/or open file descriptors
|
IP-addresses, unix-sockets, and/or open file descriptors
|
||||||
|
|
||||||
the default (\033[32m-i ::\033[0m) means all IPv4 and IPv6 addresses
|
the default (\033[32m-i ::\033[0m) means all IPv4 and IPv6 addresses
|
||||||
|
|
||||||
|
@ -564,7 +564,7 @@ def get_sects():
|
||||||
|
|
||||||
\033[32m-i fd:\033[33m3\033[0m uses the socket passed to copyparty on file descriptor 3
|
\033[32m-i fd:\033[33m3\033[0m uses the socket passed to copyparty on file descriptor 3
|
||||||
|
|
||||||
\033[33m-p\033[0m (tcp ports) is ignored for non ip-addresses
|
\033[33m-p\033[0m (tcp ports) is ignored for unix-sockets and FDs
|
||||||
"""
|
"""
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|
|
@ -262,7 +262,8 @@ class HttpCli(object):
|
||||||
|
|
||||||
def _assert_safe_rem(self, rem: str) -> None:
|
def _assert_safe_rem(self, rem: str) -> None:
|
||||||
# sanity check to prevent any disasters
|
# sanity check to prevent any disasters
|
||||||
if rem.startswith("/") or rem.startswith("../") or "/../" in rem:
|
# (this function hopefully serves no purpose; validation has already happened at this point, this only exists as a last-ditch effort just in case)
|
||||||
|
if rem.startswith(("/", "../")) or "/../" in rem:
|
||||||
raise Exception("that was close")
|
raise Exception("that was close")
|
||||||
|
|
||||||
def _gen_fk(self, alg: int, salt: str, fspath: str, fsize: int, inode: int) -> str:
|
def _gen_fk(self, alg: int, salt: str, fspath: str, fsize: int, inode: int) -> str:
|
||||||
|
@ -5031,7 +5032,7 @@ class HttpCli(object):
|
||||||
wvol = [x for x in wvol if "unlistcw" not in allvols[x[1:-1]].flags]
|
wvol = [x for x in wvol if "unlistcw" not in allvols[x[1:-1]].flags]
|
||||||
|
|
||||||
fmt = self.uparam.get("ls", "")
|
fmt = self.uparam.get("ls", "")
|
||||||
if not fmt and (self.ua.startswith("curl/") or self.ua.startswith("fetch")):
|
if not fmt and self.ua.startswith(("curl/", "fetch")):
|
||||||
fmt = "v"
|
fmt = "v"
|
||||||
|
|
||||||
if fmt in ["v", "t", "txt"]:
|
if fmt in ["v", "t", "txt"]:
|
||||||
|
@ -5141,7 +5142,7 @@ class HttpCli(object):
|
||||||
t = '<h1 id="n">404 not found ┐( ´ -`)┌</h1><p><a id="r" href="{}/?h">go home</a></p>'
|
t = '<h1 id="n">404 not found ┐( ´ -`)┌</h1><p><a id="r" href="{}/?h">go home</a></p>'
|
||||||
pt = "404 not found ┐( ´ -`)┌"
|
pt = "404 not found ┐( ´ -`)┌"
|
||||||
|
|
||||||
if self.ua.startswith("curl/") or self.ua.startswith("fetch"):
|
if self.ua.startswith(("curl/", "fetch")):
|
||||||
pt = "# acct: %s\n%s\n" % (self.uname, pt)
|
pt = "# acct: %s\n%s\n" % (self.uname, pt)
|
||||||
self.reply(pt.encode("utf-8"), status=rc)
|
self.reply(pt.encode("utf-8"), status=rc)
|
||||||
return True
|
return True
|
||||||
|
@ -6267,11 +6268,7 @@ class HttpCli(object):
|
||||||
is_ls = "ls" in self.uparam
|
is_ls = "ls" in self.uparam
|
||||||
is_js = self.args.force_js or self.cookies.get("js") == "y"
|
is_js = self.args.force_js or self.cookies.get("js") == "y"
|
||||||
|
|
||||||
if (
|
if not is_ls and not add_og and self.ua.startswith(("curl/", "fetch")):
|
||||||
not is_ls
|
|
||||||
and not add_og
|
|
||||||
and (self.ua.startswith("curl/") or self.ua.startswith("fetch"))
|
|
||||||
):
|
|
||||||
self.uparam["ls"] = "v"
|
self.uparam["ls"] = "v"
|
||||||
is_ls = True
|
is_ls = True
|
||||||
|
|
||||||
|
|
|
@ -183,11 +183,7 @@ class MCast(object):
|
||||||
srv.ips[oth_ip.split("/")[0]] = ipaddress.ip_network(oth_ip, False)
|
srv.ips[oth_ip.split("/")[0]] = ipaddress.ip_network(oth_ip, False)
|
||||||
|
|
||||||
# gvfs breaks if a linklocal ip appears in a dns reply
|
# gvfs breaks if a linklocal ip appears in a dns reply
|
||||||
ll = {
|
ll = {k: v for k, v in srv.ips.items() if k.startswith(("169.254", "fe80"))}
|
||||||
k: v
|
|
||||||
for k, v in srv.ips.items()
|
|
||||||
if k.startswith("169.254") or k.startswith("fe80")
|
|
||||||
}
|
|
||||||
rt = {k: v for k, v in srv.ips.items() if k not in ll}
|
rt = {k: v for k, v in srv.ips.items() if k not in ll}
|
||||||
|
|
||||||
if self.args.ll or not rt:
|
if self.args.ll or not rt:
|
||||||
|
|
|
@ -878,7 +878,7 @@ class SvcHub(object):
|
||||||
setattr(al, zs, False)
|
setattr(al, zs, False)
|
||||||
zb = True
|
zb = True
|
||||||
if zb:
|
if zb:
|
||||||
t = "no ip addresses provided; cannot enable zeroconf/mdns/ssdp as requested"
|
t = "not listening on any ip-addresses (only unix-sockets and/or FDs); cannot enable zeroconf/mdns/ssdp as requested"
|
||||||
self.log("root", t, 3)
|
self.log("root", t, 3)
|
||||||
|
|
||||||
if not self.args.no_dav:
|
if not self.args.no_dav:
|
||||||
|
|
Loading…
Reference in a new issue