/picochan

Fast JS-free imageboard engine in LuaJIT using SQLite

Primary LanguageLua

---> INTRODUCTION <---

Picochan is imageboard software.

Key features which differentiate picochan from mainstream imageboard software
like vichan and friends:

  - No javascript of any type is used anywhere. In fact, CSP is used to block
    execution of any and all javascript, which makes XSS attacks impossible.
    Despite this, many "javascript" features such as floating reply box,
    working mobile view, inline image expansion etc. are present
  - High speed and small code size along with good feature density
  - Highly transparent moderation logs which include a reason for all
    moderation actions such as deleting a post, autosaging a thread etc.

For reference, this software is loosely based upon nanochan, but most of it
is rewritten. Several key improvements exist in picochan which do not exist in
nanochan:

  - Support for multiple files per post has been introduced
  - Support for inline image expansion has been introduced
  - Support for cross-board links where the post linked to is not a thread has
    been introduced
  - Support for intra-board links where the post linked to is not in the
    current thread has been introduced
  - Redirects are now done through HTTP 303 rather than HTML meta http-equiv
  - More board settings have been introduced
  - Database structure is significantly improved. This increases speed by a
    large amount (orders of magnitude), especially with large boards or long
    threads
  - Backend and frontend are separate. This improves code simplicity a little
    and also allows for more frontends.
  - There is a JSON frontend to allow for external clients to be written.
  - LuaJIT is used, and the software's speed is further improved

Other more minor changes:

  - Theme has been changed to dark. CSS was modified.
  - Site name can be changed through the administration interface and is
    no longer hard-coded.
  - Opening the post box using the keyboard shortcut no longer jumps you
    back up to the top of the page.
  - Posts do not include redundant <br> elements.
  - Formatting has been improved significantly from the original Nanochan
    formatting engine.

Sample webserver configuration is at https://github.com/vxiiduu/picochan-wsconf
Installation instructions can be found at /INSTALL