1
0
mirror of https://github.com/vichan-devel/vichan.git synced 2024-12-01 02:27:24 +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
8n-tech ecfe072a4f - IMPORTANT: Now EXPLICITLY defines $post['time'] as PHP time() instead of relying on database NOW().
- Increased memory management in all of my recent work.
- board-search.php Fetches activity from board_stats and now includes timestamp as a search option.
- boards.php Correctly fetches board activity and formats numbers.
- inc/functions.php Completely reworked activity fetching.
- inc/functions Wrote updateStatisticsForPost() which streams new posts in statistics.
- post.php Writes into updateStatisticsForPost() for streaming new posts.
- Added styling for tags (in progress work).
- tools/migrate_board_stats.php Now correcty defines author_ip_count.

Signed-off-by: 8n-tech <8n-tech@users.noreply.github.com>
2015-04-15 01:01:32 +10:00
8chan-captcha Rewrite report system due to flooding 2015-03-13 12:45:57 +08:00
inc - IMPORTANT: Now EXPLICITLY defines $post['time'] as PHP time() instead of relying on database NOW(). 2015-04-15 01:01:32 +10:00
js Merge https://github.com/ctrlcctrlv/infinity 2015-03-29 22:36:34 +00:00
static Signed-off-by: 8n-tech <8n-tech@users.noreply.github.com> 2015-04-09 20:11:48 +10:00
stylesheets - IMPORTANT: Now EXPLICITLY defines $post['time'] as PHP time() instead of relying on database NOW(). 2015-04-15 01:01:32 +10:00
templates - IMPORTANT: Now EXPLICITLY defines $post['time'] as PHP time() instead of relying on database NOW(). 2015-04-15 01:01:32 +10:00
tmp add tmp subdirectory (a filesystem used for further optimizations) 2015-04-06 19:14:24 +02:00
tools - IMPORTANT: Now EXPLICITLY defines $post['time'] as PHP time() instead of relying on database NOW(). 2015-04-15 01:01:32 +10:00
.gitignore update gitignore 2015-04-06 19:15:24 +02:00
.gitmodules Edit static pages commit 2015-03-29 09:18:14 +08:00
404.php 8chan/smart-build: 404.php should global $config? php is weird 2015-04-07 01:48:03 +02:00
banners.php Allow + in board names, add some new config vars (news+) 2014-12-14 03:25:43 -08:00
board-search.php - IMPORTANT: Now EXPLICITLY defines $post['time'] as PHP time() instead of relying on database NOW(). 2015-04-15 01:01:32 +10:00
boards.php - IMPORTANT: Now EXPLICITLY defines $post['time'] as PHP time() instead of relying on database NOW(). 2015-04-15 01:01:32 +10:00
claim-old.php Replace '8chan.co's with '8ch.net's 2015-01-14 14:15:33 -06:00
claim.php Fix claim 2015-02-16 16:10:35 -08:00
create.php Remove ReCAPTCHA from remaining pages 2015-03-18 19:27:47 -07:00
dnsbls_bypass.php Remove ReCAPTCHA from remaining pages 2015-03-18 19:27:47 -07:00
expire.php Expire update: check openBoard, fix ghost board bug 2015-03-14 22:02:16 -07:00
faq.php Translation instructions 2015-03-18 19:28:20 -07:00
index.php Signed-off-by: 8n-tech <8n-tech@users.noreply.github.com> 2015-04-09 20:11:48 +10:00
install.sql Edit static pages commit 2015-03-29 09:18:14 +08:00
LICENSE.md I've made enough commits to this project to have a spot in the license file I think :^) 2015-03-28 18:15:08 +08:00
LICENSE.Tinyboard.md move Tinyboard license 2014-04-18 11:13:41 +02:00
log.php Public action logs commit (log.php) 2015-02-25 17:21:49 -08:00
mod.php Cyclical threads ♺ 2015-04-03 14:56:28 +08:00
player.php Suppress warnings that might leak information 2014-08-09 12:14:56 +02:00
post.php - IMPORTANT: Now EXPLICITLY defines $post['time'] as PHP time() instead of relying on database NOW(). 2015-04-15 01:01:32 +10:00
random.php SECURITY: Move indexed option to table...fixes unindexed boards appearing in search/random 2014-10-07 20:54:00 -07:00
README.md Let's write some more documentation 2015-03-29 10:56:17 +08:00
report.php Oops forgot a file 2015-03-13 12:53:27 +08:00
search.php remove inane code 2015-02-26 19:11:41 +09:00
settings.php Add some forgotten settings to settings.php 2015-04-04 10:37:00 +08:00
smart_build.php 8chan/smart-build: includable 404.php 2015-04-07 01:44:55 +02:00
translation.php Translation instructions 2015-03-18 19:28:20 -07:00

