بستهٔ کد میزبانی میرزای حرم — نسخهٔ 235

با میزبانی شما یک مسیر دیگر برای شبکه فراهم می‌شود. لازم نیست برنامه‌نویس
حرفه‌ای باشید؛ آشنایی با دامنه، مدیریت فایل هاست یا VPS کافی است. چهار قدم دارید:
فایل‌ها را کنار هم بگذارید، یکی از دو روش نصب را انجام دهید، آزمون‌های دامنهٔ
خودتان را بگیرید و نشانی HTTPS را به اولین گوشی معرفی کنید.

۱. تفاوت دو بسته را بشناسید
public-rescue-host-kit.zip همین بستهٔ کد و ابزار نصب است؛ APK داخل آن نیست.
خروجی قابل‌حملِ برنامه، علاوه بر ZIP کد، مشخصات بسته و فایل نصب همان نسخهٔ
برنامه و معرفی‌نامهٔ معتبر آن را کنار هم نگه می‌دارد:
portable235/
  public-rescue-host-kit.zip
  public-rescue-package.json
  public-files/
    app-release.apk
    public-android-release.json

ابتدا ZIP کد را در همان پوشه باز کنید. بعد فقط یکی از shared-host.zip یا
vps-host.zip را در همان پوشه استخراج کنید. چیدمان نهایی مثلاً چنین می‌شود:
portable235/
  public-rescue-host-kit.zip
  public-rescue-package.json
  public-files/
  shared-host/             یا vps-host/

این همسایگی پوشه‌ها برای آماده‌شدن فایل‌های دانلود لازم است. صرف کد میزبانی
می‌تواند سرویس انتقال را فعال کند؛ اما سلامت سبز سرویس به معنی آماده‌بودن
دانلود APK و ZIP نیست. فایل معرفی نسخه نیز لازم است. برنامه و میزبان، امضا
و اندازه و هش فایل‌ها را بررسی می‌کنند؛ صرف تغییر نام یک فایل کافی نیست.

۲. فقط یکی از روش‌های نصب را انجام دهید
هاست PHP: پوشهٔ shared-host را همراه سه بخش دیگر در پوشه‌ای تازه از سایت
شخصی خود بگذارید؛ مثلاً public_html/union/. فایل‌های سایت قبلی را پاک نکنید.
صفحهٔ راهنما می‌شود:
https://YOUR-DOMAIN/union/shared-host/developers.html
PHP8.2 یا جدیدتر،64-bit، OpenSSL، PDO SQLite، cURL و zlib لازم است. HTTPS،
ارتباط امن خروجی و پوشهٔ خصوصی قابل‌نوشتن بیرون از DOCUMENT_ROOT لازم است.
برای ادامهٔ صف در زمان بی‌ترافیک، زمان‌بند هاست را طبق README-fa.txt فعال کنید.

VPS: سرور جدا یا خالی Linux x86_64 دارای systemd و دسترسی sudo لازم است.
دامنهٔ خودتان را با رکورد A به IP آن وصل کنید. پورت‌های80 و443 از اینترنت
قابل‌دسترسی و روی سرور آزاد باشند؛ پورت داخلی17177 نیز آزاد و عمومی بسته باشد.
در پوشهٔ vps-host اجرا کنید:
sudo bash install-vps.sh
نصب‌کننده ابتدا نام دامنه را بدون https:// می‌خواهد؛ سپس نشانی کامل HTTPS
یک همتای سازگار را می‌پرسد. اولین میزبان می‌تواند همتا نداشته باشد؛ در آن حالت
آزمون میان میزبان‌ها کامل نیست. Node و Caddy داخل ZIP هستند. نصب‌کننده، نصب
قبلی را پاک یا سایت دیگری را خاموش نمی‌کند. صفحهٔ آزمون:
https://YOUR-DOMAIN/developers.html

۳. پنج آزمون را روی همان دامنه اجرا کنید
1. محیط اجرا و SQLite همین میزبان.
2. نوشتن و خواندن موقت با بازگردانی و بررسی رمزنگاری.
3. سلامت، سازگاری و شناخت متقابل نمونهٔ حداکثر3همتای معرفی‌شده.
4. رفت‌وبرگشت امضاشدهٔ موقت؛ عضویت یا خبر واقعی ساخته نمی‌شود.
5. گزارش فقط‌خواندنیِ آخرین چرخهٔ واقعی دریافت گواهی‌ها؛ زمان آخرین موفقیت،
نشان دریافت، صفحهٔ باقی‌مانده و تلاش دوباره را در نمونهٔ اعلام‌شده می‌سنجد.
تک‌میزبانی، نداشتن چرخهٔ واقعی، گزارش قدیمی، صف باقی‌مانده یا کمبود فضا نتیجهٔ
کامل نمی‌گیرد. هر نتیجهٔ ناموفق یا ناقص، علت و راه‌حل را در همان کارت نشان می‌دهد.
سبزشدن آزمون5 به معنی یکسان‌شدن همهٔ گوشی‌ها یا احیای کامل شبکه نیست.

۴. نشانی کامل HTTPS را به اولین گوشی معرفی کنید
در صفحهٔ developers.html «معرفی مستقیم به اولین گوشی» را بزنید. یا در برنامه،
بخش بلوتوث و «کارت احیا / معرفی میزبان»، نشانی را ثبت کنید؛ مثلاً:
https://YOUR-DOMAIN/union/shared-host/index.php
نشانی باید با https:// شروع و به /index.php ختم شود. فایل‌گذاری به‌تنهایی
گوشی‌ها را از دامنهٔ کاملاً ناشناخته باخبر نمی‌کند. اگر مسیر شناخته‌شده‌ای باقی
باشد، معرفی همتایانِ سازگار به انتشار نشانی کمک می‌کند. در خاموشی همهٔ مسیرها،
ابتدا نشانی را به یک گوشی برسانید. ارتباط بلوتوثی واقعی می‌تواند آن را بین
گوشی‌های مجاز و نزدیک منتقل کند؛ بلوتوث خاموش چیزی دریافت نمی‌کند.

داده و محدودیت‌ها
هر شخص جداگانه وارد می‌شود، نیت چاپ و پخش برگه را انتخاب می‌کند و مبلغ نیت
خود را اعلام می‌کند؛ پولی به میزبان یا مدیر پرداخت نمی‌شود. اصلاح مبلغ با امضای
همان شخص انجام می‌شود. سوابق معتبر حفظ می‌شوند و تکرار یک گواهی عضو تازه
نمی‌سازد. بسته، گواهی‌های عمومیِ قبلاً مجازشده را با شناسهٔ مستعار دارد؛ نام،
شماره، رمز مدیر، لینک دعوت خصوصی یا کلید خصوصی در آن نیست. هویت و اطلاعاتی
که هیچ نسخه‌ای از آن باقی نمانده، از روی ZIP کد بازسازی نمی‌شود.

این نسخه، انتقال خودکار گواهی‌های فردی میان همتایان سازگار و شناخته‌شده را دارد؛
اجرای زمان‌بندی، تنظیم همتایان، دسترسی واقعی و ظرفیت کافی لازم است. هیچ بسته‌ای
نمی‌تواند نبود هر نوع قطعی یا پیدا کردن نشانی کاملاً ناشناخته را تضمین کند.
تا زمانی که مسیر قابل‌دسترسی ندارید، دادهٔ گوشی را پاک نکنید.

جزئیات نصب و تنظیم همتایان در README-fa.txt داخل پوشهٔ میزبان است.
راهنمای تصویریِ بدون اینترنت در GUIDE-fa.html و گزارش عمومی همان انتشار در
RECOVERY-TEST-fa.txt قرار دارد. آزمون‌های قابل‌حمل Node همراه نسخهٔ VPS هستند؛
دو آزمون وابسته به هسته و درگاهِ پروژهٔ اصلی، عمداً در این بستهٔ مستقل نیستند و
نام و علت کنارگذاشتنشان در مانیفست امضاشده ثبت شده است. ابزار بررسی امضا و
هش‌ها VERIFY-HOST.ps1 و verify-package.mjs است. این کد عمومی اختیار مدیریت
یا تغییر عضویت و مبلغ معتبر را به سازندهٔ میزبان نمی‌دهد.

اصلاح عضویت با اجازهٔ اصلی شبکه
این نسخه کنارگذاری نهاییِ یک شناسه را فقط با گواهی امضاشدهٔ مرجع اصلی می‌پذیرد.
گواهی‌های قبلی و افراد دعوت‌شده حفظ می‌شوند؛ میزبان اختیار ساخت یا لغو این مجوز را ندارد.
همهٔ گوشی‌ها و میزبان‌های فعال باید نسخهٔ سازگار222 یا جدیدتر را اجرا کنند.
بستهٔ اولیه فقط همان سوابق عمومی اولیه و این مجوز را دارد؛ تازه‌ترین اطلاعات از
همگام‌سازی گواهی‌های معتبر می‌آید، نه از اعداد ثابتِ نمایشی.


تصویر برگهٔ تازه از مخزن عمومیِ امضاشده
میزبان اجازهٔ صدور تصویر یا امضای مدیریتی ندارد. گوشیِ دارای جفت تصویر معتبر
می‌تواند آن را به میزبان تازه منتقل کند؛ این انتقال به کلید خصوصی نیاز ندارد.
تصویرهای تأییدشده در پایگاه خصوصی public-artwork.sqlite، جدا از سوابق شخصی،
نگه‌داری می‌شوند. در ارتقا، انتقال یا بازگشت نسخه این فایل هم حفظ شود. هرگز
پایگاه‌های داده یا رمزها را وارد ZIP عمومی نکنید. میزبان نو تا دریافت جفت معتبر
می‌تواند برگهٔ استاندارد را ارائه کند. تاریخ و QR برگه در خود برنامه و با مسیر
معتبر دریافت دوباره ساخته می‌شوند؛ فایل‌های چاپی یا ذخیره‌شدهٔ قدیمی تغییر نمی‌کنند.

نسخهٔ عربی در کنار فارسی: هر دو فایل app-release-ar.apk و public-android-release-ar.json
در public-files اختیاری‌اند و تنها به‌صورت جفت معتبر پذیرفته می‌شوند؛ زوج فارسی
همیشه لازم است. راهنمای عربی در GUIDE-ar.html و READ-FIRST-ar.txt قرار دارد.
مرجع و آمار مشترک‌اند؛ خبر و تصویر برگهٔ عربی کانال جدا دارند. دیتابیس‌های خصوصی
public-artwork.sqlite و public-artwork-ar.sqlite و سابقهٔ امضاها را در ارتقا حفظ کنید.
