The Null Pointer ================ This is a no-bullshit file hosting and URL shortening service that also runs `0x0.envs.net `_. 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``. NSFW Detection -------------- 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`` INSTALL ------- :: apt update apt install python3-pip nginx uwsgi uwsgi-plugin-python3 certbot git clone https://github.com/cremesk/0x0.git /srv/0x0 cd /srv/0x0 pip3 install --user `cat requirements.txt` ./fhost.py db upgrade FAQ --- 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).