Veil server

Farooq Karimi Zadeh b3c15243ad Message for /addnew when success 10 months ago
templates f822febbfc It should not have been added... 10 months ago
.gitignore 2f53c1ed70 Initial commit 1 year ago
LICENSE 58eea7b31d Adding licence 1 year ago 95d8d6d942 neo -> tomato 10 months ago b3c15243ad Message for /addnew when success 10 months ago
bs_panel_template.html 9006a9e109 Removing vote section 1 year ago 50073fda6e Sample config 1 year ago



This is code of Veil server-side. A project which tries to censor inappropriate images for users.


  • /: Retrieve a list of sites an pages with inappropriate images. No arguments.

  • /vote: Vote for a page or site because of having inappropriate images. IP address is recorded for each vote. site's hostname(optionally with port) or page's address must be passed as addr.

  • /unvote: Remove vote for a page or site. Argument: addr(See /vote)

  • /panel: See the administration panel. Requires tomato or admin level.

  • /login: Login page.

  • /logout: Logout via this.

  • /addadmin: Add a new admin for the system. Requires tomato level.


Create a Python class named BSConfig inside a file named The class must have the following properties:

  • db_path: Path to the LMDB DB(It will create one if there is no file with such name there.

  • bindto: The IP address of the system it should bind to.

  • port: The port it should listen to. The Veil client connects to port 6101.

  • tomato_pwd_hash: Hash of your tomato's password(SHA512)

  • templates_path: Path to the directory containing panel.html, login.html and addadmin.html template files.

See for an example.


It is under ISC licence(as permissive as MIT). See LICENSE.