mirror of
https://github.com/9001/copyparty.git
synced 2026-06-18 20:22:27 -06:00
misc logging/ux
This commit is contained in:
parent
8173018926
commit
9a724b0124
|
|
@ -1216,7 +1216,7 @@ def add_general(ap, nc, srvname):
|
||||||
ap2.add_argument("--name-url", metavar="TXT", type=u, help="URL for server name hyperlink (displayed topleft in browser)")
|
ap2.add_argument("--name-url", metavar="TXT", type=u, help="URL for server name hyperlink (displayed topleft in browser)")
|
||||||
ap2.add_argument("--name-html", type=u, help=argparse.SUPPRESS)
|
ap2.add_argument("--name-html", type=u, help=argparse.SUPPRESS)
|
||||||
ap2.add_argument("--site", metavar="URL", type=u, default="", help="public URL to assume when creating links; example: [\033[32mhttps://example.com/\033[0m]")
|
ap2.add_argument("--site", metavar="URL", type=u, default="", help="public URL to assume when creating links; example: [\033[32mhttps://example.com/\033[0m]")
|
||||||
ap2.add_argument("--env-expand", metavar="N", type=int, default=-1, help="syntax to expect for environment-variables to expand in config-files; [\033[32m0\033[0m]=disable, [\033[32m1\033[0m]=$VAR (old syntax (scary)), [\033[32m2\033[0m]=${VAR} (new syntax (recommended))")
|
ap2.add_argument("--env-expand", metavar="N", type=int, default=-1, help="expand environment-variables in config-files? [\033[32m0\033[0m]=no, [\033[32m1\033[0m]=$VAR (old scary syntax), [\033[32m2\033[0m]=${VAR} (new recommended syntax); default is new-syntax with panic if old-syntax is seen")
|
||||||
ap2.add_argument("--mime", metavar="EXT=MIME", type=u, action="append", help="\033[34mREPEATABLE:\033[0m map file \033[33mEXT\033[0mension to \033[33mMIME\033[0mtype, for example [\033[32mjpg=image/jpeg\033[0m]")
|
ap2.add_argument("--mime", metavar="EXT=MIME", type=u, action="append", help="\033[34mREPEATABLE:\033[0m map file \033[33mEXT\033[0mension to \033[33mMIME\033[0mtype, for example [\033[32mjpg=image/jpeg\033[0m]")
|
||||||
ap2.add_argument("--mimes", action="store_true", help="list default mimetype mapping and exit")
|
ap2.add_argument("--mimes", action="store_true", help="list default mimetype mapping and exit")
|
||||||
ap2.add_argument("--rmagic", action="store_true", help="do expensive analysis to improve accuracy of returned mimetypes; will make file-downloads, rss, and webdav slower (volflag=rmagic)")
|
ap2.add_argument("--rmagic", action="store_true", help="do expensive analysis to improve accuracy of returned mimetypes; will make file-downloads, rss, and webdav slower (volflag=rmagic)")
|
||||||
|
|
@ -1588,10 +1588,10 @@ def add_stats(ap):
|
||||||
|
|
||||||
def add_yolo(ap):
|
def add_yolo(ap):
|
||||||
ap2 = ap.add_argument_group("yolo options")
|
ap2 = ap.add_argument_group("yolo options")
|
||||||
ap2.add_argument("--allow-csrf", action="store_true", help="disable csrf protections; let other domains/sites impersonate you through cross-site requests")
|
ap2.add_argument("--allow-csrf", action="store_true", help="disable csrf protections; let other domains/sites impersonate you through cross-site requests; \033[1;31mDANGEROUS\033[0m / LAN-only")
|
||||||
ap2.add_argument("--cookie-lax", action="store_true", help="allow cookies from other domains (if you follow a link from another website into your server, you will arrive logged-in); this reduces protection against CSRF")
|
ap2.add_argument("--cookie-lax", action="store_true", help="allow cookies from other domains (if you follow a link from another website into your server, you will arrive logged-in); this reduces protection against CSRF")
|
||||||
ap2.add_argument("--no-fnugg", action="store_true", help="disable the smoketest for caching-related issues in the web-UI")
|
ap2.add_argument("--no-fnugg", action="store_true", help="disable the smoketest for caching-related issues in the web-UI")
|
||||||
ap2.add_argument("--getmod", action="store_true", help="permit ?move=[...] and ?delete as GET")
|
ap2.add_argument("--getmod", action="store_true", help="permit ?move=[...] and ?delete as GET -- \033[1;31mDANGEROUS\033[0m, removes csrf protection")
|
||||||
ap2.add_argument("--wo-up-readme", action="store_true", help="allow users with write-only access to upload logues and readmes without adding the _wo_ filename prefix (volflag=wo_up_readme)")
|
ap2.add_argument("--wo-up-readme", action="store_true", help="allow users with write-only access to upload logues and readmes without adding the _wo_ filename prefix (volflag=wo_up_readme)")
|
||||||
ap2.add_argument("--unsafe-state", action="store_true", help="when one of the emergency fallback locations are used for runtime state ($TMPDIR, /tmp), certain features will be force-disabled for security reasons by default. This option overrides that safeguard and allows unsafe storage of secrets")
|
ap2.add_argument("--unsafe-state", action="store_true", help="when one of the emergency fallback locations are used for runtime state ($TMPDIR, /tmp), certain features will be force-disabled for security reasons by default. This option overrides that safeguard and allows unsafe storage of secrets")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -57,6 +57,7 @@ from .util import (
|
||||||
HAVE_PSUTIL,
|
HAVE_PSUTIL,
|
||||||
HAVE_SQLITE3,
|
HAVE_SQLITE3,
|
||||||
HAVE_ZMQ,
|
HAVE_ZMQ,
|
||||||
|
LOG,
|
||||||
RE_ANSI,
|
RE_ANSI,
|
||||||
URL_BUG,
|
URL_BUG,
|
||||||
UTC,
|
UTC,
|
||||||
|
|
@ -216,6 +217,8 @@ class SvcHub(object):
|
||||||
lg.handlers = [lh]
|
lg.handlers = [lh]
|
||||||
lg.setLevel(logging.DEBUG)
|
lg.setLevel(logging.DEBUG)
|
||||||
|
|
||||||
|
LOG[:] = [self.log]
|
||||||
|
|
||||||
self._check_env()
|
self._check_env()
|
||||||
|
|
||||||
if args.stackmon:
|
if args.stackmon:
|
||||||
|
|
|
||||||
|
|
@ -62,6 +62,9 @@ def noop(*a, **ka):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
LOG = [print]
|
||||||
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from datetime import datetime, timezone
|
from datetime import datetime, timezone
|
||||||
|
|
||||||
|
|
@ -788,7 +791,7 @@ def read_utf8(log: Optional["NamedLogger"], ap: Union[str, bytes], strict: bool)
|
||||||
if log:
|
if log:
|
||||||
log(t, 3)
|
log(t, 3)
|
||||||
else:
|
else:
|
||||||
print(t)
|
LOG[0]("#", t)
|
||||||
return buf.decode("utf-8", "replace")
|
return buf.decode("utf-8", "replace")
|
||||||
|
|
||||||
t = "ERROR: The file [%s] is not using the UTF-8 character encoding, and cannot be loaded. The first unreadable character was byte %r at offset %d. Please convert this file to UTF-8 by opening the file in your text-editor and saving it as UTF-8."
|
t = "ERROR: The file [%s] is not using the UTF-8 character encoding, and cannot be loaded. The first unreadable character was byte %r at offset %d. Please convert this file to UTF-8 by opening the file in your text-editor and saving it as UTF-8."
|
||||||
|
|
@ -796,7 +799,7 @@ def read_utf8(log: Optional["NamedLogger"], ap: Union[str, bytes], strict: bool)
|
||||||
if log:
|
if log:
|
||||||
log(t, 3)
|
log(t, 3)
|
||||||
else:
|
else:
|
||||||
print(t)
|
LOG[0]("#", t)
|
||||||
raise NotUTF8(t)
|
raise NotUTF8(t)
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1573,12 +1576,18 @@ def _expand_osenv_c(txt) -> str:
|
||||||
ret = zsl[0]
|
ret = zsl[0]
|
||||||
for v in zsl[1:]:
|
for v in zsl[1:]:
|
||||||
if "}" not in v:
|
if "}" not in v:
|
||||||
raise Exception("missing '}' after %r in config-value %r" % (v, txt))
|
t = "missing '}' after %r in config-value %r" % (v, txt)
|
||||||
|
LOG[0]("ERROR:", t)
|
||||||
|
raise Exception(t)
|
||||||
a, b = v.split("}", 1)
|
a, b = v.split("}", 1)
|
||||||
try:
|
try:
|
||||||
ret += os.environ[a] + b
|
ret += os.environ[a] + b
|
||||||
|
continue
|
||||||
except:
|
except:
|
||||||
raise Exception("env-var %r not defined; config-value %r" % (a, txt))
|
pass
|
||||||
|
t = "env-var %r not defined; config-value %r" % (a, txt)
|
||||||
|
LOG[0]("ERROR:", t)
|
||||||
|
raise Exception(t)
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue