1
0
mirror of https://github.com/vichan-devel/vichan.git synced 2024-11-30 18:24:29 +01:00
Vichan is the most popular and widely used imageboard software in the world. It is a free, light-weight, fast, highly configurable and user-friendly imageboard software package.
Go to file
2024-11-24 19:05:01 +01:00
docker docker: use composer LTS 2024-10-01 15:01:03 +02:00
inc polifill.php: add str_starts_with 2024-11-24 19:05:01 +01:00
js quote-selection.js: format 2024-09-19 22:58:23 +02:00
static Add files via upload 2024-05-08 18:53:29 -07:00
stylesheets style.css: adjust catalog thread centering 2024-10-24 23:59:02 +02:00
templates Merge pull request #828 from Zankaria/catalog-styling 2024-10-31 13:52:34 -07:00
tmp tesseract OCR support for spamfilters 2016-06-09 11:09:10 +02:00
tools maintenance.php: delete expired filesystem cache 2024-10-10 23:10:05 +02:00
.dockerignore docker: prepare compose for multiple test instances 2024-04-16 22:32:41 +02:00
.gitignore docker: prepare compose for multiple test instances 2024-04-16 22:32:41 +02:00
.gitmodules Add Twemoji submodule. To use: git submodule init && git submodule update 2023-03-25 01:15:47 -04:00
b.php b.php: make banners redirect instead of serving the image directly 2024-04-17 10:15:55 +02:00
banned.php remove requires since we are using autoload and its broken 2023-01-12 15:33:33 -05:00
compose.yml docker: use shorter name for instance 2024-10-04 20:16:06 +02:00
composer.json update maxmind lib 2024-11-15 13:11:47 -03:00
composer.lock update maxmind lib 2024-11-15 13:11:47 -03:00
install.php made https flag make sense 2024-09-17 22:20:36 -07:00
install.sql Delete stale unreferenced ban appeals via foreign key constrain 2024-08-11 10:20:02 +02:00
LICENSE.md Update license and copyright dates 2018-03-01 22:57:53 -03:00
LICENSE.Tinyboard.md move Tinyboard license 2014-04-18 11:13:41 +02:00
log.php fix require's 2021-02-13 21:30:27 +01:00
mod.php mod.php: add missing context parameter 2024-10-06 11:25:57 +02:00
player.php Suppress warnings that might leak information 2014-08-09 12:14:56 +02:00
post.php update maxmind lib 2024-11-15 13:11:47 -03:00
README.md update maxmind lib 2024-11-15 13:11:47 -03:00
report.php Moved hardcoded html filepaths into config file for extensibility (#354) 2022-08-29 10:50:45 -04:00
search.php change the search exclusion error to just be a blacklist via server side verification 2024-05-09 23:19:50 -07:00
securimage.php break to avoid undefined error (#514) 2022-11-28 17:10:20 -05:00
smart_build.php fix require's 2021-02-13 21:30:27 +01:00

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.

About

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

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

History

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)

Requirements

  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. APCu (Alternative PHP Cache), Memcached or Redis

Contributing

You can contribute to vichan by:

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

Installation

  1. Get the latest development version with:

    git clone git://github.com/vichan-devel/vichan.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.

Upgrade

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 http://github.com/vichan-devel/Tinyboard-Migration

Demo

Demo with the most updated version of Vichan.

  1. PHP 8.1
  2. MySQL 5.7
  3. KeyDB 6.2.1 (Redis)
  4. NGINX 1.14.0

Support

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

Oekaki

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/README.md for information about enabling webm.

Docker

Vichan comes with a Dockerfile and docker-compose configuration, the latter aimed primarily at development and testing. See the docker/doc.md file for more information.

MaxMind support

We use MaxMind to retrieve flags for posts. Previously, the country database was stored in inc/lib/geoip, but updating it in that location became unmanageable. Now, a MaxMind account is required to download the country database.

How to Set It Up

  1. Follow these instructions to create a free account for using GeoLite2: Create an Account on MaxMind

  2. Download the database using maxmind website

  3. (Optional) Install geoipupdate to download the database using CLI: GeoIP Update Installation Guide

    1. Edit the /etc/GeoIP.conf file to add your API key.
    2. Run geoipupdate
  4. Update path in $config['maxmind']['db_path']

  5. (Optional) Set up a cron job to automatically update the database:

    0 0 * * 2,5 geoipupdate
    

vichan API

vichan provides by default a 4chan-compatible JSON API. For documentation on this, see: https://github.com/vichan-devel/vichan-API/ .

License

See LICENSE.md.