An attempt to rebase leftypol software on vichan.
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 3268da0303 Add leftypol_vichan info to README 3 months ago
inc allow disabling post deletion for old posts 3 months ago
js Add mod.php logic 3 months ago
static Update flags 3 months ago
stylesheets parity 3 months ago
templates get duckroll'd 3 months ago
tmp tesseract OCR support for spamfilters 8 years ago
tools update twig to 2.9 3 months ago
.gitignore use composer 3 years ago
.gitmodules Add Twemoji submodule. To use: git submodule init && git submodule update 3 months ago move Tinyboard license 10 years ago Update license and copyright dates 6 years ago Add leftypol_vichan info to README 3 months ago
b.php fix issues with the banner script not working 3 months ago
banned.php Fix invisible not-banned text in some themes 2 years ago
composer.json Update composer.json 3 months ago
composer.lock update twig to 2.9 3 months ago
install.php discontinue php versions before 7.4 3 months ago
install.sql remove telegrams 3 months ago
log.php Add required include for mod_board_log in log.php 1 year ago
mod.php remove telegrams 3 months ago
player.php Suppress warnings that might leak information 10 years ago
post.php logic for preventing deletion of old posts 3 months ago
report.php Moved hardcoded html filepaths into config file for extensibility (#354) 3 months ago
search.php Moved hardcoded html filepaths into config file for extensibility (#354) 3 months ago
securimage.php Add meaningful error codes for captchas 1 year ago
smart_build.php fix require's 3 years ago
status.php Add status.php for mobile API 3 months ago


This is effectively a fork of vichan, with various cherry-picked features from other vichan forks, mostly lainchan, leftypol[lainchan] and NPFchan. Its goal is to make updating with new commits from vichan as easy as possible, while maintaining useful extra features. Hopefully most of these extra features can eventually be upstreamed, where appropriate.

This fork aims to stay as up-to-date with vichan's main branch as reasonable. This is in line with the current maintainer's remark that it is more stable than the most recent release[1]. Add new commits from upstream by manually cherry-picking from vichan and resolving any conflicts.

This is not recommended for use outside of due to a lack of documentation, especially around database migration (the extra features we've merged have modified the database significantly) and various broken/untested functionalities.

The remaining README has been left unedited from vichan upstream for ease of maintainance. Do not blindly trust any information in it.

vichan - A lightweight and full featured PHP imageboard.

Please do not contact Fredrick Brennan in regards to vichan issues.

As of 29 August 2022 it supports PHP8.1.


vichan is a free light-weight, fast, highly configurable and user-friendly imageboard software package. It is written in PHP and has few dependencies.

For best results, you should use a stable release from the releases page. The master branch is used for development work and testing. You may experience bugs if you use master.

Some documentation may be found on our wiki. (feel free to contribute)


vichan is a fork of (now defunc'd) Tinyboard, a great imageboard package, actively building on it and adding a lot of features and other improvements.

Maintainer timeline

  1. @perdedora and @RealAngeleno - 2023-Present.
  2. Development Commission lead by @basedgentoo, @kuz-sysadmin, and @RealAngeleno. (2023 - 2023)
  3. @h00j (2021 - ???)
  4. @ctrlcctrlv (2017 - 2021)
  5. @czaks (2014 - 2017) (The author of vichan fork)
  6. @savetheinternet (2010 - 2014) (The creator of Tinyboard)


  1. PHP >= 7.4
  2. MySQL/MariaDB server
  3. mbstring
  4. PHP GD
  5. PHP PDO
  6. A Unix-like OS, preferrably FreeBSD or GNU/Linux

We try to make sure vichan is compatible with all major web servers. vichan does not include an Apache .htaccess file nor does it need one.

  1. MySQL/MariaDB server >= 5.5.3
  2. ImageMagick (command-line ImageMagick or GraphicsMagick preferred).
  3. APC (Alternative PHP Cache), APCu (Alternative PHP Cache), XCache, Memcached or Redis


You can contribute to vichan by:

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


  1. 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. vichan 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.


To upgrade from any version of Tinyboard or vichan:

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


vichan is still beta software -- there are bound to be bugs. If you find a bug, please report it.

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).


vichan 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.

vichan API

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