Skip to content
LAITH343Public

About

open-source, self-hosted manhwa reader

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

📚 manhwa343

manhwa343 is an open-source, self-hosted manhwa reader built with Laravel 12. Designed for home labs or isolated networks, it doesn't require internet access to run. Just add your own manhwa content and enjoy offline, multi-user reading with support for favorites and reading history.


🚀 Features

  • ✅ Self-hosted & offline: Works entirely without internet.
  • 📂 Add your own manhwa files and structure.
  • 👥 Multi-user support (admin-created only).
  • ❤️ Favorite manhwa tracking.
  • 🕓 Reading history saved per user.
  • 📶 Laravel 12-powered API & UI.

🛠️ Installation

Requirements

  • PHP >= 8.2
  • Composer
  • MySQL or SQLite
  • Laravel 12
  • A local or virtual web server (e.g. Nginx, Apache)
  • Node.js and npm (for building frontend assets)

Steps

git clone https://github.com/LAITH343/manhwa343.git
cd manhwa343

composer install
npm install && npm run build

cp .env.example .env

php artisan key:generate

php artisan migrate

php artisan storage:link
chmod -R 775 storage

php artisan serve

Access the app at: http://localhost:8000


📁 Adding Your Manhwa Content

To add your manhwa files to the system:

  1. Navigate to storage/app/private
  2. Create a folder using a unique ID for your manhwa (e.g., one-piece, naruto)

Example structure:

storage/app/private/
└── naruto/                # <- manhwa ID
    ├── banner.png         # <- banner image
    ├── 1/                 # <- chapter 1
    │   ├── 1.png
    │   ├── 2.png
    │   ├── ...
    │   └── metadata.json
    ├── 2/                 # <- chapter 2
    │   ├── 1.png
    │   └── ...
    └── ...

metadata.json structure:

{
    "title": "1",
    "published_at": 1555275600
}
  • title: Chapter title (e.g., "1")
  • published_at: Unix timestamp of publish date

🛠️ Registering Manhwa in the System

After adding your manhwa content to storage/app/private, follow these steps:

  1. Start the app:
php artisan serve
  1. Navigate to the admin panel:
http://localhost:8000/admin
  1. Log in using the default admin credentials:
  • Username: admin
  • Password: 12345678
  1. Click on the "Manhwas" tab in the sidebar.
  2. Click "New Manhwa".
  3. Fill in the manhwa information (title, description, etc.).
  4. For the Manhwa ID, use the exact same folder name you created in storage/app/private.

✅ Once saved, the app will link your added content with the manhwa entry and make it available for users to read.


👥 User Management

  • ❌ User self-registration is disabled.
  • ✅ Users can only be added by an admin via the admin panel.

To add users:

  1. Go to the admin panel: http://localhost:8000/admin
  2. Log in as admin
  3. Click on the "Users" tab
  4. Press "New User" and fill in their info

All user data (reading history, favorites, progress) is stored per account.


🖼️ Screenshots

Here are some UI previews:

Screenshot 1

Screenshot 2

Screenshot 3

Screenshot 4

Screenshot 5

Screenshot 6

Screenshot 7

💬 Contributing

This is an open-source project. Contributions, ideas, and pull requests are welcome!

  1. Fork the repo
  2. Create your feature branch (git checkout -b feature/thing)
  3. Commit your changes
  4. Push to the branch
  5. Create a new Pull Request

⚖️ License

This project is open-sourced under the MIT license.


🔒 Privacy Focused

manhwa343 runs entirely offline, making it perfect for private use in home networks, LAN parties, or air-gapped environments.


✨ Made with Laravel 12

Happy reading! 📖

About

open-source, self-hosted manhwa reader

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages