التوثيق

SAMM التوثيق

الدليل الكامل للمشغل — من أول تثبيت حتى العمليات اليومية.

25 موضوعا 8 أقسام تثبيت بأمر واحد
تثبيت سريع

تعمل خلال دقائق، من أمر واحد.

شغّل سطرًا واحدًا على خادوم Ubuntu أو Debian جديد — أو في PowerShell على Windows — وسيقوم المُثبّت بجلب أحدث إصدار وإعداد كامل حزمة SAMM لك.

اقرأ دليل التثبيت الكامل
Ubuntu / Debian — شغّله بصلاحيات root
curl -fsSL https://samm.securytik.com/install.sh | sudo bash
Windows — شغّله في PowerShell كمسؤول
irm https://samm.securytik.com/install-windows.ps1 | iex
قائمة تشغيل دورة فيديو شاهد SAMM من التثبيت حتى التشغيل اليومي — دورة فيديو كاملة قائمة تشغيل مجانية على YouTube خطوة بخطوة ترشدك خلال تثبيت SAMM وتشغيله يوما بيوم — نفس ما يغطيه هذا الدليل، لكن بالفيديو. شاهد على YouTube

البدء

نظرة عامة & البنية

SAMM — SecuryTik Active Mikrotik Manager — هي منصة كاملة لإدارة مزودي خدمة الإنترنت لشبكات MikroTik PPPoE & Hotspot. مثبت واحد يحول خادم Linux فارغا إلى نظام كامل لـ AAA والفوترة وإدارة المشتركين.

لمن SAMM

تم تصميم SAMM لمزودي خدمة الإنترنت اللاسلكيين، ومشغلي الألياف، وموفري نقاط الاتصال قيد التشغيل MikroTik RouterOS . إذا قمت بمصادقة المشتركين عبر PPPoE أو Hotspot أو IPoE/DHCP وتحتاج إلى ذلك فرض طبقات السرعة، والحد الأقصى للبيانات، وتواريخ انتهاء الصلاحية، والفوترة - يقوم SAMM بكل ذلك من خلاله شاشة واحدة.

يتم التعرف على مشتركي IPoE/DHCP من خلال معرف دائرة DHCP Option 82 (المعرف الفعلي منفذ الوصول - الطريقة الاحترافية لمزود خدمة الإنترنت) أو MAC للجهاز، وradius-password لخادم DHCP هي ببساطة، سر RADIUS المشترك الخاص بجهاز التوجيه، لذلك لا يوجد شيء إضافي يمكن توفيره.

الاستاك المزدوج IPv6 خيار اختياري: يمكن لكل مستخدم الحصول على IPv6 بالإضافة إلى IPv4. قم بتفعيله في ساحر الراوتر واختر طول البديل (DHCPv6-PD) — /56 بشكل افتراضي، أو أي مكان بين /48 و /64 — وكتل IPv6 لتوزيعها. في كل رد قبول الوصول، تعيد SAMM مجموعة IPv6 WAN بالإضافة إلى بديل مسار مُنَدَب إلى شبكة LAN للمستخدم، لذا يقوم جهاز الراوتر الخاص بالعميل (في وضع المسار) بتقسيمها إلى /64s وتشغيل SLAAC لأجهزته — النموذج القياسي لنموذج توزيع البديل من مزود خدمة الإنترنت. يعمل مع PPPoE، ونقاط الساخنة، وIPoE، ويمكن تثبيت بديل IPv6 ثابت لكل مستخدم لعملاء الأعمال.

كيف يعمل

يبقي SAMM المسار الساخن قريبا من قاعدة البيانات. يتعامل FreeRADIUS مع كل حزمة مصادقة ومحاسبة؛ ومع كل تحديث محاسبة Interim-Update يستدعي دوال PostgreSQL مباشرة لتجميع الاستخدام وتقييم الحدود — لا توجد رحلة Python ذهابا وإيابا أثناء اتصال المشتركين.

تتعاون أربع طبقات تنفيذ عبر قاعدة بيانات واحدة:

  • FreeRADIUS (unlang + rlm_sql) — authenticates every packet; on each Interim-Update it accumulates bytes/uptime and evaluates limits inside Postgres.
  • samm-radius — runs time-driven sweeps (expiry, daily reset, speed windows) and is the only process that sends Change-of-Authorization packets.
  • samm-worker — pings routers and syncs MikroTik device metadata over the API.
  • samm-api — the admin & customer portals; admin actions are queued to the database and applied by samm-radius, never sent as CoAs directly.

الخدمات الخمس

خدمةالدور
samm-apiبوابة المسؤول + بوابة الخدمة الذاتية للعملاء + REST API
samm-radiusيفرغ صندوق صادر CoA؛ ويشغل عمليات انتهاء الاشتراك / الإعادة اليومية / نوافذ السرعة
samm-workerيقوم بفحص الراوترات؛ ويزامن بيانات أجهزة MikroTik عبر API
samm-notificationيسلم إشعارات البريد الإلكتروني & Telegram عبر قائمة انتظار واحدة منظمة
samm-telegramيشغل روبوت Telegram التفاعلي للخدمة الذاتية

ماذا يفعل SAMM

نواة AAA

مصادقة PPPoE & Hotspot، وفرض السرعة لكل مستخدم، وCoA هجين.

الباقات & الحدود

باقات سرعة بالإضافة إلى أربعة حدود مستقلة ونوافذ سرعة مجدولة.

المشتركون

مستخدمو PPPoE وHotspot وIPoE/DHCP إضافة إلى بطاقات قسائم Hotspot المدفوعة مسبقا القابلة للطباعة PDF.

الفوترة

تسعير لكل باقة، فواتير تلقائية، ودفتر إيصالات/دفعات/مصاريف مزدوج القيد.

الخدمة الذاتية

بوابة ويب للعملاء وروبوت Telegram للاستخدام والفواتير والتذاكر.

العمليات

مخزون MikroTik مباشر، مسؤولون مبنيون على الأدوار، نسخ احتياطي & استعادة، وأدوات جماعية.

النظام

المدمج في WireGuard VPN، Cloudflare نفق، ثماني لغات، منفذ مستخدم قابلة للتخصيص.

الإشعارات

تنبيهات التجديد والانتهاء والحصة والإيصالات عبر البريد الإلكتروني وTelegram.

بقية هذا الدليل هو شرح لكل من هذه المجالات. استخدم القائمة على اليسار، أو ابدأ بـ التثبيت.

البدء

التثبيت

يثبت SAMM كل ما يحتاجه — FreeRADIUS، وPostgreSQL، وnginx، وWireGuard، وcloudflared، وخدمات SAMM الخمس — في خطوة واحدة. المثبت متكرر آمن (idempotent): إعادة تشغيله ترقي تثبيتا قائما في مكانه ولا تستبدل إعداداتك أو تعيد توليد كلمة مرور قاعدة البيانات.

يتم تشغيل SAMM في أي مكان — اختر مسار التثبيت الذي يناسب شبكتك:

المتطلبات الأساسية

  • خادم جديد: Ubuntu 22.04 / 24.04 / 26.04 LTS أو Debian 12 / 13. لينكس خوادم فقط — إصدارات سطح المكتب غير مدعومة.
  • صلاحية Root / sudo واتصال بالإنترنت.
  • systemd، ومضيف يمكن تثبيت PostgreSQL عليه محليا (يتم إعداده لك).

التثبيت

الخيار أ — التثبيت بأمر واحد

على الخادم، نفذ:

curl -fsSL https://samm.securytik.com/install.sh | sudo bash

يقوم سكربت التهيئة هذا بتنزيل أحدث حزمة إصدار SAMM من GitHub، ويستخرجها، ويشغل المثبت الكامل تلقائيا. يتم خلال دقائق قليلة.

إذا كان github.com محظوراً في بلدك، فاستخدم النسخة المرآة المستضافة على Cloudflare — نفس المثبت، لا يتم تنزيل أي شيء من GitHub. (يتم الكشف عن GitHub المحظور أيضاً بواسطة الأمر القياسي أعلاه ويتحول إلى هذه المرآة تلقائياً.)

curl -fsSL https://dl.securytik.com/install.sh | sudo bash

في كلتا الحالتين، بعد انتهاء التثبيت، افتح بوابة الإدارة وسجل الدخول بهذه البيانات:

رابط الدخولhttp://<your-server>/admin · اسم المستخدمadmin · كلمة المرورadmin

غير كلمة مرور المدير فورا بعد أول تسجيل دخول.

التثبيت

الخيار B — التثبيت على Windows (Hyper-V)

يعمل SAMM على Windows داخل جهاز Ubuntu 24.04 افتراضي صغير خاص به على Hyper-V، يُنشئه ويديره مُثبّت واحد. ينضم الجهاز الافتراضي إلى شبكتك بعنوان IP خاص به، فتصل أجهزة MikroTik لديك إلى SAMM مباشرةً — يرى RADIUS العنوان الحقيقي لكل جهاز، وتعمل عمليات قطع الاتصال بـCoA — تمامًا كما مع خادوم Linux.

افتح PowerShell كمسؤول — وليس موجه الأوامر (cmd): انقر بزر الفأرة الأيمن على زر البدء، واختر Terminal (Admin) أو Windows PowerShell (Admin)، وأجب بنعم. ثم شغّل:

irm https://samm.securytik.com/install-windows.ps1 | iex

إذا تعذّر الوصول إلى samm.securytik.com من هذا الجهاز، فاستخدم المرآة المستضافة على Cloudflare بدلاً منه — المُثبِّت نفسه. (ويتحوّل المُثبِّت أيضاً إلى المرآة تلقائياً عند فشل أي تنزيل.)

irm https://dl.securytik.com/install-windows.ps1 | iex

في كلتا الحالتين، بعد انتهاء التثبيت، افتح بوابة الإدارة وسجل الدخول بهذه البيانات:

رابط الدخولhttp://<SAMM IP>/admin · اسم المستخدمadmin · كلمة المرورadmin
دخول النظام (SSH)samm / samm · root (وحدة التحكم)root / samm

هذه القيم الافتراضية نفسها في SAMM Server ISO. غيّرها جميعاً بعد أول تسجيل دخول. يعرضها اختصار SAMM Info على سطح المكتب مرة أخرى، مع عنوان IP الخاص بـ SAMM وطريقة الوصول إلى الجهاز الافتراضي عبر SSH.

ما الذي سيُطلب منك

  1. أي شبكة ينبغي أن ينضم إليها SAMM، عندما يحتوي الحاسوب على أكثر من محول شبكة متصل. اضغط Enter للخيار المُوصى به (السلكي قبل Wi-Fi).
  2. عنوان IP الخاص بـSAMM على تلك الشبكة. يقترح عنوانًا فارغًا؛ اضغط Enter لقبوله، أو اكتب عنوانًا آخر، أو اكتب dhcp.

إذا كان Hyper-V مُعطّلًا، يقوم المُثبّت بتفعيله ويطلب إعادة تشغيل Windows مرة واحدة؛ وبعد تسجيل الدخول مجددًا يستكمل العملية بمفرده. الباقي — Multipass، وجسر الشبكة، والجهاز الافتراضي، وSAMM نفسه — يستغرق من 10 إلى 20 دقيقة، مع شريط تقدّم.

المتطلبات

  • Windows 10 / 11 Pro أو Enterprise أو Education، أو Windows Server 2019 وأحدث (64 بت). لا يحتوي Windows Home على Hyper-V.
  • الافتراضية العتادية مُفعّلة في BIOS/UEFI (Intel VT-x أو AMD-V). يفحص المُثبّت ذلك ويتوقف برسالة واضحة إذا كانت مُعطّلة — انظر تفعيل الافتراضية.
  • 8 جيجابايت من الذاكرة على الأقل، منها 4 جيجابايت متاحة لجهاز SAMM الافتراضي (3 جيجابايت هو الحد الأدنى؛ وتُحسب الأجهزة الافتراضية الأخرى — VMware، VirtualBox — عليها)، و40 جيجابايت من مساحة القرص المتاحة.
  • يُوصى بشدة باستخدام كابل شبكة. لا تستطيع كثير من برامج تشغيل Wi-Fi ربط جهاز افتراضي بالشبكة عبر جسر، وفي هذه الحالة لا يستطيع الوصول إلى SAMM سوى الحاسوب نفسه.

