You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.9 KiB
1.9 KiB
The First Pointer
=================
This is a no-bullshit file hosting service that also runs
`0x1a.ro <https: 0x1a.ro="">`_, which was forked from the wonderful `0x0.st <https: 0x0.st="">`
Configuration
-------------
To change settings, copy ``config.py.example`` to ``instance/config.py`` and modify to your liking.
For more information on instance configuration, see `the Flask documentation <https: flask.palletsprojects.com="" en="" 2.0.x="" config="" #instance-folders="">`_.
To customize the home and error pages, 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<span class="ambiguous-code-point tooltip" data-content="’ [U+2019] is confusable with ` [U+0060]"><span class="char">’</span></span>s ``server`` block::
location /up {
internal;
}
where ``/up`` is whatever you<span class="ambiguous-code-point tooltip" data-content="’ [U+2019] is confusable with ` [U+0060]"><span class="char">’</span></span>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``.
Docker Build & Run
------------------
block::
docker build . -t 0x1a:latest
Then run with Docker-Compose block::
version: "3"
services:
"0x1a":
image: 0x1a:latest
container_name: "0x1a"
volumes:
- ./upload:/files
- ./instance:/python-docker/instance
- ./fhost_db.sql:/python-docker/fhost_db.sql
NSFW Detection
--------------
0x0 supports classification of NSFW content via Yahoo<span class="ambiguous-code-point tooltip" data-content="’ [U+2019] is confusable with ` [U+0060]"><span class="char">’</span></span>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``