Introducing Init Uploader
Init Uploader is a self-hosted storage system developed specifically for Init Manga, allowing you to manage and store all chapter images directly on your own server — without relying on third-party services. The entire process of uploading, authentication, and response happens directly between your website and your server.
This solution is built for site owners who value data control, security, and performance. Init Uploader works alongside other storage methods, giving you a third option that is secure, private, and completely independent.
Key Benefits
- Full Data Ownership: Host and manage all chapter images on your own server or VPS.
- Enhanced Security: Supports authentication via API Key or HMAC signature with time window validation.
- Consistent Performance: Reduce latency by leveraging your own infrastructure or internal CDN.
- Cost Efficiency: Avoid recurring third-party storage fees.
- Native Integration: Built directly into Init Manga — simply enable and start using.
Server-Side Installation
Create a file named init-uploader.php on your web server (in your public directory) and paste the configuration below:
// ==================== CONFIGURATION ====================
// Authentication Configuration
define('API_KEY', 'your-secret-api-key-here'); // API key for static authentication
define('SECRET_KEY', 'your-secret-hmac-key-here'); // Secret key for HMAC signature
define('USE_HMAC_AUTH', false); // true = use HMAC, false = use static API key
define('HMAC_TIME_WINDOW', 300); // Maximum timestamp difference in seconds (5 minutes)
// Path Configuration
define('UPLOAD_DIR', __DIR__ . '/uploads'); // Directory to store uploaded images
define('BASE_URL', 'https://your-domain.com'); // Base URL of your server
// Upload Limitations
define('MAX_FILE_SIZE', 10 * 1024 * 1024); // Maximum file size in bytes (10MB)
define('ALLOWED_EXTENSIONS', ['jpg', 'jpeg', 'png', 'gif', 'webp']); // Allowed file extensions
// Validation Configuration
define('STRICT_IMAGE_VALIDATION', false); // true = strict MIME type check, false = relaxed (allow more file types)
// System Configuration
define('ENABLE_LOGGING', true); // Enable/disable logging
define('REQUIRE_HTTPS', true); // Require HTTPS connections
Make sure the /uploads directory is writable (chmod 755 or 775). If you use a CDN or Cloudflare, you can host this script on a separate subdomain, such as cdn.your-domain.com, to offload traffic and improve delivery speed.
Recommended PHP Configuration
To ensure Init Uploader runs smoothly when uploading multiple images or large files, adjust your PHP limits as follows:
; php.ini or .user.ini
; Increase maximum upload size
upload_max_filesize = 128M
post_max_size = 128M
; Extend execution time (useful for multi-image uploads)
max_execution_time = 300
max_input_time = 300
; Allow more memory for image processing and logging
memory_limit = 512M
If you’re on shared hosting, you can set these values in a .user.ini or .htaccess file (for Apache), for example:
# .htaccess
php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value max_execution_time 300
php_value memory_limit 512M
Suggested Nginx Configuration
If you’re using Nginx, add the following configuration to allow large uploads and improve API response performance:
server {
server_name your-domain.com;
root /var/www/your-domain.com/public;
# Increase upload limit
client_max_body_size 128M;
# Optimize connection timeouts
keepalive_timeout 30;
send_timeout 120;
# Secure Init Uploader script
location /init-uploader.php {
include fastcgi_params;
fastcgi_pass unix:/run/php/php8.2-fpm.sock; # adjust for your PHP version
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_read_timeout 300;
}
# Optimize image caching
location /uploads/ {
expires 30d;
add_header Cache-Control "public, no-transform";
}
}
With this configuration, Init Uploader can handle large chapter uploads or high-resolution image batches without triggering 413 Request Entity Too Large or 504 Gateway Timeout errors. This is especially useful when uploading complete chapters or heavy artwork collections.
If you’re hosting on a VPS or dedicated server, it’s recommended to enable OPcache and FastCGI caching for maximum performance when uploading and serving images to readers.
How to Enable Init Uploader in Init Manga
After updating to version 1.7.0, you can activate Init Uploader in your admin panel:
- Go to Init Manga → Integrations → Init Uploader.
- Toggle Enable Init Uploader to turn it on.
- Enter your Uploader Endpoint URL, for example:
https://your-domain.com/init-uploader.php. - Select your preferred authentication method: Static API Key or HMAC.
- Fill in your credentials and upload path template.
Once saved, click Test Init Uploader to verify the connection. If it returns “success”, your setup is complete and ready to use.
Example Configuration in Init Manga
| Field | Sample Value |
|---|---|
| Enable Init Uploader | Enabled |
| Uploader Endpoint URL | https://cdn.your-domain.com/init-uploader.php |
| Auth Mode | Static API Key |
| API Key | your-secret-api-key-here |
| Default Upload Path Template | manga/{manga_id}/chapters/{chapter_id} |
Smoother Upload Experience
In the Chapter Editor, you will now see three unified upload options: Local, Wasabi, and Init Uploader. All buttons share the same progress indicator that displays a subtle percentage beside them. No pop-ups, no blocking alerts, and no reloads — just a clean and seamless upload experience.
Storage Methods Comparison
Init Manga currently supports three upload and storage methods — Local Storage, Wasabi, and Init Uploader. Each serves a different purpose depending on your scalability, budget, and infrastructure requirements.
| Method | Best For | Advantages | Considerations |
|---|---|---|---|
| Local Storage | Beginners or small sites |
|
|
| Wasabi | Growing platforms or teams |
|
|
| Init Uploader | Advanced users with private or dedicated servers |
|
|
Quick summary:
- Choose Local – when starting small, minimizing costs, or handling manual backups.
- Choose Wasabi – when scaling up with affordable cloud storage and automatic CDN delivery.
- Choose Init Uploader – when prioritizing full data control, self-hosted performance, and privacy.
Conclusion
The Init Manga 1.7.0 update goes beyond performance improvements — it gives you full control over your content and storage strategy. With Init Uploader, you can securely host your own data, maintain independence from external services, and ensure long-term reliability for your readers and creators alike.
Comments