README.rst (1914B)
1 The Null Pointer 2 ================ 3 4 This is a no-bullshit file hosting and URL shortening service that also runs 5 `0x0.st <https://0x0.st>`_. Use with uWSGI. 6 7 If you are running nginx, you should use the ``X-Accel-Redirect`` header. 8 To make it work, include this in your nginx config’s ``server`` block:: 9 10 location /up { 11 internal; 12 } 13 14 where ``/up`` is whatever you’ve configured as ``FHOST_STORAGE_PATH`` 15 in ``fhost.py``. 16 17 For all other servers, set ``FHOST_USE_X_ACCEL_REDIRECT`` to ``False`` and 18 ``USE_X_SENDFILE`` to ``True``, assuming your server supports this. 19 Otherwise, Flask will serve the file with chunked encoding, which sucks and 20 should be avoided at all costs. 21 22 To make files expire, simply create a cronjob that runs ``cleanup.py`` every 23 now and then. 24 25 Before running the service for the first time, run ``./fhost.py db upgrade``. 26 27 28 NSFW Detection 29 -------------- 30 31 0x0 supports classification of NSFW content via Yahoo’s open_nsfw Caffe 32 neural network model. This works for images and video files and requires 33 the following: 34 35 * Caffe Python module (built for Python 3) 36 * ``ffmpegthumbnailer`` executable in ``$PATH`` 37 38 39 FAQ 40 --- 41 42 Q: 43 Will you ever add a web interface with HTML forms? 44 A: 45 No. This would without a doubt make it very popular and quickly exceed 46 my hosting budget unless I started crippling it. 47 48 Q: 49 What about file management? Will I be able to register an account at some 50 point? 51 A: 52 No. 53 54 Q: 55 Why are you storing IP addresses with each uploaded file? 56 A: 57 This is done to make dealing with legal claims and accidental uploads 58 easier, e.g. when a user requests removal of all text files uploaded from 59 a certain address within a given time frame (it happens). 60 61 Q: 62 Do you accept donations? 63 A: 64 Only if you insist. I’ve spent very little time and effort on this service 65 and I don’t feel like I should be taking money for it.