Source code of Leftypol imageboard
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
discomrade 98b757e948 Rename email field to options. (hack) 2 years ago
banners Adds saboteur banner 2 years ago
inc add colon to character class for cites 2 years ago
js Added Feature - Premade Ban Reasons 2 years ago
static Add various flags 2 years ago
stylesheets Remove fight float on select boxes 2 years ago
templates Rename email field to options. (hack) 2 years ago
tests Protect IPs in public moderation logs. 3 years ago
tmp tesseract OCR support for spamfilters 8 years ago
tools add some stuff to the api, to match vichan's api at the request of a user. fixed the delete-stray-images script 2 years ago
walls Add banners and wallpapers 9 years ago
.gitignore Remove instance configuration 3 years ago
.gitmodules Edit static pages commit 8 years ago
403.php chmod 644 3 years ago
404.html Change 404 page 3 years ago
Dockerfile adding docker items 3 years ago move Tinyboard license 10 years ago Updated license date 10 years ago Merge vichan PHP8 fixes, configure composer, fix outstanding incompatibilities 2 years ago
banned.php Merge vichan PHP8 fixes, configure composer, fix outstanding incompatibilities 2 years ago
banners.php Adds banner support and banners 3 years ago
bg.php chmod 644 3 years ago
c.php chmod 644 3 years ago
captcha.php Add basic captcha 3 years ago
composer.json Update author info 2 years ago
composer.lock Update composer.lock 2 years ago
docker-compose.yml adding docker items 3 years ago
favicon.png Add favicon 10 years ago
install.php Remove useless debug messages 2 years ago
install.sql Fixes Specified key was too long; max key length is 1000 bytes #156 and #93 by changing field lengths to less than 255 or 195 5 years ago
log.php Fix missing function log.php from PHP8 changes 2 years ago
mod.php Merge vichan PHP8 fixes, configure composer, fix outstanding incompatibilities 2 years ago
player.php Suppress warnings that might leak information 10 years ago
post.php Matrix report integration (#74) 2 years ago
report.php Merge vichan PHP8 fixes, configure composer, fix outstanding incompatibilities 2 years ago
robots.txt Allow robots 3 years ago
search.php Merge vichan PHP8 fixes, configure composer, fix outstanding incompatibilities 2 years ago
site.conf adding docker items 3 years ago
smart_build.php Merge vichan PHP8 fixes, configure composer, fix outstanding incompatibilities 2 years ago
staffapplication.php WIP 3 years ago
status.php Fix status.php 2 years ago

leftypol - vichan/lainchan based imageboard software


The leftypol imageboard is a fork of lainchan, a fork of vichan, actively building on it and adding features, bug-fixes and other improvements.

We highly recommend you read the vichan GitHub wiki for a basic guide to features.


  1. PHP >= 5.4 (we do not actively check if this is still supported) PHP 8.0 is explicitly supported. PHP 7.x should be compatable.
  2. MySQL/MariaDB server >= 5.5.3
  3. Composer (To install various packages)
  4. mbstring
  5. PHP GD
  6. PHP PDO

This should be compatible with all major web servers and operating systems. This code does not include an Apache .htaccess file nor does it need one.

  1. ImageMagick (command-line ImageMagick or GraphicsMagick preferred).
  2. APC (Alternative PHP Cache), Redis, XCache or Memcached


You can contribute to leftypol, and upstream imageboard softwares, by:

  • Developing patches/improvements/translations and using this repo to submit pull requests
  • Providing feedback and suggestions
  • Writing/editing documentation

If you need help developing a patch, please reply to the sticky on our /tech/ board.


  1. Download and extract leftypol to your web directory or get the latest development version with:

    git clone git://
  2. run composer install inside the directory

  3. Navigate to install.php in your web browser and follow the prompts.

  4. leftypol should now be installed. Log in to mod.php with the default username and password combination: admin / password.

Please remember to change the administrator account password.

See also: Configuration Basics.


This probably will break if you try and upgrade from vichan or the older (<= August 2021) leftypol versions. Ask us for migration advice if you intend to do so.

To upgrade from this repo:

Either run git pull to update your files, if you used git, or backup your inc/instance-config.php, replace all your files in place (don't remove boards etc.), then put inc/instance-config.php back and finally run install.php.

To migrate from a Kusaba X board, use (untested)


If you find a bug, please report it.

If you need assistance with installing, configuring, or using leftypol, you may find support from a variety of sources:

  • If you're unsure about how to enable or configure certain features, make sure you have read the comments in inc/config.php.
  • For support, reply to the sticky on our /tech/ board.

Tinyboard support

vichan, and by extension lainchan and leftypol, is based on a Tinyboard, so both engines have very much in common. These links may be helpful for you as well:

  • Tinyboard documentation can be found here.

CLI tools

There are a few command line interface tools, based on Tinyboard-Tools. These need to be launched from a Unix shell account (SSH, or something). They are located in a tools/ directory.

You actually don't need these tools for your imageboard functioning, they are aimed at the power users. You won't be able to run these from shared hosting accounts (i.e. all free web servers).


Wanting to have leftypol in your language? You can contribute your translations to vichan at this URL:


leftypol makes use of wPaint for oekaki. After you pull the repository, however, you will need to download wPaint separately using git's submodule feature. Use the following commands:

git submodule init
git submodule update

To enable oekaki, add all the scripts listed in js/wpaint.js to your instance-config.php.

WebM support

Read inc/lib/webm/ for information about enabling webm.

leftypol API

leftypol provides by default a 4chan-compatible JSON API, just like vichan. For documentation on this, see: .