SecretBooru keeps your images secret.
  • HTML 50.7%
  • Python 46.6%
  • CSS 1.7%
  • Shell 0.7%
  • JavaScript 0.3%
Find a file
Johannes Ekberg 0f33c48dc3 Deployment stuff
2013-05-05 12:59:37 +02:00
media I'll start committing properly, I promise 2013-05-03 20:10:33 +02:00
static Pagination 2013-05-05 11:58:44 +02:00
templates ... 2013-05-05 12:10:27 +02:00
.gitignore Added importing and (unencrypted) image serving 2013-05-03 22:55:43 +02:00
cmd.py Gelbooru favorites import 2013-05-05 11:26:34 +02:00
crypto.py Gelbooru favorites import 2013-05-05 11:26:34 +02:00
models.py Pagination 2013-05-05 11:58:44 +02:00
README.md Deployment stuff 2013-05-05 12:59:37 +02:00
schema.sql Gah, this is how you comment 2013-05-05 10:42:05 +02:00
secretbooru.py ... 2013-05-05 12:10:27 +02:00
settings.py Deployment stuff 2013-05-05 12:59:37 +02:00
start.command Deployment stuff 2013-05-05 12:59:37 +02:00
stop.command Deployment stuff 2013-05-05 12:59:37 +02:00
util.py Added post deletion 2013-05-04 19:41:42 +02:00
wsgi.py Deployment stuff 2013-05-05 12:59:37 +02:00

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:5000 in your browser

The better way (that doesn't work on Windows):

  • Install uWSGI
  • Run start.command
  • Open localhost:9000 in your browser
  • Stop it with stop.command