This is a no-bullshit file hosting and URL shortening service that also runs envs.sh. Use with uWSGI.
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
in fhost.py
.
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 ./fhost.py 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
When STRIP_IMAGE_EXIF
is enabled, all images uploaded will be
processed through exiftool to strip all EXIF data except the orientation
tag.
Requires the exiftool
script in $PATH
.
apt update apt install python3-pip nginx uwsgi uwsgi-plugin-python3 certbot git clone https://github.com/envs-net/0x0.git /srv/0x0 cd /srv/0x0 pip3 install --user `cat requirements.txt` ./fhost.py db upgrade
- Q:
- What about file management? Will I be able to register an account at some point?
- A:
- No.
- Q:
- Why are you storing IP addresses with each uploaded file?
- A:
- This is done to make dealing with legal claims and accidental uploads easier, e.g. when a user requests removal of all text files uploaded from a certain address within a given time frame (it happens).
- Q:
- Do you accept donations?
- A:
- Only if you insist. I’ve spent very little time and effort on this service and I don’t feel like I should be taking money for it.