PHP/MYSQL forum
PHP CSS JavaScript
Switch branches/tags
Nothing to show

README.md

RegularBoard

This reddit/twitter-style BBS features common modern social network amenities, such as thread voting, nested comments, and content categorization via tagging, as well as those more commonly found on anonymous imageboards, such as the ability to post completely anonymously, while other efforts have been put forth to ensure that the design looks and behaves as a native app, with the intention of usability being uniform no matter how the content is being browsed - mobile or via desktop.

Installation

  1. Open /rb-config-example.php and fill out the fields with the appropriate information.
  2. Save this file as /rb-config.php.
  3. Load your installation via webbrowser.
  4. Set up NGINX/Apache rulesets for the different application actions (listed below).

Registering a new account while using the mod hash will ensure that the account being created is able to admin the content of the site.

NGINX Rulesets

location / {
    # Quints
    rewrite ^/user/(.*)/comments/page/(.*) /?user=$1&comments&page=$2 last;
    rewrite ^/user/(.*)/images/page/(.*) /?user=$1&images&page=$2 last;
    # Quads
    rewrite ^/all/discussion/page/(.*) /?all&discussion&page=$1 last;
    rewrite ^/all/new/page/(.*) /?all&new&page=$1 last;
    rewrite ^/all/top/page/(.*) /?all&top&page=$1 last;
    rewrite ^/host/(.*)/page/(.*) /?host=$1&page=$2 last;
    rewrite ^/moderation/page/(.*) /?moderation&page=$1 last;
    rewrite ^/thread/(.*)/page/(.*) /?thread=$1&page=$2 last;
    rewrite ^/threads/discussion/page/(.*) /?threads&discussion&page=$1 last;
    rewrite ^/threads/new/page/(.*) /?threads&new&page=$1 last;
    rewrite ^/threads/top/page/(.*) /?threads&top&page=$1 last;
    rewrite ^/user/(.*)/comments/(.*) /?user=$1&comments&$2 last;
    rewrite ^/user/(.*)/images/(.*) /?user=$1&images&$2 last;
    # Triples
    rewrite ^/all/page/(.*) /?all&page=$1 last;
    rewrite ^/api/(.*)/(.*) /api/index.php?kind=$1&id=$2 last;
    rewrite ^/comments/page/(.*) /?comments&page=$1 last;
    rewrite ^/images/page/(.*) /?images&page=$1 last;
    rewrite ^/inbox/page/(.*) /?inbox&page=$1 last;
    rewrite ^/threads/page/(.*) /?threads&page=$1 last;
    rewrite ^/users/page/(.*) /?users&page=$1 last;
    # Doubles
    rewrite ^/all/discussion /?all&discussion last;
    rewrite ^/all/new /?all&new last;
    rewrite ^/all/top /?all&top last;
    rewrite ^/threads/discussion /?threads&discussion last;
    rewrite ^/threads/new /?threads&new last;
    rewrite ^/threads/top /?threads&top last;
    rewrite ^/host/(.*) /?host=$1 last;	
    # Singles
    rewrite ^/all /?all last;
    rewrite ^/comments /?comments last;
    rewrite ^/images /?images last;	
    rewrite ^/moderation /?moderation last;	
    rewrite ^/page/(.*) /?page=$1 last;
    rewrite ^/register /?settings&register last;
    rewrite ^/settings /?settings last;
    rewrite ^/logout /?logout last;
    rewrite ^/threads /?threads last;
    rewrite ^/users /?users last;
    # Wildcard rules
    rewrite ^/(.*)/(.*)/(.*)/(.*)/(.*)/(.*) /?$1=$2&$3&$4&$5=$6 last;
    rewrite ^/(.*)/(.*)/(.*)/(.*)/(.*) /?$1=$2&$3&$4=$5 last;
    rewrite ^/(.*)/(.*)/(.*)/(.*) /?$1=$2&$3=$4 last;
    rewrite ^/(.*)/(.*)/(.*) /?$1=$2&$3 last;
    rewrite ^/(.*)/(.*) /?$1=$2 last;
}
location /rb-content/ { }
location /rb-includes/ { }