HDBoard is a lightweight and customizable PHP-based message board system inspired by 4chan, designed to be simple, fast, and easy to deploy. Ideal for small communities, personal projects, or internal team boards, HDBoard runs as a single PHP file and uses SQLite for storage.
- Single File: Just one
index.phpfile to deploy. - Easy Installation: No dependencies besides PHP 7+; SQLite DB is created automatically.
- Multiple Boards: Supports dozens of boards/channels, grouped by category.
- User Accounts & Legacy Posting: Register/login or post as a legacy/anonymous user.
- Media Uploads: Supports image, video, and audio attachments (with previews).
- BBCode Formatting: Rich text support with BBCode (bold, italics, spoiler, code, quote, etc).
- Role-Based Moderation: Admin, moderator, janitor, and user roles; users can be banned/unbanned.
- Post Management: Edit and delete your own posts; moderators can manage others.
- Security: CSRF protection, session security, basic input validation.
- Responsive UI: Minimal, mobile-friendly interface with dark mode and quick navigation.
- Customizable: Change board titles, categories, and appearance by editing the file.
- PHP 7.0 or higher
- A web server (Apache, Nginx, etc.)
-
Download:
- Clone the repository or download the
index.phpfile.
git clone https://github.com/HirotakaDango/HDBoard.git # or download index.php from GitHub directly - Clone the repository or download the
-
Deploy:
- Place
index.phpin your web server's root directory.
- Place
-
Access:
- Open your browser and navigate to your site (e.g.,
http://localhost/index.php).
- Open your browser and navigate to your site (e.g.,
-
First run:
- The SQLite database (
board.db) and uploads directory are created automatically on first use.
- The SQLite database (
You can edit index.php directly to modify:
- Board title and categories
- Storage path and file size limits
- Posting rules and board/channel names
- UI appearance (CSS is included in the file)
- User role hierarchy and permissions
/HDBoard
├── index.php
└── (Optional) uploads/
- index.php – Main application file (all logic/UI)
- uploads/ – Where user uploads are stored (auto-created)
- Browse boards: Click any board from the index to view threads.
- Register/Login: Optional – registered users get enhanced features and protections.
- Post Threads/Replies: Fill out the form, attach files if desired, and submit.
- Edit/Delete: Available for your own posts; moderators/admins can manage all posts.
- Moderation: Ban/unban users (janitor+), edit/delete posts, manage users.
- CSRF protection for all forms.
- Sessions use secure cookie settings.
- Passwords stored as bcrypt hashes.
- Input validation for usernames, comments, and uploads.
- Adding Boards: Edit the
ALLOWED_CHANNELS,CHANNEL_NAMES, and$channel_categoriessections inindex.php. - Appearance: All CSS is in the file; tweak to your liking.
- Limits: Adjust
MAX_FILE_SIZE, allowed file extensions, etc.
- Inspired by 4chan and classic imageboards.
- Created by HirotakaDango.
- Contributions and feedback are welcome!
Use responsibly. Some channels may be NSFW. You are responsible for the content and moderation on your deployed instance.
