راهنمای نصب nini_nina بدون دیتابیس
===================================

این نسخه هیچ دیتابیس MySQL یا فایل SQL لازم ندارد. پیام‌ها در فایل JSON داخل پوشه data ذخیره می‌شوند.

۱) فایل ZIP را در پوشه‌ای داخل public_html آپلود و Extract کنید؛ برای نمونه public_html/nini_nina/.
۲) مطمئن شوید هاست PHP فعال دارد (ترجیحاً PHP 8.0 یا جدیدتر) و پوشه data قابل نوشتن توسط PHP است. معمولاً مجوز پوشه 0750 یا 0755 کافی است؛ اگر پیام ذخیره نشد، از File Manager مجوز پوشه را با پشتیبانی هاست بررسی کنید.
۳) به https://YOUR-DOMAIN/nini_nina/ بروید و وارد شوید.
۴) رمز مشترک ورود فعلی همان رمزی است که هنگام آماده‌سازی به شما داده شد. هر دو نفر باید همان رمز را وارد کنند و در قسمت نام، اسم متفاوت بزنند.
۵) HTTPS/SSL را فعال نگه دارید.

ذخیره‌سازی و نکات مهم
--------------------
- هیچ دیتابیسی نیاز نیست؛ فایل database.sql حذف شده است.
- پیام‌ها در data/messages.json ذخیره می‌شوند و آخرین ۲۰۰۰ پیام نگه داشته می‌شود.
- پوشه data دارای .htaccess برای جلوگیری از دسترسی مستقیم وب است. اگر سرور شما Apache/LiteSpeed نیست یا .htaccess را نادیده می‌گیرد، پوشه data را بیرون از public_html قرار دهید و مسیر MESSAGE_STORE را در config.php تغییر دهید.
- رمز مشترک به شکل هش در config.php نگه‌داری می‌شود. برای تغییر رمز، هش جدیدی با password_hash در PHP بسازید و مقدار CHAT_PASSWORD_HASH را جایگزین کنید.
- برای بکاپ، فایل data/messages.json را دانلود کنید؛ برای پاک کردن پیام‌ها، محتوای فایل را به [] تغییر دهید.
- این چت حساب‌های جداگانه ندارد؛ هرکس رمز مشترک را داشته باشد می‌تواند وارد شود. رمز را فقط با فرد مورداعتماد به اشتراک بگذارید.
- از اطلاعات حساس در چت استفاده نکنید و قبل از استفاده واقعی، ورود و ارسال پیام را روی هاست آزمایش کنید.

قابلیت‌های رسانه‌ای این نسخه
----------------------------
- ارسال عکس (JPG/PNG/GIF/WEBP)، ویدیو (MP4/WEBM/MOV) و فایل صوتی (MP3/M4A/OGG/WAV/WEBM) تا سقف ۱۰۰ مگابایت برای هر فایل (به شرط اجازه تنظیمات PHP هاست).
- تماس صوتی و تصویری با WebRTC، به شرط اینکه هر دو نفر هم‌زمان صفحه چت را باز نگه دارند و به میکروفون/دوربین اجازه بدهند.
- تماس صوتی/تصویری فقط روی HTTPS (گواهی SSL فعال) یا localhost در دسترس است. برای برخی شبکه‌ها یا اینترنت‌های محدود، تماس ممکن است به سرور TURN نیاز داشته باشد؛ در این نسخه فقط STUN عمومی تنظیم شده و کیفیت/اتصال همه شبکه‌ها تضمین نیست.
- رسید خواندن پیام اضافه شده است: زیر پیام‌های خودتان نام فردی که پیام را خوانده با عبارت «نینی دید ✓✓» نمایش داده می‌شود.
- پیام‌ها و سیگنال‌های تماس با فایل‌های JSON ذخیره/هماهنگ می‌شوند؛ هیچ دیتابیس MySQL لازم نیست.
- تماس‌ها با STUN عمومی شروع می‌شوند. اگر تماس بین دو اینترنت برقرار نشد، در config.php باید مشخصات یک سرویس TURN معتبر در TURN_SERVER_URL، TURN_SERVER_USERNAME و TURN_SERVER_CREDENTIAL تنظیم شود؛ بدون TURN، اتصال در همه شبکه‌ها قابل تضمین نیست.
- پوشه uploads باید توسط PHP قابل نوشتن باشد. فایل‌های آپلودشده در این نسخه پس از ارسال در پوشه uploads می‌مانند؛ برای جلوگیری از پرشدن هاست، هر از گاهی فایل‌های قدیمی را مدیریت کنید.
- حداکثر حجم آپلود در کد ۱۰۰ مگابایت است؛ در cPanel مقدار upload_max_filesize را 100M و post_max_size را دست‌کم 110M تنظیم کنید. محدودیت شرکت هاستینگ ممکن است کمتر باشد.
- این نسخه برای استفاده خصوصی ساده است و جایگزین پیام‌رسان حرفه‌ای یا سرویس تماس با TURN اختصاصی نیست.
