میرزای حرم · مشارکت برنامه‌نویسان

یک میزبان دیگر،
یک مسیر بیشتر.

لازم نیست برنامه‌نویس حرفه‌ای باشید. اگر یک‌بار با دامنه، هاست یا VPS کار کرده‌اید، می‌توانید فایل آماده را نصب کنید و یک مسیر دیگر برای شبکه فراهم کنید.

نصب روی میزبان
آزمون در دامنه
معرفی به گوشی

فایل کامل را نگه دارید.

در برنامه، وضعیت بسته بالای صفحهٔ مشارکت برنامه‌نویسان ثابت می‌ماند. این نشان، آماده‌بودن کد میزبانی را نشان می‌دهد. «ذخیرهٔ بستهٔ میزبانی» را بزنید و آماده‌شدن خروجی قابل‌انتقال را منتظر بمانید. خروجی کامل، ZIP کد، مشخصات بسته و پوشهٔ public-files شامل APK همین نسخهٔ برنامه و مشخصات انتشار معتبر آن را کنار هم قرار می‌دهد. یک نسخه را در دانلودها یا فلش نگه دارید.

اگر فایل هنوز آماده نیست، اولین دریافت به اینترنت نیاز دارد. صرف ورود به برنامه، کامل‌شدن دانلود را ثابت نمی‌کند.

۱ · مسیر مناسب خودتان را انتخاب کنید.

دامنه فقط نشانی است؛ یک فضای اجرا هم لازم دارید.

هاست: فضای آماده با مدیریت فایل، مانند cPanel یا DirectAdmin؛ فایل‌های PHP را بارگذاری می‌کنید.

VPS: سرور با دسترسی کنسول یا SSH؛ نصب‌کنندهٔ لینوکسی همراه بسته را اجرا می‌کنید.

DNS: نام دامنه را به IP سرور وصل می‌کند. HTTPS: اتصال امن با گواهی معتبر است.

داخل ZIPکاربرد
shared-host.zipهاست PHP سازگار
vps-host.zipVPS لینوکسی سازگار، همراه Node و Caddy
README-fa.txt و ابزار بررسیراهنمای کامل، تنظیم همتا و نتیجهٔ آزمون همان بسته

۲ · فقط یکی از دو روش نصب را انجام دهید.

روش اول · هاست PHP دارید

PHP 8.2 یا جدیدتر و 64-bit؛ OpenSSL، cURL، zlib و PDO SQLite؛ HTTPS، ارتباط HTTPS خروجی و امکان ذخیره بیرون از پوشهٔ عمومی سایت. برای پشتیبان بزرگ، post_max_size ≥ 20M و حافظهٔ کافی لازم است.

  1. فایل درست را باز کنید.

    خروجی قابل‌انتقال برنامه را باز کنید. سپس public-rescue-host-kit.zip و بعد shared-host.zip را در همان پوشه استخراج کنید.

  2. پوشهٔ تازه بسازید.

    در مدیریت فایل هاست، داخل پوشهٔ سایت مثلاً public_html یک پوشهٔ تازه به نام union بسازید. پوشهٔ shared-host، پوشهٔ public-files، ZIP اصلی کد و public-rescue-package.json را کنار هم در آن بارگذاری کنید. سایت فعلی را پاک نکنید.

    public_html/
      union/
        public-rescue-host-kit.zip
        public-rescue-package.json
        public-files/
        shared-host/
          index.php
          developers.html
  3. HTTPS و صفحهٔ آزمون را باز کنید.

    SSL را در پنل فعال کنید. دامنه و پوشهٔ واقعی خودتان را جایگزین این نمونه کنید:

    https://your-domain.tld/union/shared-host/developers.html

    دیتابیس خودکار در محل خصوصی ساخته می‌شود. اگر هاست اجازه نمی‌دهد، از پشتیبانی محل خصوصی مجاز بخواهید؛ دیتابیس را داخل پوشهٔ عمومی نگذارید.

  4. همتای دیگر را معرفی کنید.

    طبق README-fa.txt، فایل replication-peers.json را کنار دیتابیس خصوصی تنظیم کنید. selfUrl نشانی همین میزبان است؛ peers نشانی همتایان سازگار را نگه می‌دارد. در طرف مقابل هم این میزبان را ثبت کنید.

  5. ادامهٔ صف را زمان‌بندی کنید.

    برای ادامهٔ ارسال در زمان بی‌ترافیک، زمان‌بند هاست باید هر دقیقه index.php?action=health را فراخوانی کند. شیوهٔ تنظیم دقیق داخل راهنماست.

روش دوم · VPS دارید

یک VPS جدا یا خالی با Linux x86_64 و systemd. پورت‌های 80 و 443 از اینترنت قابل‌دسترسی و روی سرور آزاد باشند؛ پورت داخلی 17177 نیز آزاد باشد و عمومی باز نشود.

  1. دامنه را به سرور وصل کنید.

    رکورد A را روی IP همین سرور بگذارید. اگر AAAA دارید، باید به IPv6 درست همان VPS اشاره کند. نام‌سرورها باید متعلق به همان پنلی باشند که رکورد را در آن می‌سازید.

  2. فایل را با SFTP منتقل کنید.

    خروجی قابل‌انتقال برنامه را به سرور بفرستید و باز کنید. پوشهٔ public-files، ZIP اصلی کد و مشخصات بسته باید کنار پوشهٔ vps-host باقی بمانند. از کنسول یا SSH این فرمان‌ها را اجرا کنید:

    unzip public-rescue-host-kit.zip
    unzip vps-host.zip
    cd vps-host
    sudo bash install-vps.sh
  3. نام دامنه را بدهید.

    نصب‌کننده فقط نام دامنه را می‌خواهد؛ مثلاً relay.your-domain.tld، بدون https:// و بدون پوشه. Node و Caddy همراه بسته هستند. صدور گواهی به DNS درست و اینترنت نیاز دارد.

  4. نشانی یک همتا را بدهید.

    اگر میزبان سازگار دیگری دارید، نشانی کامل HTTPS آن را با پایان /index.php وارد کنید. در میزبان دوم هم نشانی میزبان اول را بدهید. برای شروع تک‌میزبانی، ورودی همتا می‌تواند خالی بماند.

  5. صفحهٔ آزمون را باز کنید.https://your-domain.tld/developers.html

    این نشانی نمونه است. نصب‌کننده سایت قبلی را متوقف نمی‌کند؛ اگر پورت‌ها اشغال‌اند، از VPS جدا یا روش هاست استفاده کنید.

۳ · در همان دامنه، پنج آزمون را بگیرید.

در developers.html، ابتدا سلامت سرویس و سپس آزمون‌های ۱ تا ۵ را اجرا کنید. نتیجه، علت و راه‌حل در همان کارت می‌آید.

۱
محیط اجرا

امکانات و ذخیره‌سازی همین سرور بررسی می‌شود.

۲
رفت‌وبرگشت محلی

نوشتن و خواندن موقت و رمزنگاری بررسی می‌شود؛ دادهٔ واقعی برنامه تغییر نمی‌کند.

۳
اتصال همتایان

نمونه‌ای از حداکثر سه همتای معرفی‌شده از نظر سلامت و شناخت متقابل بررسی می‌شود.

۴
رفت‌وبرگشت امضاشده

پاسخ آزمایشی امضاشده و رمزگذاری‌شده از همان نمونهٔ همتایان بررسی می‌شود؛ عضو یا خبر ثبت نمی‌شود.

۵
ادامهٔ همسان‌سازی اطلاعات

آخرین چرخهٔ واقعی انتقال گواهی‌ها، ادامهٔ صف و شناخت میزبان‌ها فقط خوانده می‌شود؛ دادهٔ تازه‌ای برای آزمون ثبت نمی‌شود.

بدون همتای معرفی‌شده، آزمون‌های ۳ و ۴ «ناقص» هستند. آزمون ۵ در تک‌میزبانی، بدون چرخهٔ واقعی و تازه، یا با صف و محدودیت سهمیه، ناقص می‌ماند. سبزشدن سلامت و حتی موفقیت هر پنج آزمون به‌تنهایی احیای همهٔ گوشی‌ها را ثابت نمی‌کند.

فایل دانلود، جدا از سرویس انتقال است.

سلامت سبز به معنی وجود فایل APK، ZIP و مشخصات انتشار در همان میزبان نیست. در صفحهٔ برنامه‌نویسان، «بررسی فایل‌های دانلود این میزبان» را بزنید. اگر فایلی موجود نیست، راهنمای همان بسته را برای قرار دادن فایل‌های عمومی دنبال کنید.

۴ · نشانی HTTPS را به اولین گوشی معرفی کنید.

در صفحهٔ دامنه، «معرفی مستقیم به اولین گوشی» را بزنید. یا در برنامه به «بلوتوث ← کارت احیا / معرفی میزبان» بروید و نشانی کامل را ذخیره کنید:

https://your-domain.tld/union/shared-host/index.php

نشانی باید با https:// شروع و به /index.php ختم شود. نصب فایل‌ها به‌تنهایی، گوشی‌ها را از دامنهٔ تازه باخبر نمی‌کند.

برای انتقال نزدیک، بلوتوث و ارتباط برنامه باید فعال باشند. گوشی با بلوتوث خاموش چیزی دریافت نمی‌کند. بررسی میزبان به اینترنت نیاز دارد؛ معرفی نشانی با تأیید احیای کامل فرق دارد.

این همکاری چگونه کمک می‌کند؟

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

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

قابلیت‌ها، محدودیت‌ها و نتیجهٔ آزمون دقیق همان بسته را در راهنمای همراه آن بخوانید. سالم‌بودن صفحهٔ وب، همگام‌شدن همهٔ گوشی‌ها را ثابت نمی‌کند.

اگر جایی متوقف شدید

دامنه باز نمی‌شود.

IP، رکوردهای A و AAAA، نام‌سرورها، وضعیت VPS و فایروال ارائه‌دهنده را بررسی کنید.

خطای HTTPS می‌بینید.

گواهی، DNS، ساعت سیستم و دسترسی پورت‌ها را بررسی کنید. اعتبارسنجی گواهی را خاموش نکنید.

PHP، SQLite یا محل خصوصی آماده نیست.

مشخصات پیش‌نیاز را برای پشتیبانی هاست بفرستید. هر هاستی لزوماً سازگار نیست؛ دیتابیس را عمومی نکنید.

آزمون ۳ یا ۴ ناقص مانده است.

یک همتای سازگار در تنظیمات هر دو طرف معرفی کنید و دوباره آزمون بگیرید. با یک میزبان، نتیجهٔ بین‌میزبانی هنوز تأیید نشده است.

همهٔ مسیرها قطع شده‌اند.

اپ را حذف نکنید و دادهٔ گوشی را پاک نکنید. نشانی HTTPS میزبان تازه را به اولین گوشی معرفی کنید و از مسیرهای معرفی و ارتباط نزدیک برای انتقال آن کمک بگیرید.