This is a no-bullshit file hosting and URL shortening service that also runs 0x0.st. Use with uWSGI.
- Replaced short_url with hashids as the shortened link generator. Note that the result of the shortened link would be different since it is using a different module.
- File and shortened link access protection with Timed OTP. Useful for those who self-hosted for themselves only and would like to protect their own uploaded resources.
To change settings, modify instance/config.py
. For more information on
instance configuration, see the Flask documentation.
To customize the home and error pages, simply create a templates
directory
in your instance directory and copy any templates you want to modify there.
If you are running nginx, you should use the X-Accel-Redirect
header.
To make it work, include this in your nginx config’s server
block:
location /up { internal; }
where /up
is whatever you’ve configured as FHOST_STORAGE_PATH
.
For all other servers, set FHOST_USE_X_ACCEL_REDIRECT
to False
and
USE_X_SENDFILE
to True
, assuming your server supports this.
Otherwise, Flask will serve the file with chunked encoding, which sucks and
should be avoided at all costs.
To make files expire, simply create a cronjob that runs cleanup.py
every
now and then.
Before running the service for the first time, run FLASK_APP=fhost flask db upgrade
.
0x0 supports classification of NSFW content via Yahoo’s open_nsfw Caffe neural network model. This works for images and video files and requires the following:
- Caffe Python module (built for Python 3)
ffmpegthumbnailer
executable in$PATH