مدمیل: رله دلتاچت روی سرور خودتان

مدمیل (Madmail) یک رله (در برنامه فارسی: گذرگاه) برای دلتاچت است که با زبان Rust نوشته شده و به‌صورت یک فایل اجرایی واحد نصب می‌شود. SMTP، IMAP، الزام رمزنگاری، رساندن فوری پیام، TURN برای تماس و Shadowsocks برای شبکه‌های محدود، همه در همین یک فایل است. نسخه فعلی از سری ۲ است (آخرین انتشار: v2.30.5، ۱۴ مهر ۱۴۰۵). روی لینوکس و ویندوز اجرا می‌شود. کد و راهنما: github.com/themadorg/madmail

مدمیل برای چه کسی است؟

برای کسی که می‌خواهد برای خانواده، دوستان، یک محله یا یک سازمان رله دلتاچت راه بیندازد، به‌خصوص وقتی اینترنت بین‌الملل قطع است. کاربر عادی لازم نیست سرور راه بیندازد؛ کافی است رله داخلی را به نمایه‌اش اضافه کند (صفحه قطعی اینترنت).

چه چیزی لازم است

یک سرور لینوکسی یا ویندوزی (VPS داخلی یا رایانه همیشه‌روشن) با IP ثابت که کاربران به آن دسترسی داشته باشند؛ دامنه اختیاری است. پورت‌های 25، 465، 587، 993 و 443 باید باز باشند و برای گواهی Let's Encrypt پورت 80 هم لازم است.

دریافت فایل

ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')
curl -fsSL "https://github.com/themadorg/madmail/releases/latest/download/madmail-linux-${ARCH}" -o madmail
chmod +x madmail

در قطعی اینترنت گیت‌هاب در دسترس نیست؛ فایل را از قبل دانلود کنید و روی سرور نگه دارید.

حالت ۱: فقط IP، با گواهی خودامضا

مناسب شبکه داخلی و زمان قطعی، چون به اینترنت نیاز ندارد.

sudo ./madmail install --simple --ip YOUR_IP --lang en
sudo systemctl enable madmail
sudo systemctl start madmail

کاربران ممکن است هشدار گواهی ببینند و باید گواهی را فقط برای همین سرور بپذیرند (در دلتاچت: گزینه «پذیرفتن گواهی نامعتبر» در تنظیمات پیشرفته نمایه).

حالت ۲: فقط IP، با گواهی معتبر Let's Encrypt

به اینترنت و پورت 80 نیاز دارد و گواهی تقریباً هر ۶ روز خودکار تمدید می‌شود؛ پس در قطعی کامل اینترنت تمدید نمی‌شود.

sudo ./madmail install --simple --ip YOUR_IP --auto-ip-cert --acme-email you@example.com --lang en

حالت ۳: با دامنه

sudo ./madmail install --simple --domain mail.example.org --acme-email you@example.com --lang en

در همه حالت‌ها YOUR_IP را با IP سرور و نشانی‌های نمونه را با نشانی واقعی خودتان عوض کنید. بعد از دستور install در حالت ۲ و ۳ هم دو دستور systemctl حالت ۱ را اجرا کنید.

بعد از نصب

نشانی سرور (https://IP یا دامنه) را در مرورگر باز کنید؛ QR دعوت در همان صفحه است. کاربران با اسکن همین QR نمایه می‌سازند یا آن را به‌عنوان رله دوم اضافه می‌کنند.

Shadowsocks

مدمیل برای شبکه‌های محدود حالت Shadowsocks دارد. روش راه‌اندازی در راهنمای Admin & CLI مخزن آمده است؛ لینک ss:// ساخته‌شده را به کاربران بدهید تا در تنظیمات ← پیشرفته ← پروکسی وارد کنند.

به‌روزرسانی

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

هشدار

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