|
||
---|---|---|
css | ||
inc | ||
js | ||
locale | ||
res | ||
src | ||
thumb | ||
.gitignore | ||
.htaccess | ||
favicon.ico | ||
imgboard.php | ||
LICENSE | ||
lock.png | ||
README.md | ||
settings.default.php | ||
sticky.png | ||
swf_thumbnail.png | ||
video_overlay.png |
TinyIB - Lightweight and efficient imageboard
See TinyIB Installations for demos.
Features
Got database? Get speed. Use MySQL, PostgreSQL or SQLite for an efficient set-up able to handle high amounts of traffic.
No database? No problem. Store posts as text files for a portable set-up capable of running on virtually any PHP host.
Not looking for an image board script? TinyIB is able to allow new threads without requiring an image, or even disallow images entirely. See the Text Board Mode wiki page for instructions.
- GIF, JPG, PNG, SWF, MP4 and WebM upload.
- YouTube, Vimeo and SoundCloud embedding.
- CAPTCHA
- A simple, self-hosted implementation is included.
- ReCAPTCHA is supported but not recommended.
- Reference links.
>>###
- Delete posts via password.
- Report posts.
- Management panel:
- Administrators and moderators use separate passwords.
- Moderators are only able to sticky threads, lock threads, delete posts, and approve posts when necessary. (See
TINYIB_REQMOD
)
- Moderators are only able to sticky threads, lock threads, delete posts, and approve posts when necessary. (See
- Ban offensive/abusive posters across all boards.
- Post using raw HTML.
- Upgrade automatically when installed via git. (Tested on Linux only)
- Administrators and moderators use separate passwords.
- Translations:
- Chinese
- Dutch
- French
- German
- Italian
- Korean
- Norwegian
- Spanish (Mexico)
Donate
Please consider supporting the continued development of TinyIB.
Install
- Verify the following are installed:
- PHP 5.5+
- GD Image Processing Library
- This library is usually installed by default.
- If you plan on disabling image uploads to use TinyIB as a text board only, this library is not required.
- CD to the directory you wish to install TinyIB.
- Run the command:
git clone https://gitlab.com/tslocum/tinyib.git ./
- Copy settings.default.php to settings.php
- Configure settings.php
- When setting
TINYIB_DBMODE
toflatfile
, note that all post, report and ban data are exposed as the database is composed of standard text files. Access to ./inc/database/flatfile/ should be denied. - When setting
TINYIB_DBMODE
topdo
, note that only the MySQL and PostgreSQL databases drivers have been tested. Theoretically it will work with any applicable driver, but this is not guaranteed. If you use an alternative driver, please report back. - To require moderation before displaying posts:
- Set
TINYIB_REQMOD
tofiles
to require moderation for posts with files attached. - Set
TINYIB_REQMOD
toall
to require moderation for all posts. - Moderate posts by visiting the management panel.
- Set
- To allow video uploads:
- Ensure your web host is running Linux.
- Install mediainfo and ffmpegthumbnailer. On Ubuntu, run
sudo apt-get install mediainfo ffmpegthumbnailer
. - Add desired video file types to
$tinyib_uploads
.
- To remove the play icon from .SWF and .WebM thumbnails, delete or rename video_overlay.png
- To use ImageMagick instead of GD when creating thumbnails:
- Install ImageMagick and ensure that the
convert
command is available. - Set
TINYIB_THUMBNAIL
toimagemagick
. - Note: GIF files will have animated thumbnails, which will often have large file sizes.
- Install ImageMagick and ensure that the
- To use TINYIB in another language:
- Set
TINYIB_LOCALE
to a language code found inlocale/
. - Ensure you are running PHP 5.4+.
- Set
- When setting
- CHMOD write permissions to these directories:
- ./ (the directory containing TinyIB)
- ./src/
- ./thumb/
- ./res/
- ./inc/database/flatfile/ (only if you use the
flatfile
database mode)
- Navigate your browser to imgboard.php and the following will take place:
- The database structure will be created.
- Directories will be verified to be writable.
- The board index will be written to
TINYIB_INDEX
.
Moderate
- If you are not logged in already, log in to the management panel by clicking [Manage].
- On the board, tick the checkbox next to the offending post.
- Scroll to the bottom of the page.
- Click Delete with the password field blank.
- From this page you are able to delete the post and/or ban the author.
Update
- Obtain the latest release.
- If you installed via Git, run the following command in TinyIB's directory:
git pull
- Otherwise, download and extract a zipped archive.
- If you installed via Git, run the following command in TinyIB's directory:
- Note which files were modified.
- If settings.default.php was updated, migrate the changes to settings.php
- Take care to not change the value of
TINYIB_TRIPSEED
, as it is used to generate secure tripcodes, hash passwords and hash IP addresses.
- Take care to not change the value of
- If other files were updated, and you have made changes yourself:
- Visit GitLab and review the changes made in the update.
- Ensure the update does not interfere with your changes.
- If settings.default.php was updated, migrate the changes to settings.php
Migrate
TinyIB includes a database migration tool.
While the migration is in progress, visitors will not be able to create or delete posts.
- Edit settings.php
- Set
TINYIB_DBMIGRATE
to the desiredTINYIB_DBMODE
after the migration. - Configure all settings related to the desired
TINYIB_DBMODE
.
- Set
- Open the management panel.
- Click Migrate Database
- Click Start the migration
- If the migration was successful:
- Edit settings.php
- Set
TINYIB_DBMODE
to the mode previously specified asTINYIB_DBMIGRATE
. - Set
TINYIB_DBMIGRATE
to a blank string (''
).
- Set
- Click Rebuild All and ensure the board still looks the way it should.
- Edit settings.php
Support
- Ensure you are running the latest version of TinyIB.
- Review the open issues.
- Open a new issue.
Translate
Translation is handled online.
Contribute
Note: Please do not submit translations as pull requests. See above.
- Read the GitLab Forking Workflow.
- Fork TinyIB.
- Commit code changes to your forked repository.
- Submit a pull request describing your modifications.