بعد التثبيت

  • افتح لوحة الإدارة على http://<SAMM IP>/admin/login (يوجد اختصار SAMM Admin على سطح المكتب)، وسجّل الدخول باستخدام admin / admin وغيّر كلمة المرور فورًا.
  • وجّه RADIUS الخاص بـMikroTik إلى عنوان IP لـSAMM (UDP 1812/1813) — يقوم معالج الموجّه في اللوحة بذلك نيابةً عنك.
  • يبدأ SAMM مع Windows، قبل أن يسجّل أي شخص الدخول، ويُضبط الحاسوب على ألّا يدخل في وضع السكون أبدًا. على الحاسوب المحمول، اترك الشاحن متصلًا واضبط إغلاق الغطاء على "لا تفعل شيئًا".
  • لإزالته: شغّل نفس السطر مع -Uninstall، أو & ([scriptblock]::Create((irm https://samm.securytik.com/install-windows.ps1))) -Uninstall.

التثبيت

تفعيل الافتراضية في BIOS/UEFI

يعمل SAMM على Windows داخل جهاز افتراضي بـHyper-V، وهو يحتاج إلى ميزة الافتراضية في المعالج: Intel Virtualization Technology (VT-x) لدى Intel، أو AMD-V — وتُعرف غالبًا باسم SVM Mode — لدى AMD. تأتي أغلب الحواسيب وهي مُفعّلة؛ وبعضها يأتي مُعطّلًا. تُخفيها كل شركة في قائمة مختلفة، وفيما يلي الخطوات العامة والموضع المعتاد.

أولًا، تحقّق مما إذا كانت مُفعّلة أصلًا

افتح Task Manager (Ctrl+Shift+Esc) → Performance → CPU. إذا ظهر تحت الرسم البياني Virtualization: Enabled فأنت انتهيت. (إذا كان Hyper-V مُفعّلًا أصلًا، قد يعرض Windows بدلًا من ذلك سطرًا يفيد باكتشاف مُدير أجهزة افتراضية (hypervisor) — وهذا يعني أيضًا أنها مُفعّلة.)

الخطوات العامة

  1. احفظ عملك وأعد تشغيل الحاسوب.
  2. افتح إعداد BIOS/UEFI: اضغط مفتاح الدخول إلى الإعداد بشكل متكرر بمجرد إضاءة الشاشة (انظر الجدول). في Windows 10/11 يمكنك أيضًا الانتقال إلى Settings → System → Recovery → Advanced startup → Restart now، ثم Troubleshoot → Advanced options → UEFI Firmware Settings → Restart.
  3. ابحث في قائمة Advanced أو Advanced CPU أو Processor أو Chipset أو Security أو Virtualization عن Intel Virtualization Technology أو Intel VT-x أو SVM Mode أو AMD-V، واضبطها على Enabled. (لا حاجة إلى Intel VT-d / AMD IOMMU.)
  4. Save and exit (غالبًا F10)، اترك Windows يبدأ، ثم شغّل مُثبّت SAMM مرة أخرى.

الموضع المعتاد

الشركة المصنّعةمفتاح الإعدادالموضع المعتاد
DellF2دعم الافتراضية → الافتراضية / تمكين تكنولوجيا افتراضية إنتل
HPF10 (أو Esc، ثم F10)Advanced (أو Security / System Configuration) → Virtualization Technology (VTx)
LenovoF1 / F2 (أو زر Novo)Security (ThinkPad) أو Configuration → Intel Virtualization Technology / AMD SVM Technology
ASUSF2 / DelAdvanced Mode (F7) → Advanced → CPU Configuration → Intel Virtualization Technology أو SVM Mode
AcerF2Advanced (أو Main) → Intel Virtualization Technology
MSIDelOC → CPU Features → Intel Virtualization Tech أو SVM Mode
GigabyteDelTweaker (أو Advanced) → Advanced CPU Settings → Intel Virtualization Technology أو SVM Mode
الخوادم (Dell iDRAC، HPE، Supermicro)F2 / F9 / DelProcessor Settings → Virtualization Technology — غالبًا مُفعّلة أصلًا
الجهاز الافتراضي الذي يعمل داخل جهاز افتراضي آخر (Windows نفسه يعمل داخل VMware أو Proxmox أو Hyper-V) يحتاج بدلًا من ذلك إلى تفعيل الافتراضية المتداخلة (nested virtualization) في المُدير الافتراضي الخارجي — على سبيل المثال "Virtualize Intel VT-x/EPT" في إعدادات المعالج بـVMware، مع إيقاف تشغيل الجهاز الافتراضي.

التثبيت

الخيار ب — التثبيت يدويا من حزمة إصدار

نزل أحدث samm-<version>.tar.gz من صفحة إصدارات GitHub، ثم على الخادم:

tar -xzf samm-<version>.tar.gz
cd samm-<version>
sudo bash install.sh

يمكنك أيضا النشر من ملف zip تم إنشاؤه على جهاز آخر — يقوم المثبت بمزامنة المصدر عبر rsync إلى /opt/samm بنفسه:

mkdir -p /opt/samm && unzip samm.zip -d /tmp/samm-bundle
sudo bash /tmp/samm-bundle/samm/install.sh

أو استنسخ المستودع إلى /opt/samm ونفذ sudo bash /opt/samm/install.sh.

في كلتا الحالتين، بعد انتهاء التثبيت، افتح بوابة الإدارة وسجل الدخول بهذه البيانات:

رابط الدخولhttp://<your-server>/admin · اسم المستخدمadmin · كلمة المرورadmin

غير كلمة مرور المدير فورا بعد أول تسجيل دخول.

التثبيت

الخيار ج — التثبيت باستخدام Docker Compose

إذا كنت تفضل تشغيل SAMM كحاويات - نفس المنتج، ولكن معبأ بشكل مختلف -\n استخدم التوزيع Docker Compose على github.com/mhdhaidarah/samm-docker .\n على أي مضيف يتوفر به Docker :

curl -fsSL https://github.com/mhdhaidarah/samm-docker/releases/latest/download/install.sh | sudo bash

يثبت ذلك Docker إن لم يكن موجودا، ويضع ملف docker-compose.yml في /opt/samm-docker/ مع كلمة مرور قاعدة بيانات عشوائية قوية مضبوطة مسبقا، ثم يشغل الحزمة. صورة mhdhaidarah/samm مبنية من الحزمة المصرفة نفسها المستخدمة في تثبيت النظام المباشر — مغلقة المصدر بالتصميم.

متعدد المعماريات — الوسم نفسه ينشر لـ linux/amd64 وlinux/arm64، وتختار النسخة الصحيحة تلقائيا من الوسم: docker pull على أي مضيف Docker ‏(Intel/AMD، خادم ARM، أو Mac بمعالج Apple)، و MikroTik RouterOS 7.23+ على الموجه نفسه. ملف واحد، لكل منصة.

على الأجهزة التي لا يسمح فيها بإرسال البيانات curl إلى bash (الصناديق المقيدة، سياسات الخروج الصارمة)، يمكنك الحصول على ملف Compose الجاهز للتشغيل مباشرةً:

git clone https://github.com/mhdhaidarah/samm-docker.git
cd samm-docker
# optional: edit docker-compose.yml and replace change-me-strong-random-string
docker compose up -d

تتواجد بعض الميزات بعد في متغير Docker (قفل ترخيص مرحلي، تحميل ديناميكي لـ FreeRADIUS). تم إخفاء صفحات الإدارة المدمجة لـ WireGuard و نفق Cloudflare عن قصد في متغير Docker — فهي تدير خدمات systemd على مستوى المضيف التي لا يمكن الوصول إليها من داخل الحاوية. اختر الخيار أ أو ج أعلاه إذا كنت بحاجة إلى تلك الميزات المدمجة، أو قم بتشغيل cloudflared / wg-quick على مضيف Docker مباشرة جنبًا إلى جنب مع SAMM. راجع دليل متغير Docker للحصول على تحذيرات الإصدار 1 الكاملة ومسار التثبيت اليدوي.

في نظام التشغيل Windows ( Docker Desktop ) — للتقييم فقط

غير مستحسن للإنتاج. وضع السكون / السبات / إغلاق الغطاء في Windows يوقف الحاويات؛ يتم تشغيل إعادة تشغيل التمهيد فقط عند بدء تشغيل WSL (وليس عند تشغيل Windows)؛ ال يتم تشغيل التحديث التلقائي اليومي فقط أثناء وجود WSL. استخدمه للتقييم/العرض التوضيحي، إذن نشر الإنتاج على Linux جهاز افتراضي (Hyper-V، Proxmox، ESXi) أو صندوق فعلي صغير (على سبيل المثال NUC يقوم بتشغيل خادم Ubuntu ).

تثبيت Docker Desktop لنظام التشغيل Windows (سيقوم بإعداد خلفية WSL2 عند التشغيل الأول). ثم من PowerShell — دون الحاجة إلى محطة WSL — احصل على حزمة Compose وابدأ المكدس:

mkdir C:\samm-docker
cd C:\samm-docker
curl.exe -fLO https://github.com/mhdhaidarah/samm-docker/releases/latest/download/docker-compose.yml
# optional: notepad docker-compose.yml — replace change-me-strong-random-string with your own password
docker compose pull
docker compose up -d

شاهد عملية تحميل المكدس في Docker Desktop → الحاويات — تتوسع المجموعة samm إلى 8 خدمات. بعد أن تصبح كلها خضراء، افتح بوابة الإدارة وقم بتسجيل الدخول باستخدام هذه بيانات الاعتماد:

رابط الدخولhttp://localhost:8000/admin · اسم المستخدمadmin · كلمة المرورadmin

غير كلمة مرور المدير فورا بعد أول تسجيل دخول.

إذا كان NAS MikroTik حقيقيا سيصل إلى مضيف Windows هذا لـ RADIUS، فاسمح بـ UDP 1812 + 1813 من خلال جدار حماية Windows:

New-NetFirewallRule -DisplayName "SAMM RADIUS" -Direction Inbound -Protocol UDP -LocalPort 1812,1813 -Action Allow

هدم: docker compose down -v من دليل التثبيت (يمسح -v حجم postgres ومفتاح Fernet - قم بعمل نسخة احتياطية لهما أولاً إذا كنت قد أضفت بيانات).

التثبيت

الخيار E — التثبيت على موجه MikroTik ‏(RouterOS 7.23+)

نفس SAMM، دون الحاجة إلى جهاز Linux. إذا كان جهاز MikroTik لديك يدعم حزمة container وبه قرص USB أو بطاقة microSD، فيمكنك تشغيل الحزمة كاملة مباشرة على الموجه — بنفس ملف docker-compose.yml المستخدم في كل مكان آخر. يسحب RouterOS 7.23+ معمارية المعالج الصحيحة من وسوم الصور متعددة المعماريات تلقائيا، فلا يوجد شيء خاص بالموجه لتنزيله.

مدعوم: كل موجه MikroTik يدعم الحاويات — RB5009، hAP ax²، CCR2004-1G-12S+2XS، CCR2116، CCR2216، L009، وما شابه (arm64)، إضافة إلى RouterOS على x86 وCHR ‏(amd64). غير مدعوم: أجهزة armv7 / mipsbe / smips / tile / ppc (hEX، RB750، طرز RB الأقدم) — لا تدعم الحاويات أو مواردها أقل من أن تكفي حزمة SAMM. يلزم RouterOS ‏7.23 أو أحدث (الإصدارات الأقدم لا تستطيع اختيار المعمارية من وسم متعدد المعماريات).

1. قم بإعداد جهاز التوجيه

ثبت حزمة container (من extra_packages.zip على mikrotik.com/download — ارفع ملف container-*.npk المطابق عبر Files ثم أعد التشغيل). ثم فعل وضع الحاويات (مرة واحدة — ولا يتفعل إلا بعد فصل الطاقة وإعادة وصلها، لا بإعادة تشغيل عادية):

/system device-mode update container=yes
# HARD reboot the router (unplug the power) — a soft /system reboot
# will NOT activate the container feature

2. تهيئة القرص وتثبيته (ext4)

أدخل محرك أقراص USB أو بطاقة microSD (يوصى بسعة ≥ 8 جيجابايت — Postgres + إضافة طبقات الصورة). على جهاز التوجيه:

/disk print
# note the disk slot, e.g. "usb1-part1" or "disk1"
/disk format-drive usb1-part1 file-system=ext4 label=samm

بعد التهيئة، تحقق من تركيب القرص وقابليته للكتابة:

/disk print detail
# look for "type=ext4" and a mount point like "/usb1-part1"

٣. انسخ ملف compose

ملف واحد لكل منصة. استبدل change-me-strong-random-string (كلمة مرور Postgres — استخدم القيمة القوية نفسها أينما ظهرت) وchange-me-random-token. ثم في WebFig/WinBox: Container ← Apps ← + New ← YAML، الصق، واضبط قرص ext4 من الخطوة 2 كموضع للتخزين، ثم أرسل. يسحب RouterOS 7.23+ معمارية المعالج الصحيحة من وسوم الصور تلقائيا.

عالق عند "waiting for reverse proxy"؟ في RouterOS 7.23+، أزل تحديد Use HTTPS في نافذة Apps وأعد النشر — هذا الخيار يتحكم في وسيط منفذ التطبيق، لا في كيفية سحب الصور.
docker-compose.yml
name: samm

services:
  postgres:
    image: postgres:16-alpine
    restart: unless-stopped
    environment:
      POSTGRES_DB: samm
      POSTGRES_USER: samm
      POSTGRES_PASSWORD: change-me-strong-random-string
      TZ: UTC
    volumes:
      - pgdata:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U samm -d samm"]
      interval: 10s
      timeout: 5s
      retries: 12

  samm-api:
    image: mhdhaidarah/samm:latest
    restart: unless-stopped
    command: ["api"]
    environment:
      SAMM_ROLE: api
      POSTGRES_HOST: postgres
      POSTGRES_PORT: 5432
      POSTGRES_DB: samm
      POSTGRES_USER: samm
      POSTGRES_PASSWORD: change-me-strong-random-string
      TZ: UTC
      SAMM_API_HOST: 0.0.0.0
      SAMM_API_PORT: 8000
      SAMM_API_WORKERS: 2
      WA_BRIDGE_URL: http://wa-bridge:8787
      WA_BRIDGE_TOKEN: change-me-random-token
    depends_on:
      postgres:
        condition: service_healthy
    healthcheck:
      test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:8000/health >/dev/null || exit 1"]
      interval: 10s
      timeout: 5s
      retries: 30
      start_period: 900s
    ports:
      - "8000:8000"
    volumes:
      - etcsamm:/etc/samm
      - sammvar:/opt/samm/var
      - sammlogs:/var/log/samm
      - sammlocales:/opt/samm/app/locales

  samm-radius:
    image: mhdhaidarah/samm:latest
    restart: unless-stopped
    command: ["radius"]
    environment:
      SAMM_ROLE: radius  # see samm-api notes — parser-agnostic role hint
      POSTGRES_HOST: postgres
      POSTGRES_PORT: 5432
      POSTGRES_DB: samm
      POSTGRES_USER: samm
      POSTGRES_PASSWORD: change-me-strong-random-string
      TZ: UTC
    depends_on:
      postgres:
        condition: service_healthy
      samm-api:
        condition: service_healthy
    volumes:
      - etcsamm:/etc/samm
      - sammvar:/opt/samm/var
      - sammlogs:/var/log/samm

  samm-worker:
    image: mhdhaidarah/samm:latest
    restart: unless-stopped
    command: ["worker"]
    environment:
      SAMM_ROLE: worker  # see samm-api notes — parser-agnostic role hint
      POSTGRES_HOST: postgres
      POSTGRES_PORT: 5432
      POSTGRES_DB: samm
      POSTGRES_USER: samm
      POSTGRES_PASSWORD: change-me-strong-random-string
      TZ: UTC
    depends_on:
      postgres:
        condition: service_healthy
      samm-api:
        condition: service_healthy
    cap_add:
      - NET_RAW
    sysctls:
      - net.ipv4.ping_group_range=0 2147483647
    volumes:
      - etcsamm:/etc/samm
      - sammvar:/opt/samm/var
      - sammlogs:/var/log/samm

  samm-notification:
    image: mhdhaidarah/samm:latest
    restart: unless-stopped
    command: ["notification"]
    environment:
      SAMM_ROLE: notification  # see samm-api notes — parser-agnostic role hint
      POSTGRES_HOST: postgres
      POSTGRES_PORT: 5432
      POSTGRES_DB: samm
      POSTGRES_USER: samm
      POSTGRES_PASSWORD: change-me-strong-random-string
      TZ: UTC
      WA_BRIDGE_URL: http://wa-bridge:8787
      WA_BRIDGE_TOKEN: change-me-random-token
    depends_on:
      postgres:
        condition: service_healthy
      samm-api:
        condition: service_healthy
    volumes:
      - etcsamm:/etc/samm
      - sammvar:/opt/samm/var
      - sammlogs:/var/log/samm

  samm-telegram:
    image: mhdhaidarah/samm:latest
    restart: unless-stopped
    command: ["telegram"]
    environment:
      SAMM_ROLE: telegram  # see samm-api notes — parser-agnostic role hint
      POSTGRES_HOST: postgres
      POSTGRES_PORT: 5432
      POSTGRES_DB: samm
      POSTGRES_USER: samm
      POSTGRES_PASSWORD: change-me-strong-random-string
      TZ: UTC
    depends_on:
      postgres:
        condition: service_healthy
      samm-api:
        condition: service_healthy
    volumes:
      - etcsamm:/etc/samm
      - sammvar:/opt/samm/var
      - sammlogs:/var/log/samm

  wa-bridge:
    image: mhdhaidarah/samm:wa-bridge-latest
    restart: unless-stopped
    environment:
      WA_BRIDGE_TOKEN: change-me-random-token
      TZ: UTC
    depends_on:
      - samm-api
    volumes:
      - wabridge_auth:/data/auth      # multi-device session — persists the QR link

  freeradius:
    image: mhdhaidarah/samm:freeradius-latest
    restart: unless-stopped
    environment:
      POSTGRES_HOST: postgres
      POSTGRES_PASSWORD: change-me-strong-random-string
      TZ: UTC
    depends_on:
      postgres:
        condition: service_healthy
      samm-api:
        condition: service_healthy
    ports:
      - "1812:1812/udp"
      - "1813:1813/udp"

volumes:
  pgdata: {}
  etcsamm: {}
  sammvar: {}
  sammlogs: {}
  sammlocales: {}
  wabridge_auth: {}      # WhatsApp bridge multi-device session

4. تحقق من MikroTik واربطه بـ SAMM

بمجرد تشغيل حاويات SAMM ، افتح بوابة الإدارة في المتصفح وقم بتسجيل الدخول باستخدام بيانات الاعتماد هذه:

رابط الدخولhttp://<router-ip>:8000/admin · اسم المستخدمadmin · كلمة المرورadmin

غير كلمة مرور المدير فورا. مصادقة RADIUS والمحاسبة معروضتان على UDP 1812 + 1813 على الموجه نفسه، لذا يمكن لعميل RADIUS في MikroTik الإشارة إلى 127.0.0.1 بالسر المشترك الذي تضبطه في النظام → RADIUS.

مسار نشر تجريبي. ميزة الحاويات في RouterOS أبسط من Docker Compose — إذ يختلف سلوك DNS لأسماء الخدمات وترتيب الاعتماديات (depends_on) وعمليات إعادة التشغيل المباشرة. إذا لم تعمل المنظومة كما يجب على عتادك، فارجع إلى تشغيل Docker على جهاز Linux صغير (NUC أو Pi 4 أو جهاز افتراضي) بجوار MikroTik. يعمل ملف compose نفسه هناك بكامل خصائص Compose.

5. التحديث — النسخ الاحتياطي والاستعادة يدويا

يؤدي تحديث تطبيق الحاوية على MikroTik إلى حذف قاعدة بياناتك. لا يستطيع RouterOS تغيير إصدار تطبيق مثبت في مكانه — الطريقة الوحيدة هي إزالة التطبيق وإضافته من جديد، وإزالته تحذف كل ما خزنه التطبيق، بما في ذلك قاعدة بيانات SAMM. خذ نسخة احتياطية ونزلها إلى حاسوبك قبل إزالة التطبيق. النسخة الاحتياطية التي تبقى على الموجه تحذف مع كل شيء آخر.

لنقل تثبيت حاوية MikroTik إلى إصدار جديد:

  1. في SAMM، انتقل إلى الأدوات → النسخ الاحتياطي، قم بإنشاء نسخة احتياطية، وقم بتنزيل الملف إلى حاسوبك.
  2. على الموجه، أزل التطبيق ثم أضفه من جديد بالإصدار الجديد.
  3. افتح SAMM الجديد، وانتقل إلى الأدوات → النسخ الاحتياطي واستعد الملف الذي نزلته.

ينطبق هذا على حاوية MikroTik فقط. في Docker (على Linux أو Windows أو جهاز افتراضي بـ Linux) يتم التحديث بـ docker compose pull ثم docker compose up -d، ولا تمس بياناتك — فوحدات التخزين تعيش خارج الحاويات وتبقى كما هي.

التثبيت

الخيار F — قرص SAMM Server ISO (تثبيت جهاز جاهز)

يحول SAMM Server ISO أي جهاز أو جهاز افتراضي فارغ إلى خادم SAMM جاهز: أقلع منه، اختر DHCP أو عنوان IP ثابت في الشاشة الوحيدة التي يعرضها، أكد، ثم اتركه يعمل. يثبت Ubuntu Server 24.04 LTS (النسخة المصغرة)، يسمي المضيف samm-server، ثم ينزل ويثبت أحدث إصدار SAMM تلقائيا عند أول إقلاع — فلا يتقادم القرص أبدا. تعرض الشاشة شعار SAMM أثناء الإقلاع ولافتة دخول تظهر عنوان IP الخاص بالخادم وعنوان لوحة الإدارة وبيانات الدخول الافتراضية، ويوفر الأمر samm-tools وصولا مباشرا إلى أدوات الصيانة (فحص الصحة، نسخ قاعدة البيانات احتياطيا واستعادتها، إعادة تعيين كلمة مرور المدير).

هذا القرص يمسح القرص الأول في الجهاز. لا تقلع منه إلا على عتاد أو جهاز افتراضي مخصص لSAMM. إذا كان الجهاز دون إنترنت أثناء التثبيت، سيكمل الإعداد نفسه فور توفر الاتصال.

اكتبه على وحدة USB (باستخدام Rufus أو balenaEtcher أو dd) أو اربطه بجهاز افتراضي، ثم أقلع وأجب عن سؤال الشبكة. بيانات الدخول الافتراضية بعد التثبيت — اللوحة: admin / admin، النظام: samm / samm أو root / samm — غيرها جميعا.

تنزيل قرص SAMM Server ISO 2.2 GB

SHA-2568b6d57e286a4c0524d96b5b4970b57079113e000fc8229f94360410c12f5102e

التثبيت

مرجع المثبت

خيارات غير تفاعلية

يمكن الإجابة على جميع المطالبات مسبقا باستخدام متغيرات البيئة، حتى يمكن تشغيل المثبت دون تدخل:

المتغيرالتأثير
DB_PASSاستخدم كلمة مرور قاعدة البيانات هذه بدلا من توليدها تلقائيا (للتثبيت الأول فقط)
CF_TOKENثبت موصل Cloudflare Tunnel باستخدام رمز Zero Trust هذا
SAMM_HTTP_PORTفرض منفذ استماع nginx (يتخطى مطالبة فحص المنفذ 80)
SAMM_VERBOSE1 يبث مخرجات الأوامر الخام بدلا من شريط التقدم
NO_COLOR1 يعطل المخرجات الملونة
DB_PASS='strong_pw'   sudo bash /opt/samm/install.sh
CF_TOKEN='eyJ...'     sudo bash /opt/samm/install.sh
SAMM_HTTP_PORT=8080   sudo bash /opt/samm/install.sh

ما الذي يقوم المثبت بإعداده

يعمل المثبت كعرض تقدم ملون مباشر — شريط نسبة مئوية وقائمة تحقق لكل مرحلة. يتم التقاط المخرجات الخام لكل مرحلة إلى /var/log/samm-install.log؛ وفي حالة الفشل تتم طباعة آخر 30 سطرا.

المكونالتفاصيل
FreeRADIUS 3مهيأ مع خلفية PostgreSQL وعملاء NAS ديناميكيين؛ ويتم التحقق منه بـ freeradius -CX
PostgreSQLتطبق قاعدة البيانات والمخطط وكل ترحيلات SQL — وكل ملف ترحيل قابل لإعادة التنفيذ بأمان
Python venvتبنى كل الاعتماديات من requirements.txt وتجمع ملفات الترجمة. إذا لم يطابق Python الخاص بالتوزيعة الحزمة المجمعة، يجلب المثبت مفسرا مستقلا مطابقا إلى /opt/samm/runtime تلقائيا
nginxيضاف الوكيل العكسي بالإضافة — ولا تحذف المواقع القائمة أبدا. يستخدم المنفذ 80 إذا كان متاحا؛ وإلا فإنه يطلب منفذا بديلا
5 servicessamm-api وsamm-radius وsamm-worker وsamm-notification وsamm-telegram — كلها مفعلة كوحدات systemd
WireGuardالحزم مثبتة؛ يتم إعدادها لاحقا من النظام ← VPN
cloudflaredالبرنامج التنفيذي يثبت دائما؛ ورمز النفق اختياري عند التثبيت أو يضاف لاحقا من النظام ← Cloudflare Tunnel

جميع بيانات الاعتماد — كلمة مرور قاعدة البيانات ومفاتيح توقيع الجلسة — تولد تلقائيا عند التثبيت الأول.

المطالبات التفاعلية

تظهر أي مطالبات في البداية، قبل بدء التثبيت:

  • رمز Cloudflare — الصق رمز موصل Zero Trust لنشر SAMM عبر الإنترنت دون منافذ مفتوحة، أو اضغط Enter للتخطي وإعداده لاحقا.
  • منفذ HTTP — إذا كان المنفذ 80 مستخدما، فإن المثبت يترك تلك المواقع دون تغيير ويطلب منفذا بديلا (الافتراضي 8080).

ملخص التثبيت

عند انتهاء المثبت يطبع ملخصا يتضمن رابط المسؤول، وبيانات تسجيل الدخول الافتراضية، ومنفذ HTTP المختار، وبيانات اعتماد قاعدة البيانات، ومسارات ملفات الإعداد:

============================================================
  SAMM is installed and running.
  Admin portal  : http://localhost/admin/login
  Default login : admin / admin   <- CHANGE AFTER FIRST LOGIN
  Config files  : /etc/samm/samm.yaml  /etc/samm/api.env
============================================================

الترقية

للترقية، اجلب المصدر الجديد وأعد تشغيل المثبت:

git -C /opt/samm pull        # or unpack a newer release bundle
sudo bash /opt/samm/install.sh

تعيد إعادة التشغيل مزامنة المصدر، وترقي البيئة الافتراضية، وتعيد تطبيق جميع الترحيلات، وتعيد تحميل إعدادات FreeRADIUS وnginx، وتعيد تشغيل كل خدمة. ملفات الإعداد ومنفذ HTTP الذي تم اختياره عند التثبيت الأول يتم الحفاظ عليها.

نصيحة يمكن لـ SAMM أيضا تحديث نفسه — راجع الترخيص والتحديثات. فعل التحديثات التلقائية، أو طبقها عند الطلب، من النظام ← الترخيص.
بيئات معزولة وقواعد بيانات بعيدة يشحن SAMM ذاته فقط — أما FreeRADIUS وPostgreSQL وnginx وغيرها فيتم جلبها عند التثبيت من مستودعات apt الرسمية، لذا يجب على التثبيتات المعزولة تجهيز تلك الحزم مسبقا. لقاعدة بيانات PostgreSQL بعيدة، اضبط DSN في /etc/samm/samm.yaml بعد التثبيت.

البدء

الخطوات الأولى

خمس مهام قصيرة تنقل تثبيتا جديدا إلى نقطة يمكن فيها للمشتركين الاتصال وإصدار فواتيرهم.

1 · أول تسجيل دخول

  1. افتح http://<your-server>/admin/ (استخدم منفذ HTTP من ملخص التثبيت إذا لم يكن 80)، أو رابط نفق Cloudflare الخاص بك.
  2. سجل الدخول بـ admin / admin.
  3. غير كلمة المرور فورا من النظام ← المسؤولون، أو من قائمة الملف الشخصي في الشريط العلوي.

2 · أضف أول راوتر

  1. اذهب إلى MikroTik ← NAS وانقر على إضافة راوتر.
  2. أدخل IP الراوتر، واسما مختصرا، وسرا مشتركا لـ RADIUS. لأجهزة MikroTik، يمكنك اختياريا إضافة بيانات اعتماد API للمزامنة المباشرة للجهاز.
  3. على MikroTik، أضف خادم RADIUS يشير إلى مضيف SAMM (المنافذ 1812/1813) بـ نفس السر المشترك، وفعل RADIUS لـ PPP / Hotspot.

لا حاجة لإعادة تشغيل FreeRADIUS — يحل SAMM عملاء NAS ديناميكيا من قاعدة البيانات. راجع الراوترات (NAS) للإجراء الكامل، أو دع الإعداد التلقائي يهيئ MikroTik لك.

3 · أنشئ باقة

تحدد الباقة السرعة والحدود والسعر الذي تبيعه. اذهب إلى المستخدمون ← الباقات ← باقة جديدة. مرجع كامل للحقول: الباقات والحدود.

4 · أضف مشتركا

اذهب إلى المستخدمون ← مستخدم جديد، واملأ بيانات تسجيل الدخول واختر باقة. يمكن للمشترك الاتصال فورا. للوصول المدفوع مسبقا إلى Hotspot، أنشئ بطاقات قسائم بدلا من ذلك.

5 · فعل ترخيصك

يعمل التثبيت الجديد غير مسجل على باقة الحد الأدنى. افتح النظام ← الترخيص وفعله لرفع الحدود — راجع الترخيص والفئات.

الإيقاع اليومي أضف الراوترات ← أنشئ الباقات ← أضف المشتركين أو البطاقات ← راقب لوحة التحكم ← سجل المدفوعات ضمن المحاسبة.

البدء

الترحيل من نظام آخر

هل تشغل بالفعل نظام فوترة RADIUS آخر؟ يقرأ SAMM بياناته ويعيد إنشاء باقاتك ومشتركيك، فلا تحتاج إلى إعادة إدخال أي شيء. يحتفظ المشتركون بكلمة مرور الخدمة وتاريخ الانتهاء الحاليين، ما يعني أنهم يواصلون تسجيل الدخول تماما كما كانوا.

انتقل إلى الأدوات → التصدير / الاستيراد واختر نظامك القديم ضمن الترحيل من نظام آخر. وكبقية الأدوات، فهي متاحة لمدير النظام الأعلى فقط.

ما الذي ترفعه

النظام القديمالملفمن أين يأتي
SAS4 / Radius Manager .sql أو .sql.gz نسخة احتياطية MySQL لقاعدة البيانات القديمة
Super Speed Radius .sql أو .sql.gz نسخة احتياطية MySQL لقاعدة البيانات القديمة
Pro Radius .xlsx أو .csv قائمة المشتركين المصدرة منه — فذلك النظام لا يوفر تصدير نسخة احتياطية

غالبا ما تبلغ النسخ الاحتياطية عدة غيغابايت؛ لا مشكلة في ذلك، ارفع الملف كما هو. ولا تحتاج النسخ المضغوطة إلى فك ضغطها أولا.

كيف يعمل

  1. ارفع الملف. لا يكتب أي شيء بعد.
  2. راجع المعاينة. تعرض الباقات والمشتركين الذين سيتم إنشاؤهم، وتنبهك إلى أي شيء اضطرت لتخطيه أو تصحيحه، وتتحقق من الإجمالي مقابل ترخيصك قبل أن تؤكد.
  3. اختر ما يحدث لأسماء المستخدمين الموجودة مسبقا في SAMM — تخطيها والإبقاء على سجل SAMM، أو تحديث اسمها وجهة اتصالها من النظام القديم.
  4. استورد. يكتب كل سجل بشكل مستقل، لذا لن يتسبب سجل واحد سيئ في التراجع عن البقية.

ما الذي ينقل

  • الباقات — الاسم والسرعات والسعر والمدة وكوتا البيانات حيثما يسجلها النظام القديم.
  • المشتركون — اسم المستخدم وكلمة مرور الخدمة والاسم وبيانات الاتصال وتاريخ الانتهاء والباقة وعنوان IP الثابت وعنوان MAC.
  • يبقى المشتركون المعطلون في النظام القديم معطلين.

الفوترة والفواتير والبطاقات المدفوعة مسبقا والتذاكر والمحاسبة وسجلات المشرفين لا تستورد عن قصد — فهي تخص نموذج بيانات النظام القديم ونادرا ما تتطابق بشكل سليم.

القيم التي لا تطابق عمودها

قواعد البيانات الحقيقية فوضوية: عنوان مكتوب في خانة البريد الإلكتروني، وملاحظة في حقل الجوال، ورقم هاتف مكتوب بلوحة مفاتيح عربية. يتحقق SAMM من كل قيمة مقابل ما يفترض أن يحتويه عمودها. وأي قيمة لا تناسب تبقى خارج ذلك الحقل وتحفظ في ملاحظات المشترك الخاصة بالمشرف بدلا من ذلك، موسومة بمصدرها — فلا يضيع شيء ولا يتلوث أي حقل. وتخبرك المعاينة بعدد القيم المتأثرة.

Pro Radius بالتفصيل

يصدر Pro Radius المشتركين دون الباقات، لذا يستنتج SAMM الباقات من مستوى الخدمة لكل مشترك، آخذا السرعة من اسمها (خدمة باسم "4MBPS" تصبح باقة بسرعة 4 ميغابت). وثلاثة أمور ببساطة غير موجودة في ذلك الملف وتضبط على قيم افتراضية معقولة ينبغي أن تراجعها لاحقا:

  • المدة — تضبط على شهر واحد. ويستورد تاريخ الانتهاء الحقيقي لكل مشترك دون تغيير، لذا لا يؤثر ذلك إلا على التجديدات المستقبلية.
  • سرعة الرفع — تضبط لتطابق سرعة التنزيل.
  • السعر — يضبط على 0.
راجع الباقات قبل إصدار الفواتير بعد الاستيراد من Pro Radius، افتح الباقات واضبط السعر والمدة الحقيقيين لكل واحدة. وإلى أن تفعل ذلك، ستفوتر تلك الباقات بصفر.

معلومات مفيدة

  • يمكنك تشغيله أكثر من مرة بأمان. إعادة استيراد الملف نفسه تتخطى كل من هو موجود مسبقا بدلا من تكراره.
  • ترخيصك يظل ساريا. إذا احتوى الملف على مشتركين أكثر مما تسمح به فئتك، تخبرك المعاينة بذلك مقدما وتوضح كم عدد من سيتسع — يمكنك الترقية، أو استيراد مجموعة جزئية.
  • خذ نسخة احتياطية أولا إذا كنت تستورد إلى تثبيت يحتوي بالفعل على بيانات حقيقية.

المشتركون & الباقات

الباقات & الحدود

الباقة هي تعريف الخدمة المخصصة للمشتركين — تحدد السرعة والحدود والسعر. أنشئ الباقات قبل إضافة المستخدمين.

يأتي التنصيب الجديد بـ 9 باقات جاهزة — ثماني فئات سرعة شهرية إضافة إلى باقة خنق "Expired" — فتبيع فورا أو تنشئ باقاتك. تعمل التهيئة الأولية عند أول تنصيب فقط ولا تمس الباقات التي أضفتها.

إنشاء باقة

  1. اذهب إلى المستخدمون ← الباقات.
  2. انقر على باقة جديدة.
  3. املأ النموذج وانقر على حفظ الباقة.

كل حد هو مفتاح تبديل — فعل فقط ما تحتاجه. تستخدم النافذة المنبثقة نفسها لتعديل باقة قائمة (افتح قائمة ⋮ للصف ← تعديل).

حقول الباقة

حقلالمعنى
الاسماسم باقة فريد، مثل Home-50M
السعريحتسب لكل فترة فوترة عند استخدام إصدار الفواتير
سرعة التنزيل / الرفعمثل 50M، 512K، 1G — تفرض كحد السرعة في MikroTik
الجلسات المتزامنةعدد الأجهزة التي يمكنها الاتصال في وقت واحد ضمن هذه الباقة. القيمة الافتراضية 1 — يرفض تسجيل الدخول الثاني ما دام الأول متصلا. اضبطها على 0 لجعلها بلا حد. الجلسة التي توقفت عن إرسال بياناتها يتم تجاهلها، لذا لا يؤدي انقطاع الاتصال إلى منع المشترك من الدخول
الحد: الانتهاءينتهي الاشتراك بعد فترة ثابتة من التفعيل (أيام/أشهر/ساعات/دقائق)
الحد: الكوتاإجمالي حد للبيانات (مجمع، أو للتنزيل فقط، أو للرفع فقط) لكامل الاشتراك
الحد: زمن التشغيلحد على زمن الاتصال التراكمي — مجموع مدد كل الجلسات
الحد: الاستخدام اليوميحد للبيانات يعاد ضبطه كل يوم في وقت الإعادة اليومية المعين
نافذة غير محدودةإضافة سريعة لنافذة سرعة واحدة — يوجد المحرر الكامل في صفحة نوافذ السرعة الخاصة بالباقة
مجمع IPاسم Framed-Pool اختياري في RADIUS لتعيين العناوين
تجديد تلقائيابدأ فترة جديدة عند الانتهاء بدلا من تغيير الباقة أو قطع الاتصال

الحدود الأربعة

كل حد مستقل واختياري. عند ضبط عدة حدود، يتحقق SAMM منها بـ ترتيب ثابت — الانتهاء ← الحصة ← زمن التشغيل ← اليومي — وأول حد يستنفد يحدد الإجراء.

الحديتتبععند الاستنفاد
الانتهاءالوقت التقويمي منذ التفعيلالتبديل إلى باقة أخرى، أو قطع الاتصال
الحصةإجمالي البايتات المستخدمةالتبديل إلى باقة أخرى، أو قطع الاتصال
زمن التشغيلثوان الجلسات التراكميةالتبديل إلى باقة أخرى، أو قطع الاتصال
يوميالبايتات منذ آخر إعادة يوميةخنق — إلى سرعات تدخلها أو عبر باقة أبطأ — حتى إعادة الضبط اليومية التالية

لكل حد تختار ما يحدث عند الاستنفاد: اختر باقة تالية ينقل إليها المشترك، أو اتركه على — قطع الاتصال —. الحد اليومي يخنق بدل القطع: افتراضيا تدخل سرعات الخنق مباشرة (حقلا التنزيل/الرفع) أو تختار باقة "تالية" أبطأ — وفي الحالتين يعود المشترك إلى باقته الأصلية تلقائيا عند إعادة الضبط اليومية التالية.

نوافذ السرعة

نافذة السرعة تتجاوز السرعة الأساسية للباقة لساعات محددة — على سبيل المثال نافذة سرعة غير محدودة بعد منتصف الليل. انقر على صف الباقة لفتح محرر نوافذ السرعة الخاص بها، الذي يضيف التحكم بأيام الأسبوع ويدعم النوافذ التي تتخطى منتصف الليل. عند تطابق عدة نوافذ، تفوز النافذة الأعلى سرعة.

ملاحظة المشتركون الذين تم تخفيفهم أو استنفدوا الحدود يستثنون من نوافذ السرعة — لا يرفع SAMM السرعة أبدا أثناء سريان حد ما.

مفهومان للاستخدام

يحتفظ SAMM بالاستخدام في مكانين، ولا يخلط بينهما أبدا:

  • عدادات قابلة للإعادة — حالة كل حد. تصفر بإعادة من المسؤول وبالإعادة اليومية.
  • عدادات الفوترة — إجماليات مدى الحياة غير قابلة للإعادة. لا تصفر أبدا، حتى تبقى التقارير والفواتير دقيقة.

إدارة الباقات

تعرض قائمة الباقات سرعة كل باقة، وعدد المشتركين، والحدود النشطة، ونوافذ السرعة. من قائمة ⋮ للصف يمكنك التعديل، أو فتح نوافذ السرعة الخاصة بها، أو تفعيلها/تعطيلها، أو الانتقال إلى مشتركيها، أو حذفها (فقط عندما لا يكون لها مشتركون). تعديل التجديد التلقائي يعرض تعميم التغيير على جميع المشتركين الحاليين.

نسخ مكرر ينسخ الباقة بالضبط — السرعات، الحدود، نوافذ السرعة والسعر — تحت اسم جديد، وهو أسرع بكثير من إعادة بناء التعريفة يدويًا لتغيير رقم واحد. إذا كان الاسم الذي تعطيه محجوزًا بالفعل، يتم استخدام الرقم التالي المتاح.

المشتركون & الباقات

المشتركون

المشترك (العميل / المستخدم) هو حساب PPPoE أو Hotspot يقوم بالمصادقة عبر SAMM. يخصص لكل مشترك باقة واحدة بالضبط.

إنشاء مشترك

  1. اذهب إلى المستخدمون وانقر على عميل جديد.
  2. أكمل النموذج واحفظ — يمكن للمشترك الاتصال فورا.
حقلالمعنى
اسم المستخدم *اسم تسجيل دخول PPPoE / Hotspot — يجب أن يكون فريدا
كلمة المرور *كلمة مرور تسجيل الدخول (تخزن لمصادقة PAP/CHAP في RADIUS)
الاسم الأول / الأخيراسم المشترك
الجوال / البريد الإلكتروني / العنوانبيانات الاتصال — تستخدم للإشعارات والفواتير
باقة *باقة الخدمة المراد تعيينها
تجاوز الانتهاءتاريخ انتهاء يدوي اختياري بدلا من التاريخ المحسوب من الباقة
تجديد تلقائيتجديد فترة الباقة تلقائيا عند الانتهاء

إنشاء العديد من المشتركين في وقت واحد

يُنشئ المستخدمون الجدد في الدفعة سلسلة مرقمة من الحسابات في عملية واحدة — وهي الطريقة المعتادة لتوزيع كتلة من بيانات تسجيل الدخول على قرية أو فندق أو موزع. اختر عدد الحسابات، والرقم الذي تبدأ منه، وعدد الأرقام التي تريد إضافةها (3 تعطي 001، 002، ...); يتم ملء كل شيء آخر — الباقة، وتاريخ انتهاء الصلاحية، والتجديد التلقائي — مرة واحدة وتطبيقه على جميع الحسابات. يتشاركون كلمة مرور واحدة.

ينطبق اختيار الفاتورة على كل مستخدم في المجموعة بشكل منفصل ، لذا فإن تشغيل خمسين إما يؤدي إلى رفع خمسين فاتورة أو لا شيء، و يظهر الإجمالي قبل الالتزام.

قائمة المشتركين

تسرد صفحة المستخدمين كل مشترك مع نقطة حالة سريعة الفهم، والباقة المعينة، وكم تبقى من كل حد — الاستخدام اليومي مع شريط تقدم، والحصة المتبقية، وزمن التشغيل المتبقي، والأيام المتبقية. صف حسب الحالة (الكل / نشط / موقوف / منته / متصل) أو ابحث باسم المستخدم أو الاسم أو رقم الجوال.

شارة تبديل الباقة شارة واحدة تعني باقة المشترك. شارتان مربوطتان بسهم تعنيان أن المشترك بلغ حده اليومي وتم تحويله مؤقتا إلى باقة تخفيف — ويعود إلى الأصلية عند الإعادة اليومية التالية.

إدارة المشترك

انقر بزر الفأرة الأيمن على صف — أو استخدم قائمة ⋮ — لكل إجراء خاص بالمشترك:

الإجراءما يقوم به
عرض / تعديلافتح صفحة التفاصيل، أو عدل بيانات الاتصال وكلمة المرور وتاريخ الانتهاء
تفعيل / تعطيلإيقاف الحساب — يتم قطع اتصال المشتركين المتصلين
تجديد الانتهاءأضف مدة الباقة فوق أي وقت متبق؛ ويصدر فاتورة إذا كان للباقة سعر
إعادة زمن التشغيل / الحصة / اليوميتصفير عداد الحد المختار
الاستخدامافتح رسوم الاستخدام البيانية وسجل الجلسات
حذفإزالة المشترك وكل سجله — يتم قطع الجلسات النشطة أولا
كيف تسري الإجراءات ترتب عمليات الإعادة وتغييرات الباقة والتجديدات في سجل تدقيق وتطبق بواسطة نبضة samm-radius — عادة خلال ثوان قليلة. إذا كان المشترك متصلا، يرسل SAMM أيضا تحديثا مباشرا. راجع CoA & التغييرات الفورية.

تكشف صفحة التفاصيل أيضا كلمة مرور دخول المشترك خلف زر عين (مع نسخ بنقرة واحدة) — مفيد عندما يسأل العميل عن بياناته.

عرض الاستخدام

يفتح إجراء الاستخدام صفحة حركة بيانات مفصلة لمشترك واحد، مع محدد فترات 7 / 14 / 30 / 90 يوما. يظهر ثلاثة أرقام رئيسية — حركة اليوم (مع تقسيم الرفع/التنزيل ودقائق الاتصال)، وحركة هذا الشهر، وزمن الاتصال التراكمي للشهر. أسفلها رسم بياني يومي لحركة البيانات للرفع مقابل التنزيل، وجدول كامل لسجل الجلسات: وقت البدء والإنهاء، والمدة، والبايتات المنزلة والمرفوعة، وجهاز NAS، وسبب إنهاء كل جلسة.

العمليات الجماعية

لتغيير المالك أو الانتهاء أو الحالة أو التجديد التلقائي لعدة مشتركين دفعة واحدة — أو لحذف الكثير — استخدم أدوات التغييرات الجماعية والحذف الجماعي. لإنشاء مشتركين بالجملة من جدول بيانات، استخدم التصدير / الاستيراد.

تقييد المشترك على أجهزة توجيه محددة

يمكن ربط المستخدم (أو مجموعة بطاقات كاملة) بـ راوترات NAS محددة من خلال نموذج التحرير. بدون اختيار راوترات، يعمل الحساب على أي NAS؛ مع اختيار واحد أو أكثر، يتم قبول المصادقة فقط من تلك الراوترات — يتم تطبيق سياسة الفشل المغلق داخل RADIUS نفسه. يؤدي تغيير المجموعة إلى قطع أي جلسة نشطة على راوتر غير مسموح به على الفور. بالاشتراك مع تحديد نطاق المسؤول حسب NAS، هذا هو كيف تحافظ الإعدادات متعددة الفروع والامتيازات على مستخدمي كل فرع على راوترات ذلك الفرع.

المشتركون & الباقات

بطاقات Hotspot

للوصول المدفوع مسبقا إلى Hotspot، أنشئ دفعة من بطاقات القسائم بدلا من المشتركين الأفراد. كل بطاقة هي زوج من اسم مستخدم/كلمة مرور بسرعتها وحدودها الخاصة، تولد بالآلاف وتطبع للتوزيع.

إنشاء مجموعة بطاقات

  1. اذهب إلى المستخدمون ← بطاقات Hotspot وانقر على مجموعة جديدة.
  2. املأ النموذج أدناه وانقر على إنشاء مجموعة — يولد SAMM بيانات اعتماد كل بطاقة تلقائيا.
القسمالحقول
الهويةاسم مجموعة فريد، ووصف، وبادئة اسم مستخدم اختيارية، وعدد البطاقات المراد توليدها (حتى 10,000)
بيانات الاعتمادتنسيق اسم المستخدم وكلمة المرور (أرقام / حروف / أحرف وأرقام) وطولهما
حد السرعةسرعة التنزيل والرفع — 256k، 6M، 1G؛ 0 = غير محدود
حد النقلغير محدود، أو حد مجمع، أو حدود منفصلة للتنزيل/الرفع (MB / GB / TB)
حد الأوقاتحد زمن التشغيل، والانتهاء بعد أول تسجيل دخول، وتاريخ "صالح حتى" للمجموعة

يحتسب الانتهاء من أول تسجيل دخول لكل بطاقة، بينما صالح حتى هو تاريخ نهائي صارم — لا يمكن استخدام البطاقات بعده، سواء تم تفعيلها أم لا.

إدارة مجموعة

افتح قائمة ⋮ للمجموعة لـتفعيل أو تعطيل كل البطاقات دفعة واحدة، أو تمديد تاريخ "صالحة حتى"، أو إضافة بطاقات إلى الدفعة، أو تعديل بياناتها. ويمكن تصفير بطاقة مفردة (حصة، مدة اتصال أو انتهاء) أو تعطيلها من صفحة تفاصيل البطاقة.

مجموعة مكررة تنسخ كل إعداد بدقة وتولد نفس العدد من البطاقات بمرموز جديدة — لا يمكن أن تنتمي رمز البطاقة أبدًا إلى أكثر من بطاقة واحدة، لذا فإن النسخة هي طبعة جديدة، وليست نسخة من القديمة. إنه الطريق السريع لإعادة طلب دفعة من القسائم التي نفدت.

حالات البطاقة

الحالةالمعنى
غير مستخدمةتم توليدها لكن لم يتم تسجيل الدخول بها أبدا
نشطةقيد الاستخدام، ضمن حدودها
مستنفدةتم بلوغ حد (حصة أو زمن تشغيل أو انتهاء)
معطلةمعطلة يدويا

الطباعة & التتبع

افتح مجموعة لرؤية بطاقاتها، واطبعها كملف PDF للتوزيع (يستخدم تخطيط الطباعة شعار مزود الخدمة الخاص بك من الإعدادات)، وراجع استخدام كل بطاقة. تظهر حركة بيانات البطاقات أيضا في التقارير ضمن علامة تبويب البطاقات، ولكل مجموعة عرض محاسبي خاص بها.

المشتركون & الباقات

الخدمة الذاتية - يقوم الضيوف بتسجيل الدخول بأنفسهم

عكس القسيمة: لا أحد يطبع أي شيء ولا أحد يقف على مكتب. يتصل الزائر بنقطة الاتصال الخاصة بك، ويضغط على تسجيل في صفحة تسجيل الدخول، اكتب الاسم ورقم الهاتف المحمول، و SAMM أرسل لهم رسالة رمز المرور عبر الرسائل القصيرة، WhatsApp أو البريد الإلكتروني. يدخلونها في نفس الصفحة وهم كذلك عبر الإنترنت - وتحتفظ بسجل مسمى وقابل للتصدير لكل من استخدم الضيف شبكة.

الأماكن النموذجية: المطاعم والمقاهي والفنادق وبيوت الضيافة، المعارض والمعارض التجارية والمؤتمرات ومراكز التسوق والعيادات وغرف الانتظار، صالات رياضية، مساحات عمل مشتركة، صالونات، صالات المطارات، الملاعب، الحرم الجامعي، المكتبات، معارض السيارات وأماكن الزفاف والمنتجعات والمعسكرات.

تشغيله

  1. قم بإعداد قناة التسليم أولاً. مركز الإشعارات → تمكين الرسائل القصيرة أو WhatsApp و أرسل لنفسك رسالة اختبار. لا شيء آخر يعمل حتى تعمل قناة واحدة.
  2. الخدمة الذاتية → الإعدادات: تحديد تمكين الضيوف من تسجيل أنفسهم، واختيار القنوات التي ترغب في تقديمها، وتحديد مدة بقاء رمز المرور صالحًا والوقت الذي يجب على الضيف الانتظار قبل طلب رمز آخر.
  3. اترك كلمات المرور تأتي من مجموعة بطاقة الخدمة الذاتية ما لم يكن لديك سبب لتغييرها — تقوم هذه المجموعة بتحديد السرعة وعدد الأجهزة التي يمكنها مشاركة كلمة مرور واحدة.
  4. تفعيل علامة تبويب السجل لكل تصميم تسجيل دخول تستخدمه — انظر أدناه. هذه هي الخطوة التي يغفل عنها الناس.

صفحة تسجيل الدخول – الخطوة التي يفتقدها الأشخاص

تُصمَّم علامة "التسجيل" لكل تسجيل دخول، وهي غير مفعلة بشكل افتراضي. افتح مدير MikroTik → الراوتر → صفحة تسجيل الدخول، وقم بتعديل التصميم الذي تستخدمه، وتحديد خيار تمكين الخدمة الذاتية. يمكنك إعادة صياغة كل جملة يراها الضيف على نفس الشاشة — تسمية علامة "التسجيل"، والخط التقديمي، ولوحات حقولين، والزر، والإجابات الخمسة ("كود الوصول الخاص بك في طريقه"، "لديك بالفعل واحد"، "يرجى المحاولة مرة أخرى لاحقاً"، "لم نتمكن من إرساله"، "التسجيل غير متاح").

ثم اضغط على Push — ثم اضغط عليه مرة أخرى بعد كل SAMM ترقية. صفحات تسجيل الدخول للنقاط الساخنة تعيش في الذاكرة الفلاشية الخاصة بالراوتر، وليس في SAMM. ترقية SAMM لا تعيد تشغيلها، لذا يحتفظ الراوتر بتقديم صفحته القديمة — بدون علامة تسجيل الدخول — حتى تقوم بإعادة تشغيلها. يحذر SAMM في علامة صفحة تسجيل الدخول عندما يقدم الراوتر صفحات أقدم من نسختك المثبتة، وتسمي صفحة الخدمة الذاتية كل راوتر لا يمكنه عرض العلامة وتوفر إصلاحها كله في وقت واحد.

القواعد التي توقف سوء الاستخدام

  • كود واحد نشط لكل رقم. السؤال مرة أخرى أثناء صلاحية الكود يُخبر الضيف بالتحقق من رسائله بدلاً من إرسال كود آخر.
  • ثم فترة انتظار تحددها، قبل أن يتمكن ذلك العدد من طلب واحد جديد.
  • يبدأ سريان الصلاحية من اللحظة التي يتم فيها إرسال رمز المرور، وليس من أول تسجيل دخول — لذا فإن رمزًا لم يتم استخدامه لمدة أسبوع لا يعمل بعد ذلك.
  • حد يومي يحدده ترخيصك (انظر أدناه). بمجرد استهلاكه، يُطلب من الضيوف المحاولة مرة أخرى لاحقاً وتستمر رموز المرور الصادرة بالفعل في العمل.
  • يتم تسجيل كل محاولة ضد عنوان MAC للجهاز كما أبلغ الراوتر — وهو ما لا يمكن للزائر تزويره من متصفحه.

الترخيص

تُرخَّص الخدمة الذاتية بشكل منفصل عن باقتك، حسب عدد رموز الدخول التي يمكن للنظام إصدارها يوميًا، وتتجدد في تاريخها الخاص — فيمكنك أن تكون على Free مع إضافة مدفوعة، أو على Unlimited من دونها. كل تثبيت يحصل على 10 رموز يوميًا مجانًا؛ Light ترفعها إلى 50، وHeavy إلى 200، وMax تلغي الحد. راجع الأسعار.

صفحة الخدمة الذاتية تعرض المستخدم/المسمح لهذا اليوم، وتوضح بوضوح عند انتهاء الكوتة. اشترِ أو جدّد من لوحة معلوماتك على securytik.com، أو اطلب من النظام → الترخيص وسيقوم مسؤول SecuryTik بالموافقة عليه. لا تستهلك الكوتة إذا لم يتم تسليم رمز المرور.

الشبكة & الراوترات

الراوترات (NAS)

NAS (Network Access Server) هو راوتر يصادق المشتركين عبر SAMM عبر RADIUS. كل راوتر يحمل حركة بيانات المشتركين يحتاج إلى سجل NAS.

إضافة راوتر

  1. اذهب إلى MikroTik ← NAS وانقر على إضافة راوتر.
  2. املأ الحقول أدناه واحفظ.
حقلالمعنى
IP / اسم مضيف NASعنوان الراوتر، كما يراه مضيف SAMM
الاسم المختصرتسمية واضحة تظهر عبر المنفذ
النوعmikrotik يفتح المزامنة المباشرة للجهاز ودفع الإعدادات؛ الأنواع الأخرى لـ RADIUS فقط
السرالسر المشترك لـ RADIUS — يجب أن يطابق الراوتر تماما، وإلا تفشل المصادقة
منفذ CoAمنفذ UDP الذي يرسل إليه SAMM حزم Change-of-Authorization (افتراضي MikroTik 3799)
منفذ / مستخدم / كلمة مرور APIبيانات اعتماد MikroTik API التي يستخدمها SAMM لقراءة معلومات الجهاز ودفع الإعدادات
لا حاجة لإعادة التشغيل يحل SAMM عملاء NAS ديناميكيا من قاعدة البيانات — إضافة أو إزالة راوتر لا تتطلب أبدا إعادة تشغيل FreeRADIUS.

قائمة NAS

يظهر كل راوتر في جدول واحد — المعرف، وIP / اسم مضيف NAS، والاسم المختصر، والنوع، وسر مقنع (انقر على الخلية لإظهاره)، ومنفذا CoA وAPI، ونتيجة ping مباشرة مع زمن الذهاب والإياب. يصف مربع البحث حسب IP أو الاسم المختصر أو الوصف.

تحمل قائمة ⋮ لكل صف إجراءات خاصة بالراوتر — عرض الجهاز و تحديث المعلومات (MikroTik فقط)، وتعديل، ودفع إعدادات RADIUS (MikroTik فقط)، وحذف. فتح صف من نوع mikrotik ينتقل مباشرة إلى صفحة جهازه.

اكتشاف الجيران

انقر Discover neighbors لمسح الشبكة بحثا عن أجهزة MikroTik (عبر بروتوكول اكتشاف الجيران في MikroTik) وإضافتها كسجلات NAS دون كتابة كل عنوان يدويا. يمكن إضافة الراوتر المكتشف بعنوان IP، أو إضافته تلقائيا — تهيئة بنقرة واحدة تنشئ مستخدم إدارة لـ SAMM على الراوتر وتدفع عنوان إدارة وتزيل جسر المصنع.

الإضافة التلقائية للراوترات الجديدة فقط التهيئة بنقرة واحدة مخصصة للأجهزة الجديدة من المصنع (أو المعاد ضبطها) — على راوتر يحمل إعدادات قائمة قد تستبدل الإعدادات الموجودة أو تعطلها.

دفع إعدادات RADIUS إلى الراوتر

بالنسبة لسجلات MikroTik NAS، تقدم قائمة ⋮ للصف دفع إعدادات RADIUS — يقوم SAMM بتهيئة الراوتر لك عبر API بدلا من أن تكتبها يدويا. تؤكد IP خادم SAMM (يجب أن يكون قابلا للوصول من الراوتر) ومنافذ المصادقة والمحاسبة وCoA؛ ثم ينشئ SAMM أو يستبدل إدخال RADIUS على الراوتر:

إعدادالقيمة
التعليقSAMM — الوسم الذي يستخدمه SAMM لإيجاد هذا الإدخال وتحديثه لاحقا
خدمةhotspot, ppp
العنوان / السرمضيف SAMM، مع السر المشترك من سجل NAS هذا
المهلة3000 ms
CoA الواردمقبول، على منفذ CoA الذي أكدته

يعرض الحوار سجل نتائج عند انتهاء عملية الدفع.

إعداد جانب MikroTik

إذا قمت بإعداد الراوتر يدويا بدلا من ذلك:

  • أضف خادم RADIUS يشير إلى مضيف SAMM، بـ نفس السر المشترك، مفعلا لـ PPP / Hotspot.
  • استخدم منفذ المصادقة 1812، ومنفذ المحاسبة 1813.
  • اقبل CoA الواردة على المنفذ 3799.
  • اضبط فترة Interim-Update للمحاسبة على نحو 5 دقائق (افتراضي معالج SAMM) — هذا معدل تجميع SAMM للاستخدام وتقييم الحدود؛ الفترات الأقصر تسرع تفعيل الحدود مقابل حركة محاسبة أكثر.

أجهزة للمراقبة فقط

الراوتر الذي يضاف كـ مراقبة يظهر في مخزون MikroTik ويتم فحصه ومزامنته، لكن ليس له دور RADIUS — لا يستطيع مصادقة المشتركين. استخدمه لمراقبة الراوترات التي ليست NAS للمشتركين.

الشبكة & الراوترات

مدير MikroTik

عندما يكون للراوتر بيانات اعتماد API، يديره SAMM مباشرة عبر MikroTik API — بدون WinBox، وبدون SSH. قسم MikroTik هو مخزون مباشر لكل راوتر، وكل جهاز يفتح صفحة تفاصيل بها خمس عشرة علامة تبويب تهيئ تقريبا كل جزء من RouterOS من متصفحك.

مراقب MikroTik

يعرض MikroTik ← المراقب بطاقة واحدة لكل راوتر، مرتبة كشبكة. تظهر كل بطاقة — يتم تحديثها من قبل samm-worker وتستفسر مباشرة كل 30 ثانية — نقطة قابلية الوصول، وإصدار RouterOS، وحمل المعالج وعدد النوى، واستخدام الذاكرة، وعدد الجلسات النشطة، وزمن التشغيل، ووقت آخر عينة.

توسم البطاقة إما NAS (راوتر يصادق أيضا المشتركين عبر RADIUS) أو مراقبة (جهاز أضيف للمراقبة فقط). إضافة MikroTik تسجل جهازا جديدا؛ وتحديث الآن يفرض استفسارا فوريا. تحمل بطاقات المراقبة فقط قائمة بالنقر بالزر الأيمن — فتح، تعديل، تحديث المعلومات، حذف.

صفحة الجهاز — خمسة عشر تبويبا

افتح أي جهاز للحصول على صفحة إدارته الكاملة. تنقسم علامات التبويب إلى أربع مجموعات.

المراقبة

علامة التبويبما الذي يعرضه
نظرة عامةمعلومات الجهاز، ومعلومات النظام، ورسوم بيانية لتاريخ الأداء (المعالج، الذاكرة، الجلسات بمرور الوقت)
المنافذكل منفذ مع حالتها المباشرة، بالإضافة إلى تاريخ حركة البيانات لكل منفذ
المواقع والتطبيقاتثلاث طيات فرعية: Monitor (المواقع والتطبيقات المرصودة على الراوتر مع سجل الحركة)، QoS (أولوية بحسب التطبيق، أدناه)، وApp Filter (حجب محتوى عبر DNS من الكتالوج)

مدير الأجهزة

علامة التبويب المدير ← عام هي صفحة الصيانة للجهاز: الهوية (اسم الراوتر)، والوقت (الساعة، والمنطقة الزمنية وNTP)، والأدوات (إعادة التشغيل، وping، وإجراءات أخرى للراوتر بنقرة واحدة).

إعداد الشبكة

علامة التبويبما الذي تهيئه
الجسرأنشئ جسور LAN واختر المنافذ الفعلية (المنافذ) التي تنتمي لكل منها
VLANإضافة وإدارة منافذ VLAN
IPثلاث علامات تبويب فرعية — ثابت (عناوين ثابتة وديناميكية)، وDHCP client (سحب عنوان من الأعلى)، وDHCP server (توزيع العناوين، مع جدول إيجارات مباشر)
DNSالمواقع والتطبيقات
WiFi / CAPsMANمنافذ Wi-Fi مع إعداداتها وملفات الأمان؛ ومتحكم CAPsMAN — الإعدادات، وقواعد التزويد، وCAPs البعيدة

الخدمات & الصيانة

علامة التبويبما الذي تهيئه
PPPoEخوادم PPPoE، وملفات PPP، ومجمعات IP، وفاصل interim-update لمحاسبة RADIUS
Hotspotخوادم Hotspot، وملفات Hotspot وملفات المستخدمين، ومجمعات DHCP/IP، وصفحة تسجيل دخول البوابة الإلزامية
الإنترنتوصلات WAN — شبكات WAN المدارة من SAMM والمسارات الافتراضية، مع عرض أي شبكات WAN قائمة غير مدارة من SAMM للقراءة فقط
الجدار الناريقواعد الفلترة، تحليل أمني للراوتر، الاتصال والأهداف، وحدات أمنية، ونسخ احتياطية للجدار الناري — يلتقط Auto-Security نسخة قبل التطبيق ويمكنه تفعيل تراجع تلقائي مؤقت، فأي قواعد تحبسك خارج الراوتر تعود تلقائيا
التحديثتحديثات RouterOS — اختر قناة تحديث، وتحقق وطبق، وراجع الحزم المثبتة
المعالجالإعداد الموجه لأول مرة، بالأسفل

فاصل التحديث المرحلي (Interim-Update) لـ PPPoE

في تبويب PPPoE، يحدد التحديث المرحلي (Interim update) عدد المرات التي يرسل فيها الراوتر حزم RADIUS accounting Interim-Update إلى SAMM. يستخدم SAMM هذه الحزم لتجميع عدادات البايتات ووقت التشغيل وتقييم حدود الحصة (Quota) والحدود اليومية وحدود وقت التشغيل — بدونها، يتوقف فرض الحدود وعدادات الجلسات المباشرة عن العمل. القيمة الموصى بها هي 5m.

صفحة تسجيل الدخول إلى Hotspot

من تبويب Hotspot يمكنك إدارة صفحة تسجيل الدخول الخاصة بالـ captive-portal: الإبقاء على صفحات MikroTik الافتراضية، أو تطبيق أحد القوالب الجاهزة، أو تطبيق أحد تصاميمك المحفوظة. يتضمن SAMM محرر تصميم مرئيا ومعرض قوالب — خصص صفحة تسجيل الدخول وادفعها مباشرة إلى Hotspot الراوتر.

QoS واع بالتطبيقات

يؤدي عرض جودة الخدمة (علامة تبويب فرعية لمواقع الويب والتطبيقات) إلى تشغيل التطبيقات والمواقع SAMM يرى بالفعل على جهاز التوجيه في خطة أولوية التنزيل. اسحب كل تطبيق من المجموعة إلى واحدة من ثماني خانات ذات أولوية - يتم تقديم الفتحة 1 أولاً تحت التنافس، الفتحة 8 الاخير؛ لا يتم تشكيل التطبيقات المتبقية في المجمع. يمكنك اختياريًا تحديد سرعة تنزيل أي تطبيق (على سبيل المثال 10M ) وتعيين سقف التنزيل الإجمالي للأولوية للتنافس عليه. التوزيع التلقائي حسب الفئة يرتب كل شيء بنقرة واحدة - المراسلة أولاً، ثم خدمات الذكاء الاصطناعي، ثم المتاجر، مع كل شيء آخر أدناه.

عند الدفع، يجمع SAMM الخانات في شجرة طوابير على MikroTik (موسومة بـ SAMM:qos، parent=global) مع قواعد جدار حماية مطابقة لعلامات الرزم، الأعلى أولوية أولا. وهي مبنية على نفس كتالوج Websites & App filter الذي يشغل المراقبة، لذا لا تظهر إلا التطبيقات التي شوهدت فعلا على الراوتر — وإزالة SAMM QoS تجرد الراوتر من كل كائن SAMM:qos، مع ترك عداداتك دون مساس.

معالج الإعداد

تجمع طية المعالج كل شيء في عشر خطوات قصيرة وتدفع الإعداد كاملا إلى الراوتر دفعة واحدة في النهاية. لا يرسل شيء حتى تؤكد في خطوة المراجعة الأخيرة.

  1. الترحيب والاكتشاف (Welcome & detect) — يفحص SAMM الراوتر ويعرض ما هو معد مسبقا، بحيث يمكنك تخطي تلك العناصر عند الدفع.
  2. منفذ الـ Bridge — أعط اسما لـ bridge شبكة LAN.
  3. منافذ الـ Bridge — اختر المنافذ الفيزيائية التي ستنضم إلى الـ bridge.
  4. DNS — حدد الـ resolvers الأعلى (إعدادات جاهزة بنقرة واحدة لـ Google وCloudflare وQuad9 وغيرها)، وحجم الـ cache، واختياريا فلتر محتوى DNS.
  5. NTP — اضبط مصدر ساعة الراوتر (عميل NTP، واختياريا تقديم الوقت للشبكة المحلية).
  6. الإنترنت — أضف وصلة WAN واحدة أو أكثر (Static / DHCP / PPPoE).
  7. RADIUS إلى SAMM — وجه الراوتر إلى مضيف SAMM لديك للمصادقة (Authentication) والمحاسبة (Accounting) وCoA.
  8. الخدمات — اختر ما إذا كان الساحر سيقوم بإنشاء خادم PPPoE، أو خادم نقطة ساخنة، أو خدمة IPoE/DHCP، ويمكنك تمكين الاستاك المزدوج IPv6 (اختياري، غير مفعّل بشكل افتراضي): اختر طول المُقدّم المفوض (DHCPv6-PD) وكتل IPv6، وسيقوم الساحر ببناء المجموعات وربطها بملف PPP.
  9. تفاصيل PPPoE / Hotspot والجدار الناري — المجمعات والملفات التعريفية وأزمنة الإيجار وقواعد الجدار الناري وNAT، واختياريا مجمع المنتهين وحجب الإنترنت الذي يعيد توجيه المشتركين المنتهين إلى صفحة SAMM "انتهى الاشتراك" بدل اتصال ميت.
  10. المراجعة والدفع — اطلع على القائمة الدقيقة للأوامر التي سترسل، ثم ادفعها جميعها إلى الراوتر.
سرعة كل مشترك تأتي من RADIUS ينشئ المعالج profile واحدا لـ PPPoE / Hotspot — ولا يدفع profile لكل باقة. يسلم SAMM سرعة كل مشترك ضمن رد RADIUS عند تسجيل الدخول، لذا لا تتطلب تغييرات الباقات أي تعديل على الراوتر.

الشبكة & الراوترات

خريطة الشبكة وصحتها وسجل البيانات

خريطة الشبكة

Devices → Network Map تُرسم من المعلومات التي يبلّغ بها كل راوتر عن جيرانه — لا يوجد مخطط يدوي لصيانته. بدّل الطبقات بين المنافذ وعناوين IP والشبكات الفرعية والمعالج، أو اعرض المسار الذي يسلكه كل جهاز إلى الإنترنت. اسحب العقد إلى أماكنها واحفظ الترتيب؛ وDiscover now يعيد قراءة الجيران.

صحة الشبكة

Devices → Network Health تعرض كل الراوترات من الأسوأ إلى الأفضل: سليم، مع تحذيرات، يستجيب لكنه معطّل، أو غير متاح. كل ملاحظة تشرح المشكلة بكلمات واضحة — CoA معطّل، عدم تطابق سر RADIUS، الساعة غير متزامنة، Telnet أو FTP مفتوح. الفحوصات تقرأ الراوتر فقط. من عرض Diagnose للراوتر، للملاحظات الشائعة إصلاح بنقرة واحدة يعرض معاينة أولاً ويمكن التراجع عنه. الملاحظات المفتوحة تُنشئ تنبيهات في مركز التنبيهات.

كلتا الصفحتين خلف مفتاح واحد في الإعدادات. عند إيقافه لا يتصل SAMM بالراوترات لأجلهما.

Data Log

افتح مستخدماً واختر Data Log لترى أين تذهب حركة بياناته: أهم الوجهات حسب المضيف والتطبيق — YouTube وFacebook وWhatsApp — مع الرفع والتنزيل والاتصالات، أو كجدول زمني. يقرأ SAMM تصدير التدفق الخاص بالراوتر (IPFIX)، ويعود إلى جدول الاتصالات عند الحاجة، ويسمّي التطبيقات من نفس الكتالوج الذي يستخدمه App Filter. لا يقع SAMM أبداً في مسار حركة البيانات.

متوقف حتى تشغّله يفعّل المشرف العام Data Log من الإعدادات ويختار مدة الاحتفاظ به. الأرقام تقريبية؛ والفوترة تعتمد دائماً على محاسبة RADIUS.

الشبكة & الراوترات

CoA & التغييرات الفورية

CoA (Change-of-Authorization) هو الأسلوب الذي يغير به SAMM جلسة المشترك أثناء اتصاله — لرفع سرعته أو خفضها، أو لقطع اتصاله — دون انتظار إعادة اتصاله.

كيف يصل التغيير إلى مشترك متصل حاليا

لا يدفع SAMM أبدا تغييرا للراوتر مباشرة بنقرة زر. يتبع كل إجراء إداري مسارا آمنا واحدا:

إجراء المسؤول → سجل التدقيق → نبضة samm-radius → صندوق صادر CoA → الراوتر
  1. يسجل الإجراء في سجل التدقيق (Audit Log) كأمر في الطابور.
  2. تفرغ خدمة samm-radius الطابور في نبضتها التالية، وتطبق التغيير، و — إذا كان المشترك متصلا — تضيف CoA إلى الطابور.
  3. يفرغ صندوق صادر CoA وترسل الحزمة إلى الراوتر.

الأحداث المعتمدة على الوقت — انتهاء الصلاحية، وحدود نوافذ السرعة، وعمليات إعادة التعيين اليومية — تغذي الصندوق نفسه. الحد الأقصى للتأخير هو نبضة samm-radius واحدة (30 ثانية افتراضيا؛ خفضها من الإعدادات لفرض أكثر صرامة).

CoA الهجين

يرسل SAMM أولا CoA-Update لتغيير الجلسة في مكانها. إذا رفضها الراوتر بعد عدد المحاولات المعد، يتراجع SAMM تلقائيا إلى Disconnect-Request — يعيد المشترك الاتصال ويلتقط الإعدادات الجديدة. تعمل هذه الاستراتيجية الهجينة عبر كل إصدارات firmware MikroTik.

صفحة صندوق صادر CoA

المستخدمون → صندوق صادر CoA هو العرض المباشر لذلك الطابور. samm-radius هو المرسل الوحيد — لا تدفع لوحة الإدارة CoA مباشرة أبدا — ويفرغ الطابور في كل نبضة. تحدث الصفحة تلقائيا كل 30 ثانية.

تتصدر الصفحة ستة عدادات — قيد الانتظار، مرسل، NACK (إعادة المحاولة)، تم، فشل والمجموع. صف الجدول حسب الحالة، أو حسب الإجراء (update أو disconnect)، أو ابحث باسم المستخدم أو IP الـ NAS أو السبب.

الحالةالمعنى
قيد الانتظارفي الطابور، بانتظار النبضة التالية لـ samm-radius
مرسلأرسل (حالة عابرة — يسجل الإرسال ونتيجته في الدورة نفسها فنادرا ما تبقى الصفوف في هذه الحالة)
nackرفض الراوتر الـ CoA-Update — يعيد SAMM المحاولة، ثم يتراجع إلى قطع الاتصال
تمطبق بنجاح
فشلتخلى عن المحاولة بعد بلوغ حد الإعادات — مرر فوق الشارة لرؤية آخر خطأ

يعرض كل صف المستخدم، والراوتر، والإجراء، وعدد المحاولات، والسبب، وأوقات الإنشاء والإرسال. تتيح لك إجراءات كل صف إعادة المحاولة لحزمة فشلت أو رفضت بـ nack، أو إلغاء حزمة لا تزال جارية، أو فتح الخصائص (Attributes) لفحص خصائص RADIUS الدقيقة التي تحملها الحزمة. تعد شارة الشريط الجانبي الصفوف قيد الانتظار، وتتتبع لوحة المعلومات حالات الفشل خلال 24 ساعة. النظام السليم يبقي هذا الطابور شبه فارغ.

حصادة الدورة التي لا معنى لها

إذا تعطل جهاز التوجيه أو فقد الاتصال، فمن الممكن أن يتم فقدان حزم Accounting-Stop الخاصة به — وفي العديد من الأنظمة يظل هؤلاء المشتركون "متصلين" إلى الأبد. SAMM عمليات مسح للجلسات التي توقفت عن إرسال التحديثات المؤقتة وإغلاقها تلقائيًا (إنهاء السبب Reaped-Stale )، لذا فإن قائمة الجلسات المباشرة والاستخدام المتزامن تحسب و تظل أرقام الاستخدام صادقة. المهلة هي stale_session_timeout_seconds الإعداد (الافتراضي 900 ثانية = 15 دقيقة؛ اضبط 0 للتعطيل)، ويصبح ساري المفعول مباشرة - لا إعادة التشغيل اللازمة.

العمليات اليومية

لوحة المعلومات & الجلسات المباشرة

الشاشتان ضمن نظرة عامة هما نقطة بداية كل دوام عمل — لوحة المعلومات لصحة النظام بأكمله، والجلسات المباشرة لمعرفة من المتصل تحديدا الآن.

لوحة المعلومات

نظرة عامة → لوحة المعلومات هي الشاشة الرئيسية للمشغل. يضبط محدد الفترة في الأعلى — اليوم، 7 أيام، 14 يوما، 30 يوما، 90 يوما — نافذة مخطط الاتجاه والأرقام المحددة بتاريخ.

بطاقات مؤشرات الأداء الست (KPI)

كل بطاقة هي عداد مباشر واختصار — انقرها للانتقال مباشرة إلى القائمة المصفاة وراء الرقم.

البطاقةتظهرتفتح
متصلون الآنالمشتركون الذين لديهم جلسة RADIUS مباشرة الآنالمستخدمون المصفون إلى متصلون
المشتركون النشطونالحسابات النشطة، مع إجمالي عدد المشتركين أدناهالمستخدمون المصفون إلى نشط
منتهي الصلاحيةالمشتركون الذين انتهى اشتراكهم دون تحديد باقة تاليةالمستخدمون المصفون إلى منتهي الصلاحية
التذاكر المفتوحةتذاكر دعم لم تحل بعد (لا تشمل المنجزة والمغلقة)المستخدمون ← تذاكر الدعم
الراوتراتإجمالي سجلات NAS، إضافة إلى عدد السجلات التي يتعذر الوصول إليها حاليامراقب MikroTik
الفواتير غير المدفوعةالفواتير التي لا تزال بحاجة إلى متابعة الدفعالفواتير المصفاة إلى غير مدفوعة

مخطط المستخدمين & الجلسات المباشرة

مخطط خطي يومي يرسم ثلاث سلاسل عبر الفترة المختارة — المستخدمون النشطون، والجلسات المتصلة، والمستخدمون منتهو الصلاحية — بحيث يصبح النمو والتسرب مرئيين بنظرة واحدة.

صحة خط المعالجة (Pipeline)

هذه اللوحة هي نبض محرك فرض السياسات. في نظام سليم تكون الطوابير عند الصفر أو قريبا منه — أي رقم يبقى مرتفعا يشير إلى خدمة عالقة أو راوتر يرفض التغييرات.

المؤشرماذا يعني
samm-radius الطابورحزم CoA قيد الانتظار في انتظار النبضة التالية — يفترض أن تتم خلال ثوان
CoA فاشلة (24 ساعة)صفر في نظام سليم؛ أي رقم غير صفري يعني أن راوترا يرفض حزم CoA
سجل التدقيق قيد الانتظارإجراءات إدارية في الطابور لم تطبق بعد من قبل samm-radius
جلسات مقيدة السرعة (Throttled)مشتركون محتجزون حاليا عند سرعة منخفضة بسبب حد ما — أمر متوقع، ليس خطأ
لقطة الجلساتعدد الجلسات المباشرة — يجب أن يطابق متصلون الآن
الباقات النشطةحجم كتالوج باقاتك
مسار فرض السياسات توضع الإجراءات الإدارية في طابور samm.audit_log؛ تفرغها نبضة samm-radius وتصدر حزم CoA إلى samm.coa_outbox. المسار الكامل موجود في CoA والتغييرات المباشرة.

جداول النشاط الأخير

أربعة جداول تحت المخطط تعطي عرضا متجددا لما حدث للتو، ولكل منها رابط عرض الكل إلى صفحته الكاملة:

  • صندوق صادر CoA الأخير — الإجراء، المستخدم، الحالة (تم / قيد الانتظار / nack / فشل)، عدد المحاولات، السبب، والوقت.
  • الإجراءات الإدارية الأخيرة — الإجراء، الهدف، الجهة التي أطلقته، وما إذا طبق بعد، والوقت.
  • المشتركون الجدد — أحدث الحسابات مع حالتها ووقت آخر مصادقة.
  • الراوترات — كل NAS مع نقطة صحة: قابل للوصول / غير قابل للوصول / لا توجد بيانات.

الجلسات المباشرة

تسرد نظرة عامة → الجلسات المباشرة كل مشترك تبلغ الراوترات حاليا عن اتصاله عبر RADIUS accounting. تحدث الصفحة تلقائيا كل 30 ثانية؛ كما يوجد زر تحديث يدوي في الرأس.

تصفية القائمة

  • بحث — يطابق اسم المستخدم أو الـ Framed IP أو IP الـ NAS، ويتم البحث أثناء الكتابة.
  • الراوتر — قصر القائمة على الجلسات الموجودة على NAS واحد.
  • المقيدون فقط — اعرض فقط المشتركين الذين يبقيهم حد ما على سرعة منخفضة.
  • لكل صفحة — 20 أو 50 أو 100 أو 200 صف.

ما يعرضه كل صف

العمودالمعنى
المستخدماسم المستخدم — رابط إلى صفحة تفاصيل المشترك
Framed IPالعنوان الذي خصصه الراوتر لهذه الجلسة
الراوترالاسم المختصر لـ NAS وعنوان IP الخاص به
باقةباقة المشترك الحالية
السرعة الفعليةالسرعة المفروضة على الراوتر الآن — سرعة الباقة معدلة بأي نافذة سرعة نشطة. شارة مقيد تعني أن حدا ما يبقي المشترك على سرعة منخفضة.
تنزيل / رفععدادات بايتات مباشرة للجلسة
عبر الإنترنتمنذ متى والجلسة قائمة
بدأتمتى بدأت الجلسة

قطع جلسة

يضع زر قطع الاتصال الموجود على الصف CoA-Disconnect في الطابور لتلك الجلسة بالذات (السبب admin_manual) بعد رسالة تأكيد. يقطع المشترك فورا؛ وإذا كان حسابه لا يزال نشطا فبإمكانه إعادة الاتصال. تتبع الحزمة في صندوق صادر CoA.

العمليات اليومية

التقارير & التحليلات

نظرة عامة → التقارير هي عرض التحليلات — اتجاهات المشتركين، وحركة البيانات عبر الوقت، وأكثر المستخدمين والبطاقات استهلاكا على شبكتك.

اختيار النطاق

كل رقم على الصفحة مرتبط بنطاق تواريخ. اختر إعدادا جاهزا — 7 أيام، 14 يوما، 30 يوما، 90 يوما — أو أدخل تاريخي البداية والنهاية صراحة ثم انقر تطبيق. تغطي طبقة تحميل الصفحة أثناء تنفيذ استعلام طويل المدى كاستعلام 90 يوما.

اتجاهات المشتركين & الجلسات

مخطط خطي بثلاث سلاسل عبر النطاق المختار: المشتركون النشطون، والجلسات المتصلة، والمشتركون منتهو الصلاحية. استخدمه لرصد النمو والتسرب والساعات المزدحمة في شبكتك.

حركة البيانات اليومية

مخطط أعمدة مكدسة لبايتات الرفع والتنزيل لكل يوم. عند تمرير المؤشر فوق يوم تظهر أرقام الرفع والتنزيل إضافة إلى المجموع الكلي في تذييل تلميح الأداة.

قوائم أعلى 10

أربعة جداول تظهر حساباتك الأكثر استهلاكا لحركة البيانات، مرتبة حسب الحجم بالـ GB:

القائمةترتب
أعلى 10 تنزيلا اليومأكبر تنزيل منذ آخر إعادة تعيين يومية
أعلى 10 رفعا اليومأكبر رفع منذ آخر إعادة تعيين يومية
أعلى 10 تنزيلا للشهرأكبر تنزيل خلال هذا الشهر التقويمي
أعلى 10 رفعا للشهرأكبر رفع خلال هذا الشهر التقويمي

حركة البيانات حسب الكيان

جدول مقسم إلى صفحات وقابل للبحث يعرض حركة البيانات لكل حساب. يبدل تبويبان ما يعرضه:

  • المستخدمون — كل مشترك مع اسمه وباقته، ورفع/تنزيل اليوم بالـ MB، ورفع/تنزيل الشهر بالـ GB.
  • البطاقات — كل بطاقة hotspot مع مجموعتها وحالتها ونفس تقسيم حركة البيانات اليوم / الشهر.

يصفي مربع البحث الجدول أثناء الكتابة؛ ويقبل محدد لكل صفحة من 20 إلى 200 صف. كل صف يربطك بصفحة تفاصيل ذلك المشترك أو البطاقة.

التصدير التقارير عرض تحليلي على الشاشة. للحصول على صفوف خام لتحليلها في جدول بيانات، استخدم الأدوات → التصدير / الاستيراد لتنزيل المستخدمين أو الباقات أو NAS كـ CSV / XLSX.

العمليات اليومية

المحاسبة & الفوترة

يتضمن SAMM نظاما كاملا للقيد المزدوج (double-entry bookkeeping) — فواتير، ومصاريف، وإيصالات، ومدفوعات، وموزعين، وأصول ثابتة، وقوائم مالية كاملة. لا حاجة لمنتج فوترة منفصل لدمجه، ولا لمحاسب لإبقاء الدفاتر منضبطة.

لن تتعامل أبدا مع المدين والدائن كل إجراء — تسجيل دفعة، إضافة مصروف، بيع مجموعة بطاقات — يسجل تلقائيا قيد يومية متوازنا في دفتر الأستاذ. أنت تعمل بمصطلحات بسيطة (فواتير، مصاريف، إيصالات)؛ ويمسك SAMM دفاتر القيد المزدوج خلف الكواليس ويثبت توازنها في ميزان المراجعة.

صفحة المحاسبة منظمة في أحد عشر تبويبا.

نظرة عامة

اللقطة المالية. أربعة أرقام رئيسية في الأعلى:

الرقمالمعنى
النقد المتوفرإجمالي الرصيد عبر جميع حسابات النقد & البنوك
أموال مستحقة لكالمستحقات — فواتير العملاء والموزعين غير المدفوعة
أموال عليك دفعهاالذمم الدائنة — مصاريف غير مدفوعة
أرباح هذا الشهرالدخل ناقص المصاريف للشهر الحالي

في الأسفل: جدول بكل حسابات النقد & البنوك مع رصيد كل منها، ومخطط الدخل مقابل المصاريف خلال آخر 1 أو 2 أو 3 أو 6 أو 12 شهرا.

الفواتير

الفاتورة هي مطالبة مالية تصدرها. انقر فاتورة جديدة واملأ:

حقلالمعنى
المستخدمبحث أثناء الكتابة عن الحساب الذي تصدر له الفاتورة
فئة الإيرادأي حساب دخل ترحل إليه المبيعات
تاريخ الإصدار / الاستحقاقتاريخ إصدار فارغ = اليوم؛ تاريخ استحقاق فارغ = تاريخ الإصدار
معدل الضريبة % / المجموعة الضريبيةالإعدادات الافتراضية للسعر في الإعدادات → الفوترة ؛ تعيين مجموعة ضريبية لتطبيق معدلات متعددة (ضريبة القيمة المضافة/ضريبة السلع والخدمات وأكثر) في وقت واحد، مع ترحيل كل منها إلى حساب الضريبة الخاص بها
بنود الفاتورةصف واحد أو أكثر من الوصف / الكمية / سعر الوحدة — يحسب المجموع الفرعي والضريبة والمجموع الكلي بشكل مباشر

مقدار الشحن - كامل أو مجزأ أو لا شيء

في أي مكان يكون فيه SAMM على وشك إرسال فاتورة إلى مستخدم — سواء عند تنشيطها، أو تجديدها، أو تغيير الباقة، أو تمديد تاريخ انتهاء الصلاحية، أو القيام بأي من هذه الأمور بالجملة — يظهر نفس مختار الفاتورة، ويعرض المبلغ قبل الالتزام:

خيارما يتقاضاه
فاتورة كاملةفترات الخطة بأكملها فقط - يتم تقريب فترة الجزء إلى فترة كاملة.
فاتورة مجزأةالوقت المحدد، بالتناسب مع فترة الجزء الأخير. يتم تقريب الإجمالي إلى أقرب مبلغ صحيح، مع ترحيل الفرق كتسوية تقريب حتى تظل الدفاتر متوازنة.
لا فاتورةقم بتغيير الخدمة ولا تتقاضى أي رسوم - تمديد حسن النية، أو الترحيل، أو التصحيح.

حدد المدة باستخدام مضاعف الفترات الفترات لباقي فترات الباقة، أو أدخل تاريخًا محددًا واترك SAMM يحسب التكلفة. في الحالتين، تعرض لوحة التحكم بنود الخط، والضريبة، والمبلغ الإجمالي أثناء تغييرها، وتسجل مدفوعة الدفع النقدي للمبلغ الكامل على الفور.

"لا يوجد فاتورة" هو حق، وليس خانة الاختيار عدم فرض أي رسوم هو قرار مالي، لذا فهو محكوم بإذن لكل دور في الإعدادات → المسؤولون. وهذا الأمر مهم بشكل خاص مع الوكلاء: يمكن للوكيل الذي يقوم بفواتير المستخدمين له على رصيده المدفوع مسبقاً أن يجدد، ويغير الباقات، ويمدد تواريخ الانتهاء طوال اليوم دون أن يدفع مقابلها على الإطلاق. يتم إيقاف الحق في الأدوار الجديدة بشكل تلقائي.

دانينغ وأمبير. محفظة مسبقة الدفع

تتجاوز سامم (SAMM) الفواتير المفردة الآلية، حيث تقوم بأتمتة دورة التحصيل بأكملها. يحدد جدول السداد يوم الفاتورة، ويوم الاستحقاق، ويوم الحظر التلقائي — مع رسوم تأخير اختيارية — بحيث يتم تذكير المستخدمين المتأخرين، ثم قطعهم دون مراقبة جدول بيانات. تتيح طريقة محفظة الدفع المسبق للمستخدمين الاحتفاظ برصيد يتم تسوية الفواتير تلقائيًا عند التجديد؛ يقومون بإعادة تعبئته بأنفسهم من بوابة العميل باستخدام البطاقة أو العملات المشفرة، وتسجل كل عملية إعادة تعبئة وخصم في الدفتر.

تنشأ الفواتير أيضا تلقائيا عند تجديد باقة مشترك (من إجراء تجديد الصلاحية أو عبر التجديد التلقائي)، شرط أن يكون للباقة سعر. تصفى القائمة حسب الحالة — غير مدفوعة، جزئية، مستحقة، مدفوعة — وتبحث برقم الفاتورة أو العميل. افتح أي فاتورة لرؤية صفحة تفاصيلها وملف PDF قابل للطباعة؛ يمكن للمشتركين تنزيل نسخهم الخاصة من بوابة العملاء وبوت Telegram.

المصاريف

المصروف هو مال أنفق لتشغيل الـ ISP. يسجل مصروف جديد فئة (حساب المصروف)، والمورد المدفوع له، والمبلغ، وتاريخ التكبد، وتاريخ استحقاق اختياري. لكل مصروف نفس دورة الحياة غير مدفوع / جزئي / مستحق / مدفوع الخاصة بالفاتورة، وصفحة تفاصيل، وسند PDF قابل للطباعة.

الإيصالات & المدفوعات

هذان التبويبان يسجلان النقد الذي ينتقل فعليا — منفصلين عن الفاتورة أو المصروف الذي تسبب فيه.

  • الإيصالات — أموال داخلة: نقد مستلم من عميل أو موزع أو دخل آخر، يدخل إلى أحد حسابات النقد لديك. الفاتورة هي المطالبة؛ والإيصال هو المال الواصل مقابلها.
  • المدفوعات — أموال خارجة: نقد يدفع مقابل مصروف أو لموزع.

تسجيل إيصال أو دفعة يدفع الفاتورة أو المصروف المرتبط نحو مدفوع ويرحل القيد المحاسبي المطابق.

العملاء & مبيعات البطاقات

يسرد تبويب العملاء الرصيد الجاري لكل عميل — أي ما يدين لك به. أما مبيعات البطاقات فتغطي إيرادات Hotspot المدفوعة مسبقا: يتتبع مجموعات البطاقات المباعة والموزعين. يشتري الموزع منك مجموعات بطاقات كاملة على فاتورة، ثم يعيد بيع البطاقات الفردية للمستخدمين النهائيين؛ ورصيده المستحق هو ما لا يزال عليه دفعه لك.

الوكلاء — الفوترة بالجملة

يبيع الوكيل خدمتك للعملاء النهائيين وفق نموذج الجملة المدفوع مسبقا — تخيله كامتياز أو وكيل فرعي يدير قائمة مشتركيه الخاصة لكنه يعتمد على شبكتك. الأمر اختياري بالكامل: إن لم تنشئ أي وكيل، تعمل الفوترة تماما كما كانت دائما.

دينان منفصلان بوضوح يدين لك الوكيل بسعر الجملة (وهو في دفاترك إيراد لك)؛ ويدين العميل للوكيل بسعر التجزئة (خارج دفاترك — فهو ذمة مدينة للوكيل نفسه). عمولتك هي الفارق بين السعرين، وتقيد بوصفها خصما تجاريا لا مصروفا.

أنشئ وكيلا من الإعدادات → المسؤولون بمنح مسؤول جديد دور الوكيل المدمج. الوكيل هو حساب مسؤول محدود النطاق يملك:

إعدادالمعنى
نسبة العمولة %حصة الوكيل من سعر التجزئة (مثلا 40% — وتحتفظ أنت بـ 60% إيرادا بالجملة). قابلة للتعديل لكل وكيل في أي وقت.
حد الائتمانإلى أي حد يمكن أن يصبح رصيد الوكيل المدفوع مسبقا سالبا قبل رفض التجديدات. اضبطه على 0 لدفع مسبق صارم.
الرصيد المدفوع مسبقااشحنه عندما يدفع لك الوكيل؛ ويخصم كل تجديد سعر الجملة منه.

عند تجديد أحد مشتركي الوكيل، يخصم SAMM سعر الجملة من رصيد الوكيل، ويقيد إيرادك، ويصدر فاتورة تجزئة حقيقية للعميل النهائي مستحقة الدفع للوكيل وتبقى خارج دفترك. ومطالبة الوكيل — لها مفتاح خاص ضمن الإعدادات → الفوترة، مفعل افتراضيا وبمهلة سماح قابلة للتعديل — تعلق العميل غير الدافع تلقائيا (بإرسال فصل CoA)؛ وعندما يسجل الوكيل دفعة العميل، يعاد تفعيل المشترك في الحال.

يسجل الوكيل الدخول إلى عرض محدود النطاق: لوحة تحكمه الخاصة، وصفحة محفظة رصيدي، وقائمة عملائي بفواتير كل عميل ومدفوعاته، وكشف حسابي — كلها مقصورة على دفتره وحده. أما دفاتر شركتك بالكامل والوكلاء الآخرون وعملاء المسؤولين الآخرين فتبقى مخفية.

الأصول & حسابات النقد

  • الأصول — سجل الأصول الثابتة (راوترات، مركبات، معدات). يتتبع SAMM قيمتها واستهلاكها عبر الزمن.
  • النقد — أدر حسابات النقد & البنوك، وحسابات رأس المال: حقوق المالك، حيث المساهمة هي مال يضعه المالك في النشاط، والسحب هو مال يخرجه منه. رأس المال ليس إيرادا ولا يظهر أبدا في قائمة الأرباح & الخسائر.

التقارير — القوائم المالية

تبويب التقارير هو عرض المحاسب. خمس قوائم، كل منها بنطاق تواريخ وقابلة للتصدير إلى PDF:

التقريريجيب عن
الأرباح & الخسائرالدخل مقابل المصاريف وصافي الربح خلال نطاق تواريخ. على أساس الاستحقاق — يحسب الدخل عند الفوترة، والمصاريف عند تكبدها، لا عند انتقال النقد.
الميزانية العموميةبتاريخ محدد: ما تملكه (أصول) مقابل ما عليك (التزامات) إضافة إلى حقوق الملكية. شارة متوازنة تؤكد تطابق الجانبين.
التدفق النقديلكل حساب نقدي — الرصيد الافتتاحي، والوارد، والصادر، والرصيد الختامي خلال نطاق.
أعمار الذممالمستحقات والذمم الدائنة القائمة مرتبة في فئات عمرية، لتلاحق الفواتير المتأخرة وتسبق المدفوعات.
متقدمالدفاتر الخام: دفتر الأستاذ العام (كل بند على حساب واحد مع رصيد جار)، وميزان المراجعة (التحقق من توازن الدفاتر)، ودفتر اليومية، وسجل النشاط.
اختبار التوازن في ميزان المراجعة يجب أن يتساوى مجموع عمودي المدين والدائن لكل حساب — وهذا هو الدليل على سلامة الدفاتر. وإن خرج عن التوازن في أي وقت، فهذا يشير إلى خطأ ترحيل يستحق التحقيق.

التصدير إلى برامج المحاسبة

ضمن المحاسبة → التقارير → التصدير، نزل الدفاتر بصيغة CSV لبرامج QuickBooks أو Xero أو أي جدول بيانات: دفتر اليومية العام، دليل الحسابات، الفواتير، ميزان المراجعة، الأرباح والخسائر، والميزانية العمومية. يستخدم دفتر اليومية العام والفواتير والأرباح والخسائر النطاق الزمني؛ والبقية حتى تاريخ اليوم. البيانات نفسها متاحة عبر منفذ API على GET /api/v1/accounting/export/{kind} (format=json|csv، بالصلاحية accounting:read) لأنظمة تحليل الأعمال وZapier. تستبعد التصديرات القيود الملغاة، لذا يتطابق التنزيل دائما مع التقارير المعروضة.

العمليات اليومية

تراجع & الموافقات

تعد معظم الأخطاء في لوحة تحكم مزود خدمة الإنترنت أخطاءً مالية: تجديد اشتراك خاطئ، أو تسجيل دفع مرتين، أو تغيير باقة في الحساب الخاطئ. توفر لك SAMM نافذة إلغاء لمدة خمس دقائق لتلك الإجراءات، وفي الحالات التي تتطلب إعادة أموال، بوابة موافقة سوبر أدمين قبل أن تدخل حيز التنفيذ.

نافذة التراجع

يتم تسجيل كل إجراء إداري ينقل الأموال أو يغير الحالة كما يحدث. لمدة خمس دقائق القادمة، يحمل شريط القمة زر إلغاء وقائمة سجل الإجراءات — انقر على السهم لعكس الإجراء الأخير، أو افتح السجل وعد إلى أي نقطة داخل النافذة. يعيده إعادة.

لماذا خمس دقائق فقط التراجع ليس آلة زمنية، بل هو شبكة أمان للنقرة التي قمت بها للتو. بعد مرور بضع دقائق، تطور العالم: أصبح المشترك متصلا بالإنترنت، وفاتورة تم الدفع، وقام شخص آخر بتحرير السجل. SAMM يفضل الرفض بدلا من الصمت إعادة كتابة السجل، وبالتالي فإن الخطوة تترك سجلك ببساطة عند إغلاق النافذة.

التراجع عن الرفض - مع ظهور السبب على الشاشة - عندما يؤدي التراجع إلى تدمير شيء لم يتم إنشاؤه:

رفضماذا يعني
هذا السجل لم يعد موجوداتم حذف المشترك أو الفاتورة أو الدفعة بعد الإجراء الذي اتخذته - ولم يتبق شيء يمكن إعادته.
هذا السجل موجود مرة أخرىتم إعادة خلق شيء ما في مكانه؛ سيؤدي التراجع إلى الكتابة فوق السجل الأحدث.
تم تغيير هذا السجل بعد الإجراء الخاص بكقام شخص آخر بتحريره في هذه الأثناء - سيؤدي التراجع إلى تجاهل تعديله بصمت.
هذه الخطوة لم تعد في تاريخكتم إغلاق نافذة الخمس دقائق.

إلغاء العملية هي عكس وليس حذف: تظل العمل الأصلي وعملية الإلغاء في سجل التدقيق، لذا لا يتم فقدان سجل ما حدث أبدًا. تُنذرك العمليات التي تنشئ شيئًا بوضوح — إلغاء هذا سيحذف ما أنشأته— قبل تنفيذها.

بوابة موافقة الوكيل

الوكيل يدفع عن مستخدم من رصيده المسبق عند تنشيطه. وهذا يجعل إلغاء التنشيط طريقة لاسترداد المال — وطريقة للاحتيال: قم بتنشيط مستخدم، دعهم يستخدمون الشهر بأكمله، ثم احذفهم في اليوم الأخير واسترد الرسوم.

لذلك، يقوم SAMM بتقسيم تصرفات الوكيل حسب الطريقة التي تتحرك بها الأموال:

اتجاهأمثلةسلوك
يكلف الوكيل المال تفعيل وتجديد وتغيير الخطة وتحصيل مدفوعات العميل مباشر. الوظيفة اليومية للوكيل لا تنتظر أحدا أبدا.
يعيد المال تراجع، حذف مشترك، حذف فاتورة، إلغاء تحصيل متوقفة حسب الطلب. لن يتغير أي شيء حتى يوافق عليه المشرف المتميز.

الإجراءات المسورة لا تحدث نصفا. يتم تخزين الطلب مع كل ما يلزم لذلك قم بتنفيذها لاحقا، والموافقة على تعيد تشغيلها من خلال نفس الرمز الذي سيفعله الوكيل تم تشغيل — لم يتم تنفيذ أي تطبيق ثان يمكن أن ينحرف عن الأول. رفض يترك العالم كما كان تماما، ويحتفظ الوكيل بالتهمة.

العمل في قائمة الانتظار

تصل الطلبات إلى المحاسبة → موافقة الوكلاء مع الوكيل، والإجراء، وما تشير إليه، وكمية المال التي تعيدها — الرقم الذي يتخذ القرار. تصفية حسب الوكيل أو الحالة، والبحث، وتحديد عدة منها، والموافقة أو الرفض عليها معًا؛ يمكن أن يحمل الرفض سببًا قصيرًا، يراه الوكيل.

تفويض ذلك نادراً ما تكون مهمة مراجعة الوكلاء على مدار اليوم من مسؤوليات المسؤول الفائق. يمكن منح حق موافقة الوكلاء لأي دور في الإعدادات → المسؤولين، لذا يحصل الشخص الذي يقوم بالمراجعة فعلياً على هذه السلطة بالضبط — ولا شيء آخر. يظل إنشاء وإدارة الوكلاء حكراً على المسؤول الفائق. لا يستطيع أحد اتخاذ قرار بشأن طلبه الخاص.

ما يراه الوكيل

يصل الوكيل إلى صفحة حسابي → الموافقات المعلقة التي تعرض كل ما طلبوه: ما لا يزال في الانتظار، وما تمت الموافقة عليه أو رفضه، مع سبب المراجعة. بدونها، سيكون الرفض غير قابل للتمييز عن طلب اختفى، وسيطلبون ببساطة مرة أخرى.

يمكنهم سحب طلباتهم المعلقة الخاصة — واحدة تلو الأخرى أو عدة في وقت واحد — لأن طلب شيء لا يمكن سحبه هو فخ في حد ذاته. لا يتم تشغيل طلب تم سحبه أبدًا، لذلك لا يتغير أي شيء؛ طلب تم اتخاذ قرار بشأنه هو تاريخ ويظل. فاتورة في انتظار المراجعة تقول ذلك أيضًا على صفحتها الخاصة، لذا يفهم الوكيل الذي ينقر على حذف ولا يحدث أي شيء السبب.

لمشتركيك

المدفوعات عبر الإنترنت

يمكن أن يسمح SAMM لمشتركيْك بدفع فواتيرهم عبر الإنترنت باستخدام بطاقة البنك (Stripe أو PayPal) أو العملات المشفرة/USDT (Binance). عند دفع المستخدم، يقوم SAMM بوضع علامة على الفاتورة كمدفوعة، ويسجلها في دفاترك، ويعيد توصيلهم تلقائيًا إذا تم قطعهم بسبب عدم الدفع. لن يتم تحميل أي رسوم عليك: يستخدم كل بوابة حسابك الخاص، لذا تذهب الأموال مباشرة إليك.

قم بتشغيله (أي بوابة)

  1. افتح المالية → المدفوعات عبر الإنترنت (للمديرين فقط).
  2. انقر على بوابة لتوسيعها — Stripe، PayPal أو Binance / USDT.
  3. املأ حقولها، وقم بتحديد تمكين هذا البوابة، وانقر حفظ. لن يسمح SAMM لك بالحفظ حتى يتم ملء الحقول المطلوبة.
  4. انقر على تشغيل الاختبار للتأكد من أن بيانات اعتمادك تعمل.
  5. تم — الآن يرى مستخدموك زر دفع في فواتيرهم غير المدفوعة في البوابة (وعلى صفحة "انتهت مدة الاشتراك").

يمكنك تمكين أكثر من بوابة واحدة — يختار المشترك أي بوابة سيستخدمها.

Stripe — البطاقات المصرفية، في جميع أنحاء العالم

  1. أنشئ حسابًا مجانيًا على stripe.com. اترك وضع الاختبار مفعّلًا أثناء تجربتك.
  2. انتقل إلى المطورون → مفاتيح API وانسخ المفتاح السري (يبدأ بـ sk_).
  3. في SAMM، قم بتوسيع Stripe، ولصق مفتاح السر، واختيار العملة وحساب النقد الذي يتلقاها، ثم حفظ وتشغيل الاختبار.
  4. موصى به: أضف ويب هوك للتأكد من عمليات الدفع بشكل موثوق. في ستريب، انتقل إلى المطورون → الويب هوكات → إضافة نقطة نهاية، حدد العنوان URL إلى https://YOUR-SAMM/pay/webhook/stripe، اختر الحدث checkout.session.completed، ثم قم بنسخ سر التوقيع الخاص به (whsec_…) إلى حقل سر توقيع الويب هوك في SAMM.
بث مباشر وضع الاختبار يعمل في أي مكان. يتطلب تلقي الأموال الحقيقية من خلال Stripe دعما من Stripe . البلد وحساب مصرفي مرتبط.

PayPal — البطاقات & PayPal الرصيد

  1. أنشئ حسابًا تجاريًا على PayPal، ثم في developer.paypal.com أنشئ تطبيقًا لـ REST وأنسخ معرف العميل والسر.
  2. في SAMM، قم بتوسيع PayPal، ولصق معرف العميل والسر العميل، واختر بيئة الاختبار (التجريب) أو البيئة الحية، ثم حفظ وتشغيل الاختبار.
  3. مُوصى به: أضف ويب هوك على مطور باي بال → تطبيقك → الويب هوكات، عنوان URL https://YOUR-SAMM/pay/webhook/paypal، اشترك في CHECKOUT.ORDER.APPROVED و PAYMENT.CAPTURE.COMPLETED، ثم الصق معرف الويب هوك في SAMM حتى يتم التحقق التشفيري من الإشعارات الواردة.

Binance / USDT — العملات المشفرة، تعمل في كل مكان، ولا حاجة إلى بنك

هذه هي أفضل خيار عندما لا تتوفر البطاقات وباي بال. يرسل مشتركوك USDT; تراقب SAMM حساب Binance الخاص بك وتُعلن الفاتورة مدفوعة تلقائيًا. تحتاج إلى ثلاثة أشياء: مفتاح API، سر API، ومكان لاستلام — عنوان محفظة و/أو معرف دفع Binance.

الخطوة 1 - إنشاء مفتاح API للقراءة فقط

السلامة أولا أنشئ المفتاح مع حق الوصول إلى القراءة فقط. لا تمكّن أبدًا السحب أو التداول — تحتاج SAMM فقط إلى قراءة مدفوعاتك الواردة، لا تنقل الأموال.
  1. قم بتسجيل الدخول إلى Binance → افتح إدارة واجهات برمجة التطبيقات (أو ابحث عن "إدارة واجهات برمجة التطبيقات").
  2. انقر على إنشاء API → اختر مُنشأ النظام → أسمِه مثلًا "SAMM" → أكمل فحص الأمان.
  3. تُظهر Binance مفتاح API ومفتاح سري — انسخ كليهما الآن (يُعرض المفتاح السري مرة واحدة فقط).
  4. انقر على تعديل القيود واحتفظ فقط بخيار تمكين القراءة مختاراً. اترك تداول النقاط والسحوبات غير مفعلة. (اختياري: قم بتقييد المفتاح بعنوان IP خادمك.)
  5. أدخل مفتاح API وسر API في بطاقة Binance الخاصة بـ SAMM (أولاً المفتاح، ثم السر - بنفس الترتيب الذي تعرضه Binance).

الخطوة 2 – احصل على عنوان محفظتك المستلمة

  1. في Binance، انتقل إلى محفظة → تداول فوري → إيداع (إيداع العملات المشفرة).
  2. اختر العملة USDT.
  3. اختر الشبكة — TRC20 هي الأرخص والأكثر شيوعًا؛ تعمل أيضًا BEP20 و ERC20. استخدم نفس النوع الذي اخترته في SAMM.
  4. انسخ عنوان الإيداع ولصقه في حقل عنوان محفظة الاستقبال على السلسلة في SAMM. تأكد من أن قائمة الشبكة في SAMM تتطابق مع الشبكة التي اخترتها.

الخطوة 3 — (اختياري) Binance معرف الدفع

للمستخدمين الذين يفضلون Binance Pay (فوري، بدون رسوم شبكة): في تطبيق Binance، افتح Pay واحفظ معرف Pay الخاص بك (يمكن استخدام بريدك الإلكتروني أو رقم هاتفك أيضًا). قم بلصقه في حقل معرف Binance Pay في SAMM. يمكن للمستخدمين بعد ذلك الدفع باستخدام معرف Pay وكذلك عبر السلسلة.

في النهاية، قم بتحديد تمكين، وانقر حفظ، ثم تشغيل الاختبار (يتحقق من قدرة المفتاح على قراءة حسابك). أنت الآن على الهواء.

المبلغ المحدد، الشبكة الصحيحة يجب على المستخدم إرسال المبلغ الدقيق الذي يُظهره SAMM (تحدد الأرقام الصغيرة الأخيرة الفاتورة) على الشبكة الصحيحة. سيؤدي مبلغ مختلف أو شبكة خاطئة إلى تأخير أو فقدان الدفع.

ما يراه المشترك

  1. يسجلون الدخول إلى بوابة العملاء → فواتيري.
  2. على فاتورة غير مدفوعة، ينقرون على دفع (أو "دفع · Stripe" / "دفع · Binance" إذا كانت عدة خيارات مفعلة).
  3. بطاقة: يتم توجيههم إلى الصفحة الآمنة للبوابة. USDT: يرون المبلغ الدقيق، وعنوانك مع رمز QR، و/أو معرف الدفع الخاص بك.
  4. بمجرد الدفع، تتحول الفاتورة إلى مدفوعة ، ويتم نشرها في كتبك، وإذا انتهت صلاحيتها، فسيتم إعادة توصيلها تلقائيا - حتى أن المشتركين منتهية الصلاحية يحصلون على زر "الدفع وإعادة الاتصال" في الصفحة منتهية الصلاحية.
كتبك تبقى بالضبط تقوم كل دفعة عبر الإنترنت بنشر إدخال مزدوج متوازن (Dr Cash / Cr Accounts Receivable) و يسجل الطريقة ( Stripe / Binance ) في الفاتورة وفي سجل الدفع وفي ملف PDF — حتى تتمكن من تعرف دائما كيف وصلت كل دفعة.

العمليات اليومية

تذاكر الدعم

يتضمن SAMM مكتب دعم مدمجا. يفتح المشتركون التذاكر من بوابة العملاء أو بوت Telegram، ويمكن للمسؤول فتح تذكرة نيابة عن المشترك، ويعمل فريقك عليها جميعا من المستخدمون → تذاكر الدعم.

طابور التذاكر

يسرد الطابور كل تذكرة — الرقم، العميل، الموضوع، الأولوية، الحالة، تاريخا الفتح وآخر تحديث، وعدد الرسائل. صفه عبر:

  • شارات الحالة — واحدة لكل حالة تذكرة، تحمل كل منها عدادا مباشرا، بحيث يصبح حجم العمل واضحا بنظرة واحدة.
  • الأولوية — عادية أو متوسطة أو حرجة.
  • نشطة / مسحوبة — يمكن للعميل سحب تذكرة لم يعد بحاجة إليها؛ التذاكر المسحوبة تظهر باهتة ومخفية افتراضيا.
  • بحث — برقم التذكرة أو الموضوع أو العميل.

تعد شارة الشريط الجانبي التذاكر المفتوحة بحيث لا يفوت أي شيء.

فتح تذكرة

يتيح تذكرة جديدة للمسؤول فتح تذكرة لعميل مختار — اختر العميل، ثم حدد الموضوع والأولوية والوصف. كما يفتح المشتركون تذاكرهم بأنفسهم من بوابة العملاء أو بوت Telegram.

العمل على تذكرة

افتح تذكرة لقراءة سلسلة المحادثة الكاملة. من هناك يمكنك:

  • الرد على العميل — رسالة عامة يراها المشترك في بوابته ومن خلال بوت Telegram.
  • إضافة ملاحظة داخلية — رسالة للموظفين فقط، مخفية عن العميل، لملاحظات التسليم بين أفراد فريقك.
  • تغيير حالة وأولوية التذكرة.

انقر بزر الفأرة الأيمن على أي صف — أو استخدم زر ⋮ الخاص به — للحصول على نفس إجراءات الحالة والأولوية والرد والملاحظة الداخلية دون مغادرة الطابور.

العمليات اليومية

مركز الإشعارات

SAMM يبقي المشتركين على اطلاع تلقائيا — عبر البريد الإلكتروني ، Telegram و SMS و WhatsApp — ويتيح لك بث الرسائل. ال تقدم خدمة samm-notification كل شيء من خلال قائمة انتظار واحدة محدودة. تحتوي صفحة النظام → مركز الإشعارات على ست علامات تبويب.

نظرة عامة

تبويب البداية — عدادات مباشرة (في الطابور، قيد الإرسال، أرسلت اليوم، فشلت، تم تخطيها، مستبعدة)، وحالة كل قناة تسليم، وتغذية بأحدث الإشعارات.

القنوات

قم بتكوين كيفية مغادرة الرسائل SAMM . يستخدم البريد الإلكتروني إشعارا خاصا به\n حساب منفصل عن SMTP لاستعادة كلمة المرور في الإعدادات . Telegram يستخدم رمز الروبوت، وتمر الرسائل القصيرة عبر بوابة HTTP عامة أو Twilio، و\n يستخدم WhatsApp منفذ برمجة تطبيقات Meta WhatsApp Cloud API الرسمية (التي تم إنشاؤها في Meta لـ\n المطورين)، مع جسر اختياري غير رسمي مرتبط بـ QR على مسؤوليتك الخاصة - الجسر\n يتم التثبيت بنقرة واحدة على خادم نظام التشغيل المجرد ويتم شحنه كحاوية جاهزة للتشغيل على Docker .\n يتم تخزين كافة أسرار القناة\n مشفرة بواسطة Fernet. يختار كل مشترك، من بوابة العميل، القنوات التي يريدها\n تريد ويمكن أن تختار الخروج تماما.

الرسائل

قوالب الرسائل، مجموعة واحدة لكل حدث. عدل صياغة أي إشعار — تذكيرات التجديد والإيصالات وما إلى ذلك — بحيث تخرج كل رسالة بصوتك ولغتك.

القواعد & المؤقتات

يتحكم هذا التبويب بمتى وكيف تطلق الإشعارات التلقائية. لكل حدث، أنت تتحكم بـ:

  • ما إذا كانت القاعدة مفعلة.
  • تجاهل الاستبعاد — عند تفعيلها، تصل الرسالة إلى كل مشترك حتى لو اختار الاستبعاد. خصصها للرسائل المعاملاتية المهمة.
  • التوقيت — مثلا، كم يوما قبل انتهاء الصلاحية يرسل تذكير التجديد.
  • التسليم & ضبط الإيقاع — يفرغ العامل الطابور دفعة واحدة في كل نبضة؛ ويتحكم حجم الدفعة وفاصل النبضة معا في سرعة خروج الرسائل، بحيث لا يغرق بث كبير خادم البريد لديك أبدا.

تشمل الأحداث التي يمكن لـ SAMM إصدارها بنفسه: تذكير التجديد (قبل انتهاء الاشتراك)، وإشعار انتهاء الصلاحية (عند انقضائه)، وتحذير الحصة (عند اقتراب استنفاد حد البيانات)، وإيصال الدفع (عند تسجيل دفعة)، وتجديد الباقة.

البث

أرسل رسالة لمرة واحدة — نافذة صيانة، تغيير سعر — إلى مجموعة مختارة من المشتركين. يمر البث عبر نفس الطابور المقيد الإيقاع الذي تمر فيه الإشعارات التلقائية.

صندوق الصادر

كل رسالة وضعها SAMM في الطابور أو أرسلها، مع حالة التسليم الخاصة بكل رسالة، بحيث يمكنك تأكيد وصول إشعار إلى المشترك أو معرفة سبب عدم وصوله.

النظام

WireGuard VPN

يمكن لـ SAMM تشغيل خادم VPN من نوع WireGuard على مضيف SAMM — عادةً لغرض الوصول عن بعد إلى صندوق SAMM وإدارة أجهزة MikroTik الموجودة خلفه. يتم إدارته بالكامل من خلال النظام → VPN؛ لا يلزم استخدام سطر الأوامر.

تبويب الخادم

  1. انقر توليد المفاتيح لإنشاء زوج مفاتيح الخادم. يظهر المفتاح العام للخادم فور توليده — يحتاجه العملاء.
  2. حدد منفذ الاستماع (UDP، الافتراضي 51820)، وعنوان نفق الخادم (الـ CIDR على منفذ wg0، الافتراضي 10.254.254.1/24)، ونطاق IP العملاء — عنوانا البداية والنهاية اللذان يوزعهما SAMM تلقائيا على الأقران الجدد.
  3. فعل تفعيل WireGuard VPN وانقر حفظ — يرفع SAMM منفذ wg0. يبقى المفتاح مقفلا حتى وجود مفاتيح الخادم.

تبويب العملاء

انقر إضافة عميل، أعط القرين اسما، وسيخصص له SAMM العنوان التالي من نطاق العملاء. لكل قرين يمكنك تنزيل ملف إعداداته، أو مسح رمز QR بتطبيق WireGuard للجوال، أو نسخ أوامر MikroTik RouterOS الجاهزة لإدخال راوتر إلى الـ VPN. يمكن تفعيل الأقران/تعطيلهم أو حذفهم؛ وتظهر ألوان الحالة ما إذا كان كل قرين متصلا أو غير محدث أو لم ير قط.

إعادة توليد المفاتيح إجراء مدمر تغير إعادة توليد المفاتيح زوج مفاتيح الخادم. كل إعدادات العملاء المنشورة مسبقا تحتوي على المفتاح العام القديم للخادم، وستتوقف عن الاتصال حتى تعيد توزيع الإعدادات المحدثة. تحمي المنفذ هذا الإجراء بنافذة تأكيد بكتابة نص.

النظام

نفق Cloudflare

ينشر نفق Cloudflare Zero Trust نظام SAMM على الإنترنت العام دون فتح أي منافذ في جدار الحماية — مفيد عندما يكون مضيف SAMM خلف NAT. يدار من النظام → نفق Cloudflare.

حالة الخدمة

تفتح الصفحة على بطاقة حالة تبلغ عن وضع الـ connector:

الحالةالمعنى
يعملالنفق نشط ويمرر حركة البيانات
متوقفمعد ولكنه غير قيد التشغيل حاليا
غير معدالملف الثنائي موجود — الصق توكنا لإعداده
غير مثبتأعد تشغيل install.sh لتثبيت الملف الثنائي cloudflared

كما تعرض إصدار cloudflared وما إذا كان الـ connector مهيأ للتشغيل التلقائي عند الإقلاع.

إعداد النفق

  1. في لوحة Cloudflare Zero Trust (one.dash.cloudflare.com)، افتح Networks → Tunnels ثم Create a tunnel.
  2. اختر الـ connector من نوع Cloudflared، أعط النفق اسما، واحفظ. في خطوة التثبيت، انسخ التوكن فقط — السلسلة الطويلة بعد --token.
  3. الصقه في SAMM وانقر إعداد النفق. يسلم SAMM التوكن إلى cloudflared ويشغل الـ connector.
  4. ارجع إلى Cloudflare وأضف Public hostname: العنوان الذي اخترته، النوع HTTP، URL localhost:80 (ممرر عبر nginx — موصى به) أو localhost:8000 (مباشرة إلى الـ API).

خلال بضع ثوان تتحول شارة الحالة إلى الأخضر ويصبح SAMM متاحا على اسم المضيف العام. بعد الإعداد، تتيح لك الإجراءات بنقرة واحدة تشغيل الـ connector أو إيقافه أو إعادة تشغيله، أو استبدال التوكن لتدويره، أو إزالة النفق (إجراء يتطلب كتابة REMOVE للتأكيد).

لا منافذ مفتوحة، والتوكن لا يخزن في قاعدة البيانات أبدا ينشئ النفق اتصالا صادرا إلى حافة Cloudflare — ولا يفتح أي منفذ في جدار الحماية على الخادم. يمرر التوكن إلى cloudflared ويخزن تحت /etc/cloudflared/؛ ولا يخزنه SAMM في قاعدة البيانات أبدا. ينتهي TLS عند حافة Cloudflare، لذا يعمل SAMM نفسه عبر HTTP عادي على الـ loopback.

النظام

الإعدادات

تحتوي النظام → الإعدادات على المعلمات الحية القابلة لإعادة التحميل الفوري. تعيد العفاريت (daemons) قراءتها في نبضتها التالية — دون الحاجة إلى إعادة تشغيل الخدمة. الإعدادات منظمة في تبويبات.

المعلمات العامة

إعدادالافتراضييتحكم بـ
samm-radius interval30 sعدد مرات تقييم الأحداث المعتمدة على الوقت وإرسال حزم CoA
samm-worker interval5 sإيقاع ping الراوتر + مزامنة MikroTik API
فاصل Accounting المرحلي60 sفاصل المحاسبة (Accounting) المدفوع إلى الراوترات
وقت إعادة التعيين اليومية00:00متى تعاد عدادات الاستخدام اليومية
المنطقة الزمنية للخادمUTCالمنطقة الزمنية لنوافذ السرعة وإعادة التعيين اليومية
منفذ CoA الافتراضي3799منفذ UDP الافتراضي لحزم CoA
الحد الأقصى لإعادة محاولات CoA3عدد الإعادات قبل التراجع إلى Disconnect-Request

خفض فاصل samm-radius لفرض أكثر صرامة؛ ارفعه لتقليل الحمل.

هوية المزود والشعار والعملة والفوترة (تبويب ISP)

كل ما يسأل عنه المشغلون "من أين أغير هذا؟" موجود في System → Settings → ISP. عدل حقلا واضغط حفظ — يسري التغيير فورا (دون إعادة تشغيل) ويظهر على الفواتير والإيصالات وملفات PDF وبوابة العملاء.

ما تغيرهأين يظهر
اسم المزودالفواتير والإيصالات وبطاقات Hotspot وترويسة البوابة
هاتف وبريد الدعمالفواتير وبطاقات Hotspot المطبوعة
الرقم الضريبي / رقم التسجيليطبع على الفواتير
شعار المزود (رفع PNG/JPEG)يعاد تحجيمه تلقائيا؛ يظهر على ملفات PDF للفواتير/الإيصالات وبطاقات Hotspot المطبوعة. استخدم ✕ على المعاينة لإزالته.
رمز العملة (مثل USD)عملة ISO على الفواتير ودفتر الأستاذ
رمز العملة (الإشارة) (مثل $)كل مبلغ يظهر في منفذ الإدارة وبوابة العملاء وملفات PDF
تفعيل/تعطيل الضريبة والتسمية والنسبةيضيف سطر VAT/GST إلى الفواتير (مثلا التسمية VAT والنسبة 11 = 11%)
تغيير رمز العملة لتغيير العملة المعروضة في كل مكان (مثلا من $ إلى £ أو رمز محلي)، اضبط رمز العملة في تبويب ISP واحفظ — يحدث لوحة الإدارة وبوابة العملاء وكل ملفات PDF دفعة واحدة. اضبط رمز العملة (الكود) (USD وEUR و…) بجانبه لرمز ISO المطبوع على الفواتير.

الخصوصية - إحصائيات التثبيت المجهولة

عندما يقوم SAMM بالتحقق من التحديثات، يمكنه إرسال معرف تثبيت عشوائي إلى SecuryTik، وإصدار SAMM، ومستوى باقتك، وبلد تقريبي (من عنوان IP الخاص بك، عبر Cloudflare) — لا يتم إرسال أي بيانات مستخدم أو عميل. يساعدنا ذلك فقط في حساب التثبيتات النشطة وتحديد أولويات الدعم واللغات. يمكنك تعطيله في أي وقت تحت النظام → الإعدادات → الخصوصية؛ راجع سياسة الخصوصية على هذا الرابط.

تبويب البريد الإلكتروني

اضبط خادم SMTP المستخدم لـ رموز استعادة كلمة المرور المرسلة إلى المسؤولين والعملاء (المضيف، المنفذ، SSL/STARTTLS، اسم المستخدم، عنوان المرسل، كلمة المرور). انقر اختبار الاتصال للتحقق من بيانات الاعتماد دون إرسال بريد.

حسابا بريد إلكتروني تبويب البريد الإلكتروني هنا مخصص فقط لـ OTP / استعادة كلمة المرور. أما الحساب المستخدم لـ إشعارات العملاء فيضبط بشكل منفصل في مركز الإشعارات.

النظام

المشرفون والفروع والأدوار

System → Admins هي المكان الذي تقرر فيه من يمكنه الدخول إلى بوابة الإدارة، وما يمكن لكل شخص فعله، وأي المستخدمين يمكنه رؤيتهم. منذ الإصدار 5.1.0 يشكّل المشرفون شجرة من الفروع والموظفين. للصفحة تبويبان: Admins وRoles.

الفروع والموظفون

العقدةما هو
الفرعمكان — مكتب أو مدينة. يملك المستخدمين الذين أُنشئوا فيه. لا أحد يسجّل الدخول باسم الفرع: ليس له كلمة مرور ولا دور.
مشرف (موظف)شخص يسجّل الدخول. عند وضعه تحت فرع يصبح من موظفيه: كل مستخدم وبطاقة ينشئها تتبع ذلك الفرع.
مسؤول رئيسيدائماً في أعلى الشجرة، ولا يكون تحت فرع أبداً. يرى كل شيء ويستطيع فعل كل شيء.

استخدم + Branch و+ Admin لبناء الشجرة، واسحب عقدة إلى أخرى لنقلها. الفرع وحده يمكن أن يكون تحته مشرفون. الوكيل مشرف يبيع ويملك ما يبيعه؛ والموظفون تحت الوكيل يستخدمون محفظته وقواعد الموافقة الخاصة به.

من يرى ماذا

الرؤية تتبع الشجرة. الفرع — وكل من يعمل فيه — يرى مستخدميه ومستخدمي الفروع التابعة له. ولا يرى أبداً فرعاً مجاوراً أو الفرع الأعلى. الإدارة المركزية ترى كل شيء. لا تتجاوز صلاحيات المشرف أبداً ما يسمح به المشرفون فوقه، ولا يمكنه منح إلا ما يملكه.

حدود لكل فرع

الحدما الذي يُحسب
الحد الأقصى للمستخدمينعدد المستخدمين الذين يمكن أن يملكهم الفرع والفروع التابعة له. حذف مستخدم يحرر مكاناً.
الحد الأقصى للبطاقاتعدد بطاقات الهوتسبوت التي يمكن طباعتها في الفرع.

يُرفض إنشاء مستخدم أو بطاقة جديدة عند بلوغ أي حد عند المشرف المنشئ أو فوقه، وتوضح الرسالة أي حد بلغ وكم تبقى. اترك الحد فارغاً لعدم وجود حد. ويمكن تعديل الحدين لاحقاً من نافذة التعديل.

الأدوار & الصلاحيات

الدور يمنح الوصول لكل قسم. يأتي SAMM بأربعة أدوار جاهزة يمكنك تعديلها أو حذفها — Manager (العمليات اليومية)، Reseller، Accountant (الشؤون المالية) وMonitor (قراءة فقط) — ودورين مدمجين مقفلين: superadmin (وصول كامل) وAgent الذي يحوّل المشرف إلى موزع بالجملة برصيد مسبق الدفع ونسبة عمولة (راجع المحاسبة والفوترة ← الوكلاء).

لكل قسم في SAMM (المستخدمون، الباقات، الراوترات، المحاسبة، الإعدادات وغيرها) يُضبط الدور على أحد ثلاثة مستويات:

المستوىالمعنى
غير مسموحتخفى المنطقة من الشريط الجانبي كليا
عرضصلاحية قراءة فقط
تعديلصلاحية كاملة — إنشاء وتغيير وحذف

Admins & roles وTools وAPI وPayments تبقى للإدارة المركزية أياً كان الدور.

يوجد حقان بجانب مستويات المنطقة، لأن كل واحد منهما هو قرار مالي وليس شاشة:

يمينما يسمح به
السماح بـ "لا يوجد فاتورة" تغيير خدمة المستخدم — تجديد، تغيير الباقة، تمديد — دون تحصيل أي مبلغ. معطّل افتراضياً في كل دور جديد.
السماح بموافقة الوكلاء مراجعة واتخاذ القرار بشأن طلبات الوكلاء لإلغاء الشحن. يظل إنشاء وإدارة الوكلاء حكراً على المُديرين الفُراق. انظر إلغاء& الموافقات.

يمكن أيضاً السماح للدور بـرؤية كل المستخدمين والبطاقات في النظام بغض النظر عن الشجرة. عند إيقافه يرى الدور فرعه والفروع التابعة له.

لا يتم أخذ لوحة القيادة بعيدا مهما كان الدور الذي تم رفضه، يحتفظ كل مسؤول بلوحة التحكم والملف الشخصي الخاص به — تسجيل الدخول الذي يقع على خطأ في الإذن هو تسجيل دخول معطل، وليس تسجيل دخول آمنا.
صفحة الترخيص متاحة دائما صفحة System → License قسم صلاحيات عادي — لكن كلما كان الجهاز في حالة قفل (سماح، جزئي أو كامل) يجعلها SAMM متاحة لكل مسؤول مسجل دخوله بغض النظر عن دوره، فلا يسد طريق الاسترداد أبدا.

النظام

الأدوات

يجمع قسم Tools أدوات الدفعات والصيانة. وهو يعمل على كامل البيانات، لذا فهو متاح للمدير الأعلى فقط.

النسخ الاحتياطي & الاستعادة

أنشئ لقطة كاملة لقاعدة البيانات قبل أي تغيير كبير. النسخة الاحتياطية هي أرشيف pg_dump مضغوط بـ gzip ومخزن على الخادم، ولكل منها ترويسة خاصة بـ SAMM.

  • إنشاء نسخة احتياطية — اختياريا أضف ملاحظة؛ فعل تخطي الاستخدام & السجل التاريخي للحصول على نسخة أصغر وأسرع تتجاهل جداول السجلات الضخمة.
  • تنزيل نسخة احتياطية إلى جهازك، أو رفع نسخة احتياطية سابقة لـ SAMM إلى الخادم مجددا.
  • الاستعادة تكتب فوق قاعدة البيانات الحالية — محمية بنافذة تتطلب كتابة RESTORE للتأكيد.

توافر عالية

لنشر خالٍ من نقطة فشل واحدة، قم بتشغيل SAMM عبر عقدتين: تكرار بث PostgreSQL (عقدة رئيسية مع تأخير ثوانٍ خلف عقدة احتياطية ساخنة) بالإضافة إلى عقدة احتياطية لـ AAA، والترقية وإعادة التوجيه في حالة الفشل. يأتي كتاب تشغيل المشغل الكامل — إعداد التكرار، والتبديل التلقائي المخطط وغير المخطط، والعودة للعمل، ووسيلة تكرار متزامنة اختيارية، وقائمة مراجعة التحقق بعد الفشل — كـ docs/HA.md مع المصدر. لاحظ أن التكرار ليس نسخة احتياطية (حذف سيئ يتكرر على الفور)، لذا احتفظ بالنسخ الاحتياطية المقررة أيضًا أثناء التشغيل.

منظف السجل التاريخي

احذف نهائيا صفوف السجل والتاريخ القديمة لاسترداد مساحة قاعدة البيانات. اختر إعدادا جاهزا للاحتفاظ وأكد. يقلم المنظف جلسات RADIUS المغلقة، وسجلات post-auth، وتجميعات الاستخدام اليومية، وتاريخ الراوترات/المنافذ، وسجلات التقييد، وقيود التدقيق المطبقة، وصفوف CoA المنتهية. وهو لا يمس أبدا الجلسات المباشرة، أو الأوامر في الطابور، أو حزم CoA قيد الانتظار، أو إجماليات الاستخدام مدى الحياة غير القابلة للتصفير.

خذ نسخة احتياطية أولا يحذف منظف السجل التاريخي نهائيا. خذ نسخة احتياطية قبل التنظيف إذا كنت قد تحتاج إلى البيانات لاحقا.

التصدير / الاستيراد

تصدير واستيراد بالجملة لـ المستخدمين والباقات وNAS بصيغة .csv أو .xlsx. نزل قالبا (الأعمدة الصحيحة مع صف عينة) أو لقطة من البيانات الحالية، املأها، وارفعها مرة أخرى. يفحص كل صف ويعرض على شاشة معاينة — تظهر التكرارات والصفوف غير الصالحة، وتختار ما إذا كنت تريد تخطي التكرارات أو تحديثها في مكانها — قبل أن تكتب أي بيانات.

التغييرات بالجملة

قم بتطبيق تغيير واحد - المالك، أو تاريخ انتهاء الصلاحية، أو الحالة، أو التجديد التلقائي، أو الخطة بأكملها الفترات - لكل مشترك يطابق عامل التصفية، في تشغيل واحد. اختر التغيير، وقم ببناء تصفية (الحالة / الخطة / المالك / البحث)، ومراجعة القائمة المطابقة، والتأكيد.

إضافة فترات الباقة الكاملة هي خيار التجديد بالجملة: يحصل كل مستخدم على عدد فترات باقة خاصة به، لذا فإن باقة 7 أيام تكسب 7 أيام لكل فترة، وباقة شهرية تكسب شهرًا تقويمياً — في نفس الوقت، دون تقسيم القائمة حسب الباقة أولاً. يتم تخطي المستخدمين الذين لا تملك باقتهم فترة انتهاء بدلاً من تخمينها. إضافة أيام لا تزال متاحة حيث تريد عددًا مسطحًا من الأيام ولا إعادة تعيين للعد.

تعزيز السرعة

ارفع أو خفض سرعة جميع الباقات مرة واحدة بنسبة مئوية — عطلة نهاية أسبوع بسرعة مضاعفة، أو كبح طارئ أثناء تدهور الربط الخلفي. ينطبق تأثيره فوراً، على تسجيلات الدخول الجديدة وعلى الجلسات المتصلة بالفعل.

يتحكمما يقوم به
نسبة مئويةالضرب الموجب والقسمة السالبة: +100% ← سرعة مضاعفة، −100% ← نصف السرعة، −500% ← سدسها. السرعة لا تصل أبدا إلى الصفر.
خطط لتعزيزضع علامة على أي عدد من الخطط؛ يظهر كل صف معدل الخطة والتعزيز الساري والسرعة الفعالة في الوقت الحالي.
العودة تلقائيا بعدساعات حتى ينقضي التعزيز من تلقاء نفسه. 0 يحتفظ به حتى تقوم بإعادة ضبطه يدويا.
التعزيز يفوق نافذة السرعة يتم قياس التعزيز من معدل الخطة ويستبدل أيا منه نافذة السرعة أثناء البث المباشر — لا توجد خطة على نافذة ليلية مدتها 20 مليونا عندما تصبح 40 مليونا، فإنها تصبح أيا كان ما يحدثه التعزيز لمعدل خطتها. يستأنف Windows اللحظة ينقضي التعزيز.

اشتراك استنفد حدًا معينًا لن يتم إعادة تحريكه أبدًا إلى السرعة الكاملة بواسطة دفعة. ولنفس السبب، يتم تخطي باقة تستخدم كهدف للتحكم في السرعة بواسطة اختيار الكل وتُسمى كذلك — زيادة سرعتها ستسرع الأشخاص الذين تقوم بالتحكم في سرعتهم بالضبط. يمكنك بعد ذلك تحديد الباقة يدويًا إذا كان هذا ما تنوي فعله. إعادة كل شيء إلى الطبيعي تزيل كل الدفعات وتعيد الجلسات الحية إلى سرعة الباقة.

الحذف بالجملة

احذف نهائيا العديد من المشتركين أو بطاقات Hotspot دفعة واحدة، مختارين عبر فلتر. يؤدي حذف مشترك أيضا إلى إزالة تاريخ استخدامه وجلساته وسجلات RADIUS الخاصة به وفواتيره، ويقطع أي جلسة مباشرة. محمي بنافذة تتطلب كتابة DELETE للتأكيد.

النظام

اللغات & السمات

اللغات

تُترجم بوابات المسؤول والعملاء بالكامل. ثماني لغات مدمجة مسبقًا: الإنجليزية، العربية (من اليمين إلى اليسار)، الروسية، الفارسية (من اليمين إلى اليسار)، التركية، الفرنسية، الإسبانية والألمانية. يختار كل مستخدم لغته من شريط القمة أو ملفه الشخصي؛ ويتم تذكر الخيار لكل حساب.

محرر الترجمات

يستطيع السوبر أدمن تعديل الترجمات مباشرة من النظام → الترجمات — دون إعادة تشغيل ودون تعديل ملفات. ينشئ المحرر أيضا لغات جديدة كليا ويستورد/يصدر مصنفات الترجمة بصيغة .xlsx، بحيث يمكنك تعريب SAMM إلى أي لغة تخدمها.

السمات

يأتي SAMM مع 16 سمة بصرية، فاتحة وداكنة. يختار كل مستخدم سمة من الشريط العلوي؛ تتحدث المعاينة فورا وتحفظ لكل حساب. مصطلحات تكنولوجيا المعلومات لا تترجم أبدا، بحيث تبقى الشاشات التقنية دقيقة في كل لغة.

النظام

سجل التدقيق والنشاط

System → Audit Log تجيب عن سؤال واحد: ماذا حدث، ومن فعله. قائمة واحدة تضم كل تغيير أجراه مشرف، وما فعله النظام تلقائياً (مثل انتهاء الصلاحية)، والتغييرات التي أجراها المستخدمون على حساباتهم عبر البوابة أو Telegram — تغيير الباقة، التجديد، الدفع، تعديل الملف الشخصي وكلمة المرور.

العمودما الذي يعرضه
عندماالوقت، بمنطقتك الزمنية
منالمشرف، "ali، عبر البوابة"، "ali، عبر Telegram"، رمز API، أو System
ماذا حدثجملة واحدة تضم الحقول التي تغيّرت فقط، القديم ← الجديد — مثلاً "عدّل المستخدم: انتهاء الصلاحية: 01 Oct ← 15 Oct"
الهدفما الذي نُفّذ عليه — مستخدم · ali، باقة · Gold 20M، راوتر · Hamra، مشرف · rami

صفِّ حسب من والفترة، أو اكتب اسماً في مربع البحث. تسجيلات الدخول والتصدير مخفية ما لم تحدد Show logins & exports. أعمدة Via وAction وCategory وSeverity وID موجودة في منتقي الأعمدة. حدّد صفوفاً لـExport أو Print — للملف الأعمدة نفسها التي على الشاشة. زر ⓘ في الصف يعرض جدول القيم قبل وبعد كاملاً.

الجدول الزمني للمستخدم

افتح مستخدماً واختر Timeline لترى كل ما حدث لهذا الحساب — الإنشاء، التجديد، تغيير الباقة، الإيقاف، بلوغ الحدود — مع الفواتير والمدفوعات والمحفظة ورسوم الوكلاء في عمود المبلغ. صفِّ حسب النوع أو الفترة أو المال فقط، وصدّر إلى CSV أو Excel. لا تُحذف صفوف الجدول الزمني أبداً وتبقى بعد حذف المستخدم.

سجل القبول وسجل الوصول

Overview → Accept Log تعرض كل محاولة دخول أرسلتها الراوترات وجواب RADIUS، الأحدث أولاً، مع سبب كل رفض. إنها الصفحة التي تفتحها عندما لا يستطيع مستخدم الاتصال. الرفض المتكرر يظهر كسطر واحد مع عدد. Overview → Access Log تعرض الجلسات التي بدأت فعلاً، من محاسبة RADIUS.

وأيضاً طابور أوامر التصفير وتغيير الباقات والتجديدات المجدولة من CLI أو API تُكتب في الجدول نفسه وتطبّقها خدمة samm-radius في دورتها التالية، ثم تحدّث الجلسة الحية عبر CoA. شارة الشريط الجانبي تعدّ ما لم يُطبَّق بعد.

الترخيص

الترخيص & الباقات

كل تثبيت لـ SAMM مرخص لكل جهاز — تكون الباقة على ذلك التثبيت، لذا يمكنك تشغيل عدة خوادم SAMM، كل منها على باقته الخاصة. تحدد الباقة ثلاثة سقوف رقمية.

الباقةمستخدمو AAAبطاقات HotspotNAS / راوترات
غير مسجل252001
مجاني100502
Lite5001,5004
Plus1,0003,0006
Pro2,0006,00012
Mega5,00015,00024
Max10,00030,000غير محدود
Unlimitedغير محدودغير محدودغير محدود

يعمل التثبيت الجديد غير المسجل عند الحد الأدنى. كل ميزة متاحة في كل باقة — الباقة تحدد السقوف فقط. إنشاء مشترك أو بطاقة أو NAS بعد تجاوز السقف يحظر حتى ترقي؛ ولا تفقد أي بيانات أبدا.

التفعيل & الترقية

  1. افتح النظام → الترخيص.
  2. فعل بتسجيل الدخول بحساب SecuryTik الخاص بك — أو استخدم ربط هذا الجهاز، الذي يظهر رمزا تعتمده على samm.securytik.com دون كتابة كلمة المرور على الخادم. يفعل الجهاز على Free.
  3. للحصول على حدود أعلى، اختر باقة من الصفحة نفسها، أو اشترك من لوحة التحكم. يراجع مشرف من SecuryTik الطلب المقدَّم من الصفحة ويوافق عليه.

تعيد صفحة الترخيص أيضا فحص الترخيص عند الطلب وتظهر استخدامك الحالي مقابل كل سقف. إلغاء ربط الجهاز يعيد التثبيت إلى الباقة غير المسجلة دون حذف أي بيانات.

إذا انتهت صلاحية ترخيص مدفوع

لا يحذف SAMM البيانات أبدا. الترخيص المنتهي يتدرج للأسفل بسلاسة:

المرحلةماذا يحدث
تحذيرشريط تذكير؛ ويستمر كل شيء في العمل
فترة سماحنافذة قصيرة لإعادة التفعيل؛ يبقى المشتركون متصلين
إغلاق ناعمتتوقف الخدمات الخلفية؛ ويستمر RADIUS بالمصادقة نحو 7 أيام
إغلاق صارمتتوقف الخدمات باستثناء صفحة إعادة التفعيل

إعادة التفعيل في أي مرحلة تعيد تشغيل كل الخدمات تلقائيا — وتبقى بيانات المشتركين وسجلاتهم سليمة.

التحديثات التلقائية

التحديث التلقائي مستقل عن الترخيص — كل الباقات تتحدث، ولا يمنعه ترخيص منتهي الصلاحية أبدا. يتفقد SAMM يوميا وجود إصدار جديد موقع. من النظام → الترخيص يمكنك التبديل بين الإبلاغ (الافتراضي — شريط مع زر تطبيق الآن) والتلقائي (تطبيق دون تدخل). يتحقق من كل تحديث، ويؤخذ منه نسخة احتياطية، ويطبق في مكانه. يمكنك أيضا إعادة تشغيل المثبت في أي وقت — فهو يرقي بطريقة idempotent.

لمشتركيك

بوابة العملاء & الروبوت

يمنح SAMM كل مشترك واجهتين للخدمة الذاتية — بوابة ويب وبوت Telegram — بحيث يمكنه التحقق من الاستخدام والدفع دون التواصل معك.

بوابة العملاء

يسجل المشتركون الدخول من جذر موقع SAMM (/) باسم مستخدم SAMM وكلمة المرور الخاصة بهم. تحتوي البوابة على:

الصفحةما يراه المشترك
نظرة عامةحالة الحساب، الباقة، تاريخ الانتهاء، استخدام اليوم والشهر، وأي فاتورة قائمة
الاستخدام & الجلساتإجمالي التنزيل/الرفع، وميزانية وقت التشغيل، وكامل تاريخ الجلسات
باقاتيالباقة الحالية إضافة إلى كتالوج الباقات المتاحة
فواتيريسجل الفوترة مع تنزيل PDF بنقرة واحدة
تذاكر الدعمفتح تذاكر الدعم ومتابعتها
ملف شخصيتعديل بيانات التواصل، تغيير كلمة المرور، ضبط اللغة & السمة، إدارة الإشعارات

من الملف الشخصي، يربط المشترك حسابه على Telegram، ويرتب قنوات الإشعارات المفضلة لديه، أو يستبعد نفسه من الإشعارات كليا. وإذا نسي كلمة المرور، يرسل إليه رمز OTP بالبريد الإلكتروني (يتطلب ذلك ضبط تبويب البريد الإلكتروني).

بوت Telegram

تشغل خدمة samm-telegram بوت خدمة ذاتية تفاعليا. يرسل المشترك /start، ويتحقق مرة واحدة باسم مستخدم SAMM وكلمة المرور (يحذف البوت رسالة كلمة المرور فورا)، ثم يستطيع، عبر الدردشة بالكامل:

  • التحقق من باقته وحصته واستخدامه وتاريخ انتهائه
  • عرض الفواتير وتنزيلها بصيغة PDF
  • تحديث ملفه الشخصي وتغيير كلمة المرور
  • فتح تذاكر الدعم ومتابعتها

يسلم البوت أيضا الإشعارات التلقائية — تذكيرات التجديد، إشعارات الانتهاء، تحذيرات الحصة، والإيصالات — للمشتركين الذين ربطوا Telegram.

صفحة هبوط المشترك المنتهي

عند انتهاء اشتراك مشترك يعيد الراوتر (المهيأ عبر "مجمع المنتهين وحجب الإنترنت" في المعالج) توجيه متصفحه إلى صفحة "انتهى الاشتراك" ودية يقدمها SAMM على المنفذ 81 — بشعار مزود الخدمة وزر دخول إلى البوابة — بدل اتصال ميت بصمت.

النظام

REST API

System → API يدير منفذ /api/v1 العامة. تبقى API خاملة حتى تنشئ أول رمز، فالتنصيب الذي لا يستخدمها لا يكشف أي شيء. كل ما يلي متاح أيضا كتوثيق OpenAPI تفاعلي — مع وحدة تجربة مباشرة ومخططات كاملة للطلب والاستجابة — على خادمك في /api/v1/docs.

التوثيق التفاعلي (Swagger UI)

يقدم كل تثبيت وحدة تحكم API حية على /api/v1/docs — يمكن الوصول إليها مباشرة من لوحة API في لوحة الإدارة. اضغط Authorize، والصق رمزا، ويمكن حينها تنفيذ أي نقطة نهاية على بياناتك عبر Try it out؛ ويعرض كل نداء الاستجابة الحقيقية إضافة إلى أمر curl جاهز للنسخ.

تعلن كل نقطة نهاية عن مخطط كامل ومحدد الأنواع — لأجسام الطلبات والاستجابات معا — لذا تظهر أسماء الحقول وأنواعها وأمثلتها دون الحاجة إلى أي نداء. ويقدم المخطط نفسه بصيغة OpenAPI قابلة للقراءة آليا على /api/v1/openapi.json، وهو ما يولد عميلا محدد الأنواع بالكامل باللغة التي تختارها:

openapi-generator-cli generate \
  -i https://YOUR-SAMM/api/v1/openapi.json \
  -g python -o ./samm-client

البداية السريعة

  1. افتح System → API (للمدير الأعلى فقط)، اختر اسما وتاريخ انتهاء والنطاقات التي يحتاجها التكامل، ثم انقر إنشاء رمز.
  2. انسخ السر فورا — يظهر مرة واحدة فقط ولا يخزن الخادم إلا بصمته.
  3. تحقق من عمله واطلع على ما يستطيع الرمز فعله:
curl -H "Authorization: Bearer samm_YOUR_TOKEN" https://YOUR-SAMM/api/v1/me

اعرض المشتركين النشطين ثم أنشئ واحدا:

curl -H "Authorization: Bearer samm_YOUR_TOKEN" \
  "https://YOUR-SAMM/api/v1/customers?status=active&limit=20"

curl -X POST -H "Authorization: Bearer samm_YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username":"john","password":"secret1","firstname":"John",
       "lastname":"Doe","plan_id":3}' \
  https://YOUR-SAMM/api/v1/customers

المصادقة والرموز والنطاقات

يرسل كل طلب Authorization: Bearer <token>. يحمل الرمز اسما وحد معدل بالدقيقة وتاريخ انتهاء (30–360 يوما أو أبدا) ومجموعة نطاقات — صلاحيات قراءة/كتابة لكل مورد؛ نطاق write يتضمن تلقائيا نطاق read المقابل. يظهر السر مرة واحدة فقط؛ ولا يخزن الخادم إلا البصمة. يمكن إلغاء الرمز (تفشل الطلبات فورا، وقابل للتراجع) أو حذفه نهائيا.

تتبع الاستجابات مجموعة واحدة من الأعراف: نقاط نهاية القوائم تقبل limit/offset وتعيد {"total", "items"}؛ وتستخدم الأخطاء رموز الحالة القياسية — 401 رمز مفقود/غير صالح/منته، 403 نطاق ناقص، 404 غير موجود، 409 مكرر، 422 خطأ تحقق، و429 عند بلوغ حد المعدل (مع ترويستي Retry-After وX-RateLimit-*).

مرجع نقاط النهاية

المجالنقاط النهايةالنطاق
الاستعلام الذاتي GET /me · GET /commands أي رمز
إحصاءات لوحة التحكم GET /stats/overview stats:read
المشتركون GET/POST /customers · GET/PATCH/DELETE /customers/{id} · POST …/suspend · …/activate · …/renew · …/reset-limit · …/assign-plan · GET …/usage customers:read/write
قطع الاتصال POST /customers/{id}/disconnect · POST /sessions/disconnect · /sessions/reconnect coa:write
الباقات GET/POST /plans · GET/PATCH /plans/{id} plans:read/write
الفواتير GET/POST /invoices · GET /invoices/{id} · GET /invoices/{id}/pdf · POST …/pay · …/unpay billing:read/write
دفاتر المحاسبة GET /accounting/export · GET /accounting/export/{kind} accounting:read
الجلسات المباشرة GET /sessions · GET /coa-outbox sessions:read
الراوترات GET /routers routers:read
بطاقات Hotspot GET/POST /cards/groups · GET /cards/groups/{id} · GET …/cards · …/print.pdf · POST …/cards · …/enable · …/disable · …/extend · GET /cards/{id} · POST /cards/{id}/enable · …/disable · …/reset/{kind} cards:read/write
Webhooks GET/POST /webhooks · DELETE /webhooks/{id} · POST …/enable · …/disable · …/test webhooks:manage

الأوامر في الطابور

التعديلات التي تمس حالة محاسبة مباشرة — تصفير الحدود، تفعيل/تعطيل البطاقات والمجموعات، تمديد الصلاحية — لا تطبق داخل الطلب، بل توضع في طابور الأوامر المدقق ويطبقها samm-radius خلال دورة واحدة (ثوان قليلة)، تماما مثل النقرات نفسها في بوابة الإدارة. ترد هذه النقاط بـ {"queued": true}؛ استعلم GET /commands لترى أوامر رمزك وقد تحولت إلى applied.

Webhooks

سجل عنوان نقطة نهاية واختر الأحداث (إنشاء/تعديل/تجديد/انتهاء مشترك، استنفاد حد، إنشاء/دفع فاتورة، وأحداث جلسات اختيارية). يعاد سر التوقيع مرة واحدة عند الإنشاء. يعاد إرسال التسليم الفاشل بتباعد متزايد، وتعطل نقطة النهاية التي يستمر فشلها تلقائيا — أعد تفعيلها بـ POST /webhooks/{id}/enable أو أرسل لنفسك حدثا تجريبيا بـ POST /webhooks/{id}/test.

يحمل كل تسليم X-SAMM-Event وX-SAMM-Signature: sha256=HMAC(body). تحقق قبل الوثوق:

import hmac, hashlib

def verify(body: bytes, signature_header: str, secret: str) -> bool:
    calc = "sha256=" + hmac.new(secret.encode(), body,
                                hashlib.sha256).hexdigest()
    return hmac.compare_digest(calc, signature_header)
القواعد نفسها كما في البوابة تمر تعديلات API عبر نفس طابور الأوامر المدقق وطبقة الخدمات المستخدمة في بوابة الإدارة — إعادة التصفير أو تغيير الباقة عبر API يتصرف تماما مثل النقر في المنفذ، بما في ذلك CoA.

مرجع

تشغيل SAMM

يتم كل شيء تقريبا من بوابة الإدارة. هذه الصفحة هي المرجع لسطر الأوامر (shell) للمرات النادرة التي تحتاجها فيها.

إدارة الخدمات

# Restart all SAMM services
systemctl restart samm-api samm-radius samm-worker samm-notification samm-telegram

# Live logs for one service
journalctl -u samm-api    -f
journalctl -u samm-radius -f

# Validate the FreeRADIUS config after any change
freeradius -CX

# Port 8000 stuck after a crash (admin portal unreachable)
kill -9 $(lsof -ti:8000); systemctl restart samm-api

سطر أوامر المسؤول (Admin CLI)

لعمليات سريعة على المشتركين من الـ shell. يوضع كل أمر في طابور سجل التدقيق ويطبق في نبضة samm-radius التالية — تماما مثل إجراءات المنفذ.

CLI="sudo -u samm /opt/samm/venv/bin/python -m samm_radius.cli"

$CLI reset-quota      alice          # reset a limit counter
$CLI reset-daily      alice
$CLI reset-uptime     alice
$CLI reset-expiration alice
$CLI change-plan      alice home-50M # switch a subscriber's plan
$CLI encrypt-pw                       # encrypt a router API password for the DB

ملفات الإعداد

الملفيحتوي
/etc/samm/samm.yamlDSN قاعدة البيانات، وأحجام Connection Pool، ومستوى السجل (log level)
/etc/samm/api.envأسرار جلسة البوابة وإعدادات SMTP لاستعادة كلمة المرور
/etc/samm/secret.keyمفتاح التشفير لكلمات مرور API الراوترات المخزنة

تحفظ هذه الملفات عبر الترقيات ولا يكتب فوقها أبدا عند إعادة تشغيل المثبت. أما المعلمات في وقت التشغيل (إيقاع الحلقات، وقت إعادة التعيين اليومية، منافذ CoA) فتوجد في الإعدادات بدلا من ذلك، وتطبق دون إعادة تشغيل.

تحديث SAMM

إما أن تترك SAMM يحدث نفسه من النظام → الترخيص، أو تعيد تشغيل المثبت — راجع التثبيت → الترقية. كلا المسارين يعيد تطبيق الـ migrations ويعيد تشغيل الخدمات؛ أما إعداداتك وبياناتك فلا تمس.

النسخ الاحتياطي & الاستعادة

استخدم الأدوات → النسخ الاحتياطي & الاستعادة للحصول على لقطة كاملة لقاعدة البيانات قبل أي تغيير كبير. لإعادة البناء على مضيف جديد، ثبت SAMM ثم استعد النسخة الاحتياطية.

أدوات الصيانة (خارجية)

تُعتبر بعض مهام الصيانة مدمرة بما يكفي بحيث لا تُدرج في لوحة التحكم للمسؤول، حيث يمكن لنقر عشوائي أن يدمر عملًا حيًا. يحتفظ SAMM بها كسكربتات منفصلة، يمكن تشغيلها عن قصد فقط من خلال السطر الأوامر، وليس كأزرار. تتواجد هذه السكربتات في مستودع التوزيع العام تحت المسار: tools/.

إعادة تعيين كلمة مرور مسؤول محظور الدخول

هل فقدت الوصول إلى لوحة الإدارة؟ عين كلمة مرور جديدة لحساب superadmin مباشرة في قاعدة البيانات — دون الحاجة لتسجيل دخول صالح. كما يعيد تفعيل الحساب إن كان معطلا، ولا يمس أي شيء آخر.

curl -fsSL -o samm-reset-admin-password.sh \
  https://raw.githubusercontent.com/mhdhaidarah/samm/main/tools/samm-reset-admin-password.sh

sudo bash samm-reset-admin-password.sh --list   # list the superadmin accounts
sudo bash samm-reset-admin-password.sh          # reset (prompts for the new password, twice)

شغله بصلاحيات root على خادم SAMM. إن وجد أكثر من superadmin، مرر --user <name> لاختيار أحدهم.

إعادة ضبط الدفاتر (مسح البيانات المالية)

مسح كل معاملة مالية حتى يتمكن مزود خدمة الإنترنت من بدء المحاسبة من الصفر، مع ترك جميع بيانات المشتركين وبيانات AAA سليمة تماما. مفيد عند الاستيلاء على تثبيت، أو بعد فترة تجريبية/اختبار، عندما تكون الكتب مليئة بالبيانات المشغل لقد انتهت الرغبات ولكن قاعدة العملاء يجب أن تظل كما هي تماما.

خطر — فقدان البيانات لا رجعة فيه هذا يدمر بشكل دائم جميع الفواتير، المدفوعات، الإيصالات، أرصدة المحافظ وتاريخ السجلات. لا يوجد تراجع. الطريقة الوحيدة للعودة هي نسخة احتياطية من قاعدة البيانات. لا تشغله أبدًا على تثبيت إنتاجي لم تقوم بنسخه احتياطيًا والتحقق منه أولاً.

تمت الإزالة: الفواتير وبنودها، ودفتر القيد المزدوج (المدفوعات، الإيصالات، التعديلات، زيادة رصيد المحفظة والسحوبات)، الدفع عبر الإنترنت المعاملات والمصروفات والأصول الثابتة وسجل النشاط المحاسبي. ترقيم الفاتورة تتم إعادة التعيين، بحيث تبدأ الفاتورة التالية عند رقم 1.

أبقى: كل مشترك، خطة، نافذة السرعة، الحد، عداد الاستخدام، سجل الخطة وبطاقة نقطة الاتصال وجهاز التوجيه والجلسة وسجل محاسبة RADIUS - بالإضافة إلى التكوين المحاسبي (شجرة الحسابات، الحسابات النقدية، المجموعات الضريبية، الدفع البوابات). يتم اشتقاق أرصدة النقد والمحفظة والمستحقات من دفتر الأستاذ، لذلك فهي ببساطة اقرأ الصفر بعد ذلك.

قم بتنزيله وقراءته ثم تشغيله. قم دائما بالجري الجاف أولا:

curl -fsSL -o samm-wipe-financials.sh \
  https://raw.githubusercontent.com/mhdhaidarah/samm/main/tools/samm-wipe-financials.sh

sudo bash samm-wipe-financials.sh --dry-run   # show what would be deleted, change nothing
sudo bash samm-wipe-financials.sh             # do it
لا تضعه مباشرة في الصدفة لا تقم مطلقًا بتشغيل هذا كـ curl … | sudo bash . للحصول على البرنامج النصي الذي يدمر البيانات لك تريد قراءته أولاً، ويجب ألا يتمكن التنزيل المقتطع من تنفيذ نصف ملف مسح. قم بالتنزيل والفحص ثم التشغيل.

يرفض البرنامج النصي التشغيل كمستخدم غير جذر، ويطبع بالضبط ما هو على وشك القيام به حذف، ثم يطلب منك كتابة YES لتأكيد أنك تحتفظ بنسخة احتياطية تم التحقق منها WIPE للمتابعة. يعرض عليك أخذ تفريغ قاعدة البيانات الخاصة به أولاً (إلى /var/backups/samm/ ) ويتم إحباطه إذا فشل هذا التفريغ. يعمل المسح كـ معاملة واحدة كل شيء أو لا شيء، ويتم ترك RADIUS قيد التشغيل عمدًا طوال الوقت، لذلك يظل المشتركون متصلين بالإنترنت أثناء مسح الكتب.

مرجع

الأسئلة الشائعة & حل المشكلات

ما أنظمة التشغيل التي يدعمها SAMM؟

Ubuntu 22.04 / 24.04 / 26.04 LTS وDebian 12 / 13. فئة الخادم Linux فقط — متغيرات سطح المكتب غير مدعومة. يتوقع المثبت systemd، تحديثا تثبيت PostgreSQL (تم إعداد واحد لك)، والوصول إلى الجذر.

هل أحتاج إلى اتصال إنترنت لتشغيل SAMM؟

لا. يعمل SAMM بالكامل على خادمك الخاص ويصادق المشتركين محليا عبر RADIUS. حركة البيانات الصادرة الوحيدة هي نبضة ترخيص دورية إلى خادم تراخيص SecuryTik لكي تبقى باقتك مصادقا عليها.

هل يمكنني تشغيل SAMM على السحابة، أم يجب أن يكون on-prem؟

كلا الخيارين يعمل. معظم المشغلين يشغلونه on-prem إلى جانب راوترات الـ core؛ والبعض يشغله على VM سحابي صغير مع نفق Cloudflare Zero Trust للعودة. الشرط الوحيد هو أن تستطيع راوترات MikroTik الوصول إلى خادم SAMM على منافذ RADIUS (1812/1813 UDP)، وأن يستطيع SAMM الوصول إلى الراوترات عبر MikroTik API.

هل علي إعادة تشغيل FreeRADIUS عند إضافة راوتر أو إزالته؟

لا. يحلل SAMM عملاء NAS ديناميكيا من قاعدة البيانات، لذا إضافة راوتر أو تعديله أو إزالته في MikroTik → NAS يصبح ساري المفعول دون إعادة تشغيل.

ما مدى سرعة سريان تغيير باقة أو إعادة تعيين عداد؟

توضع الإجراءات الإدارية في الطابور وتطبق من قبل خدمة samm-radius في نبضتها التالية — خلال 30 ثانية افتراضيا. إذا كان المشترك متصلا، يرسل SAMM أيضا CoA مباشرا لتحديث الجلسة. خفض فاصل samm-radius في النظام → الإعدادات لتوقيت أكثر إحكاما.

ماذا يحدث لبياناتي إذا انتهت صلاحية الترخيص المدفوع؟

لا يحذف أي شيء أبدا. ينتقل الترخيص المنتهي عبر مراحل التحذير، ثم المهلة، ثم القفل المرن (يستمر RADIUS بالمصادقة لحوالي أسبوع)، وأخيرا القفل التام. إعادة التفعيل في أي مرحلة تعيد تشغيل جميع الخدمات مع الحفاظ على كافة البيانات سليمة.

هل SAMM مجاني؟ وما الذي يضيفه إصدار Pro؟

المستوى المجاني مجاني إلى الأبد ويشمل كل الميزات. الباقات المدفوعة لا تفتح ميزات إضافية — بل ترفع الحد الأقصى لمستخدمي AAA وبطاقات Hotspot، وتلغي حد الراوترات. راجع الترخيص والمستويات.

أحد المشتركين لا يستطيع المصادقة، من أين أبدأ؟

تأكد من أن السر المشترك لـRADIUS على الموجه مطابق تماما لسجل NAS، وأن الموجه مفعل لـRADIUS الخاص بـPPP / Hotspot، وأن حساب المشترك فعال وغير منتهي. راقب journalctl -u samm-api -f وسجل FreeRADIUS، وتحقق من قدرة الموجه على الوصول إلى مضيف SAMM عبر UDP على المنفذين 1812/1813.

هل تحتاج إلى مزيد من المساعدة؟

راسلنا على [email protected] للإبلاغ عن خلل أو طلب ميزة جديدة.