diff --git a/templates/examples/paste-to-upload.html b/templates/examples/paste-to-upload.html new file mode 100644 index 0000000..27e8827 --- /dev/null +++ b/templates/examples/paste-to-upload.html @@ -0,0 +1,109 @@ +
+ THE NULL POINTER + ================ + {% set fhost_url = url_for("fhost", _external=True).rstrip("/") %} + HTTP POST files here: + curl -F'file=@yourfile.png' {{ fhost_url }} + You can also POST remote URLs: + curl -F'url=http://example.com/image.jpg' {{ fhost_url }} + If you don't want the resulting URL to be easy to guess: + curl -F'file=@yourfile.png' -Fsecret= {{ fhost_url }} + curl -F'url=http://example.com/image.jpg' -Fsecret= {{ fhost_url }} + Or you can shorten URLs: + curl -F'shorten=http://example.com/some/long/url' {{ fhost_url }} + You can also paste a file blob from your system's clipboard. + + It is possible to append your own file name to the URL: + {{ fhost_url }}/aaa.jpg/image.jpeg + + File URLs are valid for at least 30 days and up to a year (see below). + Shortened URLs do not expire. + + Files can be set to expire sooner by adding an "expires" parameter (in hours) + curl -F'file=@yourfile.png' -Fexpires=24 {{ fhost_url }} + OR by setting "expires" to a timestamp in epoch milliseconds + curl -F'file=@yourfile.png' -Fexpires=1681996320000 {{ fhost_url }} + + Expired files won't be removed immediately, but will be removed as part of + the next purge. + + Whenever a file that does not already exist or has expired is uploaded, + the HTTP response header includes an X-Token field. You can use this + to perform management operations on the file. + + To delete the file immediately: + curl -Ftoken=token_here -Fdelete= {{ fhost_url }}/abc.txt + To change the expiration date (see above): + curl -Ftoken=token_here -Fexpires=3 {{ fhost_url }}/abc.txt + + {% set max_size = config["MAX_CONTENT_LENGTH"]|filesizeformat(True) %} + Maximum file size: {{ max_size }} + Not allowed: {{ config["FHOST_MIME_BLACKLIST"]|join(", ") }} + + + FILE RETENTION PERIOD + --------------------- + + retention = min_age + (-max_age + min_age) * pow((file_size / max_size - 1), 3) + + days + {{'{: 6}'.format(config.get("FHOST_MAX_EXPIRATION", 31536000000)//86400000)}} | \ + | \ + | \ + | \ + | \ + | \ + | .. + | \ + {{'{: 6.1f}'.format((config.get("FHOST_MIN_EXPIRATION", 2592000000)/2 + config.get("FHOST_MAX_EXPIRATION", 31536000000)/2)/86400000)}} | ----------..------------------------------------------- + | .. + | \ + | .. + | ... + | .. + | ... + | .... + | ...... + {{'{: 6}'.format(config.get("FHOST_MIN_EXPIRATION", 2592000000)//86400000)}} | .................... + 0{{ ((config["MAX_CONTENT_LENGTH"]/2)|filesizeformat(True)).split(" ")[0].rjust(27) }}{{ max_size.split(" ")[0].rjust(27) }} + {{ max_size.split(" ")[1].rjust(54) }} ++