infinity

About

infinity is a fork of vichan, with the difference that infinity is geared towards allowing users to create their own boards. A running instance is at 8ch.net (new! a user of the software wrote to me that they created a Polish version: 8ch.pl)

Most things (other than installation) that apply to upstream vichan also apply to infinity. See their readme for a detailed FAQ: https://github.com/vichan-devel/vichan/blob/master/README.md

If you are not interested in letting your users make their own boards, install vichan instead of infinity.

Much like Arch Linux, infinity should be considered ``rolling release''. Unlike upstream vichan, we have no install.php. Database schema and templates are changed often and it is on you to read the Git log before updating!

Installation

Basic requirements: A computer running a Unix or Unix-like OS(infinity has been specifically tested with and is known to work under Ubuntu 14.x), Apache, MySQL, and PHP

  • Make sure Apache has read/write access to the directory infinity resides in.
  • install.php is not maintained. Don't use it.
  • As of February 22, 2015, you need the DirectIO module (dio.so). This is for compatibility with NFS.

Step 1. Create infinity's database from the included install.sql file. Enter mysql and create an empty database named 'infinity'. Then cd into the infinity base directory and run:

mysql -uroot -p infinity < install.sql
echo '+ <a href="https://github.com/ctrlcctrlv/infinity">infinity</a> '`git rev-parse HEAD|head -c 10` > .installed

Step 2. /inc/secrets.php does not exist by default, but infinity needs it in order to function. To fix this, cd into /inc/ and run:

sudo cp secrets.example.php secrets.php

Now open secrets.php and edit the $config['db'] settings to point to the 'infinity' MySQL database you created in Step 1. 'user' and 'password' refer to your MySQL login credentials. It should look something like this when you're finished:

	$config['db']['server'] = 'localhost';
	$config['db']['database'] = 'infinity';
	$config['db']['prefix'] = '';
	$config['db']['user'] = 'root';
	$config['db']['password'] = 'password';
	$config['timezone'] = 'UTC';
	$config['cache']['enabled'] = 'apc';

Step 3.(Optional) By default, infinity will ignore any changes you make to the template files until you log into mod.php, go to Rebuild, and select Flush Cache. You may find this inconvenient. To make infinity automatically accept your changes to the template files, set $config['twig_cache'].

Step 4. Infinity can function in a very barebones fashion after the first two steps, but you should probably install these additional packages if you want to seriously run it and/or contribute to it. ffmpeg may fail to install under certain versions of Ubuntu. If it does, remove it from this script and install it via an alternate method. Make sure to run the below as root:

apt-get install graphicsmagick gifsicle php5-fpm mysql-client php5-mysql php5-cli php-pear php5-apcu php5-dev; add-apt-repository ppa:jon-severinsson/ffmpeg; add-apt-repository ppa:nginx/stable; apt-get update; apt-get install nginx ffmpeg; pear install Net_DNS2; pecl install "channel://pecl.php.net/dio-0.0.7"

Page Generation

A lot of the static pages (claim.html, boards.html, index.html) need to be regenerated every so often. You can do this with a crontab.

*/10 * * * * cd /srv/http; /usr/bin/php /srv/http/boards.php
*/5 * * * * cd /srv/http; /usr/bin/php /srv/http/claim.php > /srv/http/claim.html
*/20 * * * * cd /srv/http; /usr/bin/php -r 'include "inc/functions.php"; rebuildThemes("bans");'
*/5 * * * * cd /srv/http; /usr/bin/php /srv/http/index.php

Also, main.js is empty by default. Run tools/rebuild.php to create it every time you update one of the JS files.

Have fun!