b2d830e2aa
Some servers (like IPFS gateways) will use chunked transfer encoding on anything but identity content encoding. Also, probably fix a potential zip bomb vulnerability. |
||
---|---|---|
migrations | ||
nsfw_model | ||
.gitignore | ||
cleanup.py | ||
fhost.py | ||
LICENSE | ||
nsfw_detect.py | ||
README.rst | ||
requirements.txt |
The Null Pointer
This is a no-bullshit file hosting and URL shortening service that also runs 0x0.st. 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
FAQ
- Q:
-
Will you ever add a web interface with HTML forms?
- A:
-
No. This would without a doubt make it very popular and quickly exceed my hosting budget unless I started crippling it.
- 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.