Skip to content

پراکسی Push notification ​

اگر سرور شما به‌دلیل محدودیت‌های فایروال یا سیاست‌های شبکه نمی‌تواند به نقاط پایانی سرویس‌های push (Google FCM، Mozilla Push Service، Apple Push) دسترسی پیدا کند، یک پراکسی پیکربندی کنید:

می‌توانید آن را از طریق پنل مدیریت یا در .env خود تنظیم کنید.

تنظیم از طریق پنل مدیریت ​

در پنل مدیریت، به تب تنظیمات بروید و «Push notification proxy» را فعال کنید و نشانی پراکسی خود را در فیلد «Proxy URL» وارد کنید:

http://your-proxy-server:3128

پس از ذخیره، به تب لاگ‌ها بروید و صفحه سرویس را بررسی کنید تا مطمئن شوید سرور شما با استفاده از پراکسی به نقاط پایانی سرویس‌های push دسترسی پیدا کرده است.

تنظیم در .env ​

۱. متغیرهای محیطی خود را ویرایش کنید

bash
PUSH_PROXY_URL="http://your-proxy-server:3128"

۲. راه‌اندازی مجدد سرویس

bash
sudo systemctl restart songbird

۳. تأیید در لاگ‌ها

bash
journalctl -u songbird -f | grep push
# Should show: [push] Using proxy: http://your-proxy-server:3128

قالب‌های نشانی پراکسی ​

نوعقالب
HTTPhttp://proxy.example.com:3128
با احراز هویتhttp://username:password@proxy.example.com:8080
SOCKS5socks5://proxy.example.com:1080

نقاط پایانی موردنیاز (پراکسی باید HTTPS/443 را به این‌ها اجازه دهد):

نقطه پایانیمرورگر
fcm.googleapis.comChrome / Edge
*.push.services.mozilla.comFirefox
web.push.apple.comSafari
*.notify.windows.comEdge

عیب‌یابی خطاهای تحویل Push notification ​

اگر در لاگ‌ها خطاهایی مانند [push] delivery failed ... status=0 ... AggregateError می‌بینید، این نشان‌دهنده مشکلات اتصال شبکه برای دسترسی به سرویس‌های push است. دلایل رایج:

  • مسدودکردن اتصال‌های خروجی HTTPS توسط فایروال
  • شکست در تفکیک DNS
  • محدودیت‌های شبکه که نیازمند استفاده از پراکسی هستند

اتصال پراکسی را آزمایش کنید:

bash
curl -x http://your-proxy:3128 https://fcm.googleapis.com

تحت لایسنس MIT منتشر شده است.