SecretBooru keeps your images secret.
- HTML 50.7%
- Python 46.6%
- CSS 1.7%
- Shell 0.7%
- JavaScript 0.3%
| media | ||
| static | ||
| templates | ||
| .gitignore | ||
| cmd.py | ||
| crypto.py | ||
| models.py | ||
| README.md | ||
| schema.sql | ||
| secretbooru.py | ||
| settings.py | ||
| start.command | ||
| stop.command | ||
| util.py | ||
| wsgi.py | ||
SecretBooru
SecretBooru is a 'booru clone similar to Gelbooru and Danbooru, that encrypts stored images and decrypts them on the fly.
It should be cross-platform, but Windows has a tendency to break things.
Security
In a few points, SecretBooru:
- Encrypts every image with an unique key
- Stores keys along with the image metadata and tags in a database
- Encrypts the database with an user-provided password
- Doesn't "know" the correct password
- Regenerates the session key on every launch
Note: I'm no security expert or anything. I just came up with a fun idea and built it.
Requirements
Native Packages:
- Python 2.7
- libjpeg (for PIL)
- libpng (for PIL)
PyPi Packages (install with pip)`:
- Flask
- PIL
- pycrypto
- pysqlcipher
Installation
- Install Python 2.7 (it doesn't run on 3.x yet)
- Install libjpeg and libpng
- Install pip
- Run
pip install flask PIL pycrypto pysqlcipher - In the installation directory, run
python cmd.py createdb "<YOUR PASSWORD HERE>"
Usage
The easy way:
- In the installation directory, run
python secretbooru.py - Open
localhost:5000in your browser
The better way (that doesn't work on Windows):
- Install uWSGI
- Run
start.command - Open
localhost:9000in your browser - Stop it with
stop.command