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.
بقية هذا الدليل هو شرح لكل من هذه المجالات. استخدم القائمة
على اليسار، أو ابدأ بـ التثبيت.
البدء
التثبيت
يثبت SAMM كل ما يحتاجه — FreeRADIUS، وPostgreSQL، وnginx، وWireGuard،
وcloudflared، وخدمات SAMM الخمس — في خطوة واحدة. المثبت
متكرر آمن (idempotent): إعادة تشغيله ترقي تثبيتا قائما في مكانه ولا
تستبدل إعداداتك أو تعيد توليد كلمة مرور قاعدة البيانات.
يتم تشغيل SAMM في أي مكان — اختر مسار التثبيت الذي يناسب شبكتك:
يقوم سكربت التهيئة هذا بتنزيل أحدث حزمة إصدار SAMM من GitHub، ويستخرجها،
ويشغل المثبت الكامل تلقائيا. يتم خلال دقائق قليلة.
إذا كان github.com محظوراً في بلدك، فاستخدم النسخة المرآة المستضافة على Cloudflare — نفس المثبت، لا يتم تنزيل أي شيء من GitHub. (يتم الكشف عن GitHub المحظور أيضاً بواسطة الأمر القياسي أعلاه ويتحول إلى هذه المرآة تلقائياً.)
يعمل SAMM على Windows داخل جهاز Ubuntu 24.04 افتراضي صغير خاص به على Hyper-V،
يُنشئه ويديره مُثبّت واحد. ينضم الجهاز الافتراضي إلى شبكتك بعنوان IP خاص به، فتصل أجهزة MikroTik لديك إلى
SAMM مباشرةً — يرى RADIUS العنوان الحقيقي لكل جهاز، وتعمل عمليات قطع الاتصال بـCoA — تمامًا كما مع خادوم
Linux.
افتح PowerShell كمسؤول — وليس موجه الأوامر (cmd): انقر بزر الفأرة الأيمن على زر
البدء، واختر Terminal (Admin) أو Windows PowerShell (Admin)، وأجب بنعم.
ثم شغّل:
إذا تعذّر الوصول إلى samm.securytik.com من هذا الجهاز، فاستخدم المرآة المستضافة على Cloudflare بدلاً منه — المُثبِّت نفسه. (ويتحوّل المُثبِّت أيضاً إلى المرآة تلقائياً عند فشل أي تنزيل.)
دخول النظام (SSH)samm / samm·root (وحدة التحكم)root / samm
هذه القيم الافتراضية نفسها في SAMM Server ISO. غيّرها جميعاً بعد أول تسجيل دخول. يعرضها اختصار SAMM Info على سطح المكتب مرة أخرى، مع عنوان IP الخاص بـ SAMM وطريقة الوصول إلى الجهاز الافتراضي عبر SSH.
ما الذي سيُطلب منك
أي شبكة ينبغي أن ينضم إليها SAMM، عندما يحتوي الحاسوب على أكثر من محول شبكة متصل.
اضغط Enter للخيار المُوصى به (السلكي قبل Wi-Fi).
عنوان 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) — وهذا يعني أيضًا أنها مُفعّلة.)
الخطوات العامة
احفظ عملك وأعد تشغيل الحاسوب.
افتح إعداد BIOS/UEFI: اضغط مفتاح الدخول إلى الإعداد بشكل متكرر بمجرد إضاءة الشاشة (انظر الجدول). في
Windows 10/11 يمكنك أيضًا الانتقال إلى Settings → System → Recovery → Advanced startup → Restart
now، ثم Troubleshoot → Advanced options → UEFI Firmware Settings → Restart.
ابحث في قائمة Advanced أو Advanced CPU أو
Processor أو Chipset أو Security أو
Virtualization عن Intel Virtualization Technology أو
Intel VT-x أو SVM Mode أو AMD-V، واضبطها على
Enabled. (لا حاجة إلى Intel VT-d / AMD IOMMU.)
Save and exit (غالبًا F10)، اترك Windows يبدأ، ثم شغّل مُثبّت SAMM مرة أخرى.
الموضع المعتاد
الشركة المصنّعة
مفتاح الإعداد
الموضع المعتاد
Dell
F2
دعم الافتراضية → الافتراضية / تمكين تكنولوجيا افتراضية إنتل
HP
F10 (أو Esc، ثم F10)
Advanced (أو Security / System Configuration) → Virtualization Technology (VTx)
الجهاز الافتراضي الذي يعمل داخل جهاز افتراضي آخر (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 بنفسه:
إذا كنت تفضل تشغيل SAMM كحاويات - نفس المنتج، ولكن معبأ بشكل مختلف -\n استخدم التوزيع Docker Compose على github.com/mhdhaidarah/samm-docker .\n على أي مضيف يتوفر به Docker :
يثبت ذلك 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 خدمات. بعد أن تصبح كلها خضراء، افتح بوابة الإدارة وقم بتسجيل الدخول باستخدام هذه بيانات الاعتماد:
هدم: 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 وأعد النشر — هذا الخيار يتحكم في وسيط منفذ التطبيق، لا في كيفية سحب الصور.
غير كلمة مرور المدير فورا. مصادقة 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 إلى إصدار جديد:
في SAMM، انتقل إلى الأدوات → النسخ الاحتياطي، قم بإنشاء نسخة احتياطية، وقم بتنزيل الملف إلى حاسوبك.
على الموجه، أزل التطبيق ثم أضفه من جديد بالإصدار الجديد.
افتح 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 — غيرها جميعا.
يعمل المثبت كعرض تقدم ملون مباشر — شريط نسبة مئوية وقائمة
تحقق لكل مرحلة. يتم التقاط المخرجات الخام لكل مرحلة إلى
/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 services
samm-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 · أول تسجيل دخول
افتح http://<your-server>/admin/ (استخدم منفذ HTTP من
ملخص التثبيت إذا لم يكن 80)، أو رابط نفق Cloudflare الخاص بك.
سجل الدخول بـ admin / admin.
غير كلمة المرور فورا من النظام ← المسؤولون،
أو من قائمة الملف الشخصي في الشريط العلوي.
2 · أضف أول راوتر
اذهب إلى MikroTik ← NAS وانقر على إضافة راوتر.
أدخل IP الراوتر، واسما مختصرا، وسرا مشتركا لـ RADIUS. لأجهزة MikroTik،
يمكنك اختياريا إضافة بيانات اعتماد API للمزامنة المباشرة للجهاز.
على 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
قائمة المشتركين المصدرة منه — فذلك النظام لا يوفر تصدير نسخة احتياطية
غالبا ما تبلغ النسخ الاحتياطية عدة غيغابايت؛ لا مشكلة في ذلك، ارفع الملف كما هو. ولا تحتاج النسخ المضغوطة إلى فك ضغطها أولا.
كيف يعمل
ارفع الملف. لا يكتب أي شيء بعد.
راجع المعاينة. تعرض الباقات والمشتركين الذين سيتم إنشاؤهم، وتنبهك إلى أي شيء اضطرت لتخطيه أو تصحيحه، وتتحقق من الإجمالي مقابل ترخيصك قبل أن تؤكد.
اختر ما يحدث لأسماء المستخدمين الموجودة مسبقا في SAMM — تخطيها والإبقاء على سجل SAMM، أو تحديث اسمها وجهة اتصالها من النظام القديم.
استورد. يكتب كل سجل بشكل مستقل، لذا لن يتسبب سجل واحد سيئ في التراجع عن البقية.
ما الذي ينقل
الباقات — الاسم والسرعات والسعر والمدة وكوتا البيانات حيثما يسجلها النظام القديم.
المشتركون — اسم المستخدم وكلمة مرور الخدمة والاسم وبيانات الاتصال وتاريخ الانتهاء والباقة وعنوان IP الثابت وعنوان MAC.
يبقى المشتركون المعطلون في النظام القديم معطلين.
الفوترة والفواتير والبطاقات المدفوعة مسبقا والتذاكر والمحاسبة وسجلات المشرفين لا تستورد عن قصد — فهي تخص نموذج بيانات النظام القديم ونادرا ما تتطابق بشكل سليم.
القيم التي لا تطابق عمودها
قواعد البيانات الحقيقية فوضوية: عنوان مكتوب في خانة البريد الإلكتروني، وملاحظة في حقل الجوال، ورقم هاتف مكتوب بلوحة مفاتيح عربية. يتحقق SAMM من كل قيمة مقابل ما يفترض أن يحتويه عمودها. وأي قيمة لا تناسب تبقى خارج ذلك الحقل وتحفظ في ملاحظات المشترك الخاصة بالمشرف بدلا من ذلك، موسومة بمصدرها — فلا يضيع شيء ولا يتلوث أي حقل. وتخبرك المعاينة بعدد القيم المتأثرة.
Pro Radius بالتفصيل
يصدر Pro Radius المشتركين دون الباقات، لذا يستنتج SAMM الباقات من مستوى الخدمة لكل مشترك، آخذا السرعة من اسمها (خدمة باسم "4MBPS" تصبح باقة بسرعة 4 ميغابت). وثلاثة أمور ببساطة غير موجودة في ذلك الملف وتضبط على قيم افتراضية معقولة ينبغي أن تراجعها لاحقا:
المدة — تضبط على شهر واحد. ويستورد تاريخ الانتهاء الحقيقي لكل مشترك دون تغيير، لذا لا يؤثر ذلك إلا على التجديدات المستقبلية.
سرعة الرفع — تضبط لتطابق سرعة التنزيل.
السعر — يضبط على 0.
راجع الباقات قبل إصدار الفواتير
بعد الاستيراد من Pro Radius، افتح الباقات واضبط السعر والمدة الحقيقيين لكل واحدة. وإلى أن تفعل ذلك، ستفوتر تلك الباقات بصفر.
معلومات مفيدة
يمكنك تشغيله أكثر من مرة بأمان. إعادة استيراد الملف نفسه تتخطى كل من هو موجود مسبقا بدلا من تكراره.
ترخيصك يظل ساريا. إذا احتوى الملف على مشتركين أكثر مما تسمح به فئتك، تخبرك المعاينة بذلك مقدما وتوضح كم عدد من سيتسع — يمكنك الترقية، أو استيراد مجموعة جزئية.
خذ نسخة احتياطية أولا إذا كنت تستورد إلى تثبيت يحتوي بالفعل على بيانات حقيقية.
المشتركون & الباقات
الباقات & الحدود
الباقة هي تعريف الخدمة المخصصة للمشتركين — تحدد
السرعة والحدود والسعر. أنشئ الباقات قبل إضافة المستخدمين.
يأتي التنصيب الجديد بـ 9 باقات جاهزة — ثماني فئات سرعة شهرية إضافة إلى باقة خنق "Expired" — فتبيع فورا أو تنشئ باقاتك. تعمل التهيئة الأولية عند أول تنصيب فقط ولا تمس الباقات التي أضفتها.
إنشاء باقة
اذهب إلى المستخدمون ← الباقات.
انقر على باقة جديدة.
املأ النموذج وانقر على حفظ الباقة.
كل حد هو مفتاح تبديل — فعل فقط ما تحتاجه. تستخدم النافذة المنبثقة نفسها لتعديل باقة قائمة (افتح قائمة ⋮ للصف ← تعديل).
حقول الباقة
حقل
المعنى
الاسم
اسم باقة فريد، مثل Home-50M
السعر
يحتسب لكل فترة فوترة عند استخدام إصدار الفواتير
سرعة التنزيل / الرفع
مثل 50M، 512K، 1G — تفرض كحد السرعة في MikroTik
الجلسات المتزامنة
عدد الأجهزة التي يمكنها الاتصال في وقت واحد ضمن هذه الباقة. القيمة الافتراضية 1 — يرفض تسجيل الدخول الثاني ما دام الأول متصلا. اضبطها على 0 لجعلها بلا حد. الجلسة التي توقفت عن إرسال بياناتها يتم تجاهلها، لذا لا يؤدي انقطاع الاتصال إلى منع المشترك من الدخول
الحد: الانتهاء
ينتهي الاشتراك بعد فترة ثابتة من التفعيل (أيام/أشهر/ساعات/دقائق)
الحد: الكوتا
إجمالي حد للبيانات (مجمع، أو للتنزيل فقط، أو للرفع فقط) لكامل الاشتراك
الحد: زمن التشغيل
حد على زمن الاتصال التراكمي — مجموع مدد كل الجلسات
الحد: الاستخدام اليومي
حد للبيانات يعاد ضبطه كل يوم في وقت الإعادة اليومية المعين
نافذة غير محدودة
إضافة سريعة لنافذة سرعة واحدة — يوجد المحرر الكامل في صفحة نوافذ السرعة الخاصة بالباقة
مجمع IP
اسم Framed-Pool اختياري في RADIUS لتعيين العناوين
تجديد تلقائي
ابدأ فترة جديدة عند الانتهاء بدلا من تغيير الباقة أو قطع الاتصال
الحدود الأربعة
كل حد مستقل واختياري. عند ضبط عدة حدود، يتحقق SAMM منها بـ
ترتيب ثابت — الانتهاء ← الحصة ← زمن التشغيل ← اليومي — وأول حد
يستنفد يحدد الإجراء.
الحد
يتتبع
عند الاستنفاد
الانتهاء
الوقت التقويمي منذ التفعيل
التبديل إلى باقة أخرى، أو قطع الاتصال
الحصة
إجمالي البايتات المستخدمة
التبديل إلى باقة أخرى، أو قطع الاتصال
زمن التشغيل
ثوان الجلسات التراكمية
التبديل إلى باقة أخرى، أو قطع الاتصال
يومي
البايتات منذ آخر إعادة يومية
خنق — إلى سرعات تدخلها أو عبر باقة أبطأ — حتى إعادة الضبط اليومية التالية
لكل حد تختار ما يحدث عند الاستنفاد: اختر باقة تالية ينقل إليها المشترك، أو اتركه على — قطع الاتصال —. الحد اليومي يخنق بدل القطع: افتراضيا تدخل سرعات الخنق مباشرة (حقلا التنزيل/الرفع) أو تختار باقة "تالية" أبطأ — وفي الحالتين يعود المشترك إلى باقته الأصلية تلقائيا عند إعادة الضبط اليومية التالية.
نوافذ السرعة
نافذة السرعة تتجاوز السرعة الأساسية للباقة لساعات محددة — على
سبيل المثال نافذة سرعة غير محدودة بعد منتصف الليل. انقر على صف الباقة لفتح
محرر نوافذ السرعة الخاص بها، الذي يضيف التحكم بأيام الأسبوع ويدعم
النوافذ التي تتخطى منتصف الليل. عند تطابق عدة نوافذ، تفوز
النافذة الأعلى سرعة.
ملاحظة
المشتركون الذين تم تخفيفهم أو استنفدوا الحدود يستثنون من نوافذ
السرعة — لا يرفع SAMM السرعة أبدا أثناء سريان حد ما.
مفهومان للاستخدام
يحتفظ SAMM بالاستخدام في مكانين، ولا يخلط بينهما أبدا:
عدادات قابلة للإعادة — حالة كل حد. تصفر بإعادة من المسؤول
وبالإعادة اليومية.
عدادات الفوترة — إجماليات مدى الحياة غير قابلة للإعادة. لا تصفر أبدا،
حتى تبقى التقارير والفواتير دقيقة.
إدارة الباقات
تعرض قائمة الباقات سرعة كل باقة، وعدد المشتركين، والحدود النشطة، ونوافذ
السرعة. من قائمة ⋮ للصف يمكنك التعديل، أو فتح نوافذ السرعة الخاصة بها، أو تفعيلها/تعطيلها،
أو الانتقال إلى مشتركيها، أو حذفها (فقط عندما لا يكون لها مشتركون). تعديل
التجديد التلقائي يعرض تعميم التغيير على جميع المشتركين الحاليين.
نسخ مكرر ينسخ الباقة بالضبط — السرعات، الحدود، نوافذ السرعة والسعر — تحت اسم جديد، وهو أسرع بكثير من إعادة بناء التعريفة يدويًا لتغيير رقم واحد. إذا كان الاسم الذي تعطيه محجوزًا بالفعل، يتم استخدام الرقم التالي المتاح.
المشتركون & الباقات
المشتركون
المشترك (العميل / المستخدم) هو حساب PPPoE أو Hotspot يقوم
بالمصادقة عبر SAMM. يخصص لكل مشترك باقة واحدة بالضبط.
إنشاء مشترك
اذهب إلى المستخدمون وانقر على عميل جديد.
أكمل النموذج واحفظ — يمكن للمشترك الاتصال فورا.
حقل
المعنى
اسم المستخدم *
اسم تسجيل دخول PPPoE / Hotspot — يجب أن يكون فريدا
كلمة المرور *
كلمة مرور تسجيل الدخول (تخزن لمصادقة PAP/CHAP في RADIUS)
الاسم الأول / الأخير
اسم المشترك
الجوال / البريد الإلكتروني / العنوان
بيانات الاتصال — تستخدم للإشعارات والفواتير
باقة *
باقة الخدمة المراد تعيينها
تجاوز الانتهاء
تاريخ انتهاء يدوي اختياري بدلا من التاريخ المحسوب من الباقة
تجديد تلقائي
تجديد فترة الباقة تلقائيا عند الانتهاء
إنشاء العديد من المشتركين في وقت واحد
يُنشئ المستخدمون الجدد في الدفعة سلسلة مرقمة من الحسابات في عملية واحدة —
وهي الطريقة المعتادة لتوزيع كتلة من بيانات تسجيل الدخول على قرية أو فندق أو موزع.
اختر عدد الحسابات، والرقم الذي تبدأ منه، وعدد الأرقام التي تريد إضافةها (3 تعطي 001، 002، ...); يتم ملء كل شيء آخر — الباقة، وتاريخ انتهاء الصلاحية، والتجديد التلقائي — مرة واحدة وتطبيقه على جميع الحسابات. يتشاركون كلمة مرور واحدة.
ينطبق اختيار الفاتورة على كل مستخدم في المجموعة بشكل منفصل ، لذا فإن تشغيل خمسين إما يؤدي إلى رفع خمسين فاتورة أو لا شيء، و
يظهر الإجمالي قبل الالتزام.
قائمة المشتركين
تسرد صفحة المستخدمين كل مشترك مع نقطة حالة سريعة الفهم، والباقة المعينة،
وكم تبقى من كل حد — الاستخدام اليومي مع شريط تقدم، والحصة
المتبقية، وزمن التشغيل المتبقي، والأيام المتبقية. صف حسب الحالة (الكل / نشط / موقوف
/ منته / متصل) أو ابحث باسم المستخدم أو الاسم أو رقم الجوال.
شارة تبديل الباقة
شارة واحدة تعني باقة المشترك. شارتان مربوطتان بسهم
تعنيان أن المشترك بلغ حده اليومي وتم تحويله مؤقتا إلى باقة
تخفيف — ويعود إلى الأصلية عند الإعادة اليومية التالية.
إدارة المشترك
انقر بزر الفأرة الأيمن على صف — أو استخدم قائمة ⋮ — لكل إجراء خاص بالمشترك:
الإجراء
ما يقوم به
عرض / تعديل
افتح صفحة التفاصيل، أو عدل بيانات الاتصال وكلمة المرور وتاريخ الانتهاء
تفعيل / تعطيل
إيقاف الحساب — يتم قطع اتصال المشتركين المتصلين
تجديد الانتهاء
أضف مدة الباقة فوق أي وقت متبق؛ ويصدر فاتورة إذا كان للباقة سعر
إعادة زمن التشغيل / الحصة / اليومي
تصفير عداد الحد المختار
الاستخدام
افتح رسوم الاستخدام البيانية وسجل الجلسات
حذف
إزالة المشترك وكل سجله — يتم قطع الجلسات النشطة أولا
كيف تسري الإجراءات
ترتب عمليات الإعادة وتغييرات الباقة والتجديدات في سجل تدقيق وتطبق بواسطة
نبضة samm-radius — عادة خلال ثوان قليلة. إذا كان المشترك
متصلا، يرسل SAMM أيضا تحديثا مباشرا. راجع
CoA & التغييرات الفورية.
تكشف صفحة التفاصيل أيضا كلمة مرور دخول المشترك خلف زر عين (مع نسخ بنقرة واحدة) — مفيد عندما يسأل العميل عن بياناته.
عرض الاستخدام
يفتح إجراء الاستخدام صفحة حركة بيانات مفصلة لمشترك واحد،
مع محدد فترات 7 / 14 / 30 / 90 يوما. يظهر ثلاثة أرقام رئيسية —
حركة اليوم (مع تقسيم الرفع/التنزيل ودقائق الاتصال)،
وحركة هذا الشهر، وزمن الاتصال التراكمي
للشهر. أسفلها رسم بياني يومي لحركة البيانات للرفع مقابل
التنزيل، وجدول كامل لسجل الجلسات: وقت البدء والإنهاء،
والمدة، والبايتات المنزلة والمرفوعة، وجهاز NAS، وسبب إنهاء كل جلسة.
العمليات الجماعية
لتغيير المالك أو الانتهاء أو الحالة أو التجديد التلقائي لعدة مشتركين دفعة واحدة — أو
لحذف الكثير — استخدم أدوات التغييرات الجماعية والحذف
الجماعي. لإنشاء مشتركين بالجملة من جدول بيانات، استخدم التصدير / الاستيراد.
تقييد المشترك على أجهزة توجيه محددة
يمكن ربط المستخدم (أو مجموعة بطاقات كاملة) بـ راوترات NAS محددة من خلال نموذج التحرير. بدون اختيار راوترات، يعمل الحساب على أي NAS؛ مع اختيار واحد أو أكثر، يتم قبول المصادقة فقط من تلك الراوترات — يتم تطبيق سياسة الفشل المغلق داخل RADIUS نفسه. يؤدي تغيير المجموعة إلى قطع أي جلسة نشطة على راوتر غير مسموح به على الفور. بالاشتراك مع تحديد نطاق المسؤول حسب NAS، هذا هو كيف تحافظ الإعدادات متعددة الفروع والامتيازات على مستخدمي كل فرع على راوترات ذلك الفرع.
المشتركون & الباقات
بطاقات Hotspot
للوصول المدفوع مسبقا إلى Hotspot، أنشئ دفعة من بطاقات القسائم
بدلا من المشتركين الأفراد. كل بطاقة هي زوج من اسم مستخدم/كلمة مرور بسرعتها
وحدودها الخاصة، تولد بالآلاف وتطبع للتوزيع.
إنشاء مجموعة بطاقات
اذهب إلى المستخدمون ← بطاقات Hotspot وانقر على مجموعة جديدة.
املأ النموذج أدناه وانقر على إنشاء مجموعة — يولد SAMM
بيانات اعتماد كل بطاقة تلقائيا.
القسم
الحقول
الهوية
اسم مجموعة فريد، ووصف، وبادئة اسم مستخدم اختيارية، وعدد البطاقات المراد توليدها (حتى 10,000)
بيانات الاعتماد
تنسيق اسم المستخدم وكلمة المرور (أرقام / حروف / أحرف وأرقام) وطولهما
حد السرعة
سرعة التنزيل والرفع — 256k، 6M، 1G؛ 0 = غير محدود
حد النقل
غير محدود، أو حد مجمع، أو حدود منفصلة للتنزيل/الرفع (MB / GB / TB)
حد الأوقات
حد زمن التشغيل، والانتهاء بعد أول تسجيل دخول، وتاريخ "صالح حتى" للمجموعة
يحتسب الانتهاء من أول تسجيل دخول لكل بطاقة، بينما
صالح حتى هو تاريخ نهائي صارم — لا يمكن استخدام البطاقات بعده،
سواء تم تفعيلها أم لا.
إدارة مجموعة
افتح قائمة ⋮ للمجموعة لـتفعيل أو تعطيل كل البطاقات دفعة واحدة، أو تمديد تاريخ "صالحة حتى"، أو إضافة بطاقات إلى الدفعة، أو تعديل بياناتها. ويمكن تصفير بطاقة مفردة (حصة، مدة اتصال أو انتهاء) أو تعطيلها من صفحة تفاصيل البطاقة.
مجموعة مكررة تنسخ كل إعداد بدقة وتولد نفس العدد من البطاقات بمرموز جديدة — لا يمكن أن تنتمي رمز البطاقة أبدًا إلى أكثر من بطاقة واحدة، لذا فإن النسخة هي طبعة جديدة، وليست نسخة من القديمة. إنه الطريق السريع لإعادة طلب دفعة من القسائم التي نفدت.
حالات البطاقة
الحالة
المعنى
غير مستخدمة
تم توليدها لكن لم يتم تسجيل الدخول بها أبدا
نشطة
قيد الاستخدام، ضمن حدودها
مستنفدة
تم بلوغ حد (حصة أو زمن تشغيل أو انتهاء)
معطلة
معطلة يدويا
الطباعة & التتبع
افتح مجموعة لرؤية بطاقاتها، واطبعها كملف PDF للتوزيع
(يستخدم تخطيط الطباعة شعار مزود الخدمة الخاص بك من الإعدادات)، وراجع استخدام كل بطاقة. تظهر
حركة بيانات البطاقات أيضا في التقارير ضمن
علامة تبويب البطاقات، ولكل مجموعة عرض محاسبي خاص بها.
المشتركون & الباقات
الخدمة الذاتية - يقوم الضيوف بتسجيل الدخول بأنفسهم
عكس القسيمة: لا أحد يطبع أي شيء ولا أحد
يقف على مكتب. يتصل الزائر بنقطة الاتصال الخاصة بك، ويضغط على تسجيل في صفحة تسجيل الدخول، اكتب الاسم ورقم الهاتف المحمول، و SAMM أرسل لهم رسالة
رمز المرور عبر الرسائل القصيرة، WhatsApp أو البريد الإلكتروني. يدخلونها في نفس الصفحة وهم كذلك
عبر الإنترنت - وتحتفظ بسجل مسمى وقابل للتصدير لكل من استخدم الضيف
شبكة.
الأماكن النموذجية: المطاعم والمقاهي والفنادق وبيوت الضيافة،
المعارض والمعارض التجارية والمؤتمرات ومراكز التسوق والعيادات وغرف الانتظار،
صالات رياضية، مساحات عمل مشتركة، صالونات، صالات المطارات، الملاعب، الحرم الجامعي، المكتبات،
معارض السيارات وأماكن الزفاف والمنتجعات والمعسكرات.
تشغيله
قم بإعداد قناة التسليم أولاً. مركز الإشعارات → تمكين الرسائل القصيرة أو WhatsApp و
أرسل لنفسك رسالة اختبار. لا شيء آخر يعمل حتى تعمل قناة واحدة.
الخدمة الذاتية → الإعدادات: تحديد
تمكين الضيوف من تسجيل أنفسهم، واختيار القنوات التي
ترغب في تقديمها، وتحديد مدة بقاء رمز المرور صالحًا والوقت الذي يجب على
الضيف الانتظار قبل طلب رمز آخر.
اترك كلمات المرور تأتي من مجموعة بطاقة الخدمة الذاتية ما لم يكن لديك سبب لتغييرها — تقوم هذه المجموعة بتحديد السرعة وعدد الأجهزة التي يمكنها مشاركة كلمة مرور واحدة.
تفعيل علامة تبويب السجل لكل تصميم تسجيل دخول تستخدمه
— انظر أدناه. هذه هي الخطوة التي يغفل عنها الناس.
صفحة تسجيل الدخول – الخطوة التي يفتقدها الأشخاص
تُصمَّم علامة "التسجيل" لكل تسجيل دخول، وهي غير مفعلة بشكل افتراضي. افتح مدير 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.
إضافة راوتر
اذهب إلى MikroTik ← NAS وانقر على إضافة راوتر.
املأ الحقول أدناه واحفظ.
حقل
المعنى
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 (توزيع العناوين، مع جدول إيجارات مباشر)
خوادم Hotspot، وملفات Hotspot وملفات المستخدمين، ومجمعات DHCP/IP، وصفحة تسجيل دخول البوابة الإلزامية
الإنترنت
وصلات WAN — شبكات WAN المدارة من SAMM والمسارات الافتراضية، مع عرض أي شبكات WAN قائمة غير مدارة من SAMM للقراءة فقط
الجدار الناري
قواعد الفلترة، تحليل أمني للراوتر، الاتصال والأهداف، وحدات أمنية، ونسخ احتياطية للجدار الناري — يلتقط Auto-Security نسخة قبل التطبيق ويمكنه تفعيل تراجع تلقائي مؤقت، فأي قواعد تحبسك خارج الراوتر تعود تلقائيا
في تبويب 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، مع ترك عداداتك
دون مساس.
معالج الإعداد
تجمع طية المعالج كل شيء في عشر خطوات قصيرة وتدفع الإعداد كاملا إلى الراوتر دفعة واحدة في النهاية. لا يرسل شيء حتى تؤكد في خطوة المراجعة الأخيرة.
الترحيب والاكتشاف (Welcome & detect) — يفحص SAMM الراوتر ويعرض ما هو معد مسبقا، بحيث يمكنك تخطي تلك العناصر عند الدفع.
منفذ الـ Bridge — أعط اسما لـ bridge شبكة LAN.
منافذ الـ Bridge — اختر المنافذ الفيزيائية التي ستنضم إلى الـ bridge.
DNS — حدد الـ resolvers الأعلى (إعدادات جاهزة بنقرة واحدة لـ Google وCloudflare وQuad9 وغيرها)، وحجم الـ cache، واختياريا فلتر محتوى DNS.
NTP — اضبط مصدر ساعة الراوتر (عميل NTP، واختياريا تقديم الوقت للشبكة المحلية).
الإنترنت — أضف وصلة WAN واحدة أو أكثر (Static / DHCP / PPPoE).
RADIUS إلى SAMM — وجه الراوتر إلى مضيف SAMM لديك للمصادقة (Authentication) والمحاسبة (Accounting) وCoA.
الخدمات — اختر ما إذا كان الساحر سيقوم بإنشاء خادم PPPoE، أو خادم نقطة ساخنة، أو خدمة IPoE/DHCP، ويمكنك تمكين الاستاك المزدوج IPv6 (اختياري، غير مفعّل بشكل افتراضي): اختر طول المُقدّم المفوض (DHCPv6-PD) وكتل IPv6، وسيقوم الساحر ببناء المجموعات وربطها بملف PPP.
تفاصيل PPPoE / Hotspot والجدار الناري — المجمعات والملفات التعريفية وأزمنة الإيجار وقواعد الجدار الناري وNAT، واختياريا مجمع المنتهين وحجب الإنترنت الذي يعيد توجيه المشتركين المنتهين إلى صفحة SAMM "انتهى الاشتراك" بدل اتصال ميت.
المراجعة والدفع — اطلع على القائمة الدقيقة للأوامر التي سترسل، ثم ادفعها جميعها إلى الراوتر.
سرعة كل مشترك تأتي من 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→الراوتر
يسجل الإجراء في سجل التدقيق (Audit Log) كأمر في الطابور.
تفرغ خدمة samm-radius الطابور في نبضتها التالية، وتطبق التغيير، و — إذا كان المشترك متصلا — تضيف CoA إلى الطابور.
يفرغ صندوق صادر 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 بوضع علامة على الفاتورة كمدفوعة، ويسجلها في دفاترك، ويعيد توصيلهم تلقائيًا إذا تم قطعهم بسبب عدم الدفع. لن يتم تحميل أي رسوم عليك: يستخدم كل بوابة
حسابك الخاص، لذا تذهب الأموال مباشرة إليك.
قم بتشغيله (أي بوابة)
افتح المالية → المدفوعات عبر الإنترنت (للمديرين فقط).
انقر على بوابة لتوسيعها — Stripe، PayPal أو Binance / USDT.
املأ حقولها، وقم بتحديد تمكين هذا البوابة، وانقر حفظ. لن يسمح SAMM لك بالحفظ حتى يتم ملء الحقول المطلوبة.
انقر على تشغيل الاختبار للتأكد من أن بيانات اعتمادك تعمل.
تم — الآن يرى مستخدموك زر دفع في فواتيرهم غير المدفوعة في البوابة (وعلى صفحة "انتهت مدة الاشتراك").
يمكنك تمكين أكثر من بوابة واحدة — يختار المشترك أي بوابة سيستخدمها.
Stripe — البطاقات المصرفية، في جميع أنحاء العالم
أنشئ حسابًا مجانيًا على stripe.com. اترك وضع الاختبار مفعّلًا أثناء تجربتك.
انتقل إلى المطورون → مفاتيح API وانسخ المفتاح السري (يبدأ بـ sk_).
في SAMM، قم بتوسيع Stripe، ولصق مفتاح السر، واختيار العملة وحساب النقد الذي يتلقاها، ثم حفظ وتشغيل الاختبار.
موصى به: أضف ويب هوك للتأكد من عمليات الدفع بشكل موثوق. في ستريب، انتقل إلى المطورون → الويب هوكات → إضافة نقطة نهاية، حدد العنوان URL إلى https://YOUR-SAMM/pay/webhook/stripe، اختر الحدث checkout.session.completed، ثم قم بنسخ سر التوقيع الخاص به (whsec_…) إلى حقل سر توقيع الويب هوك في SAMM.
بث مباشر
وضع الاختبار يعمل في أي مكان. يتطلب تلقي الأموال الحقيقية من خلال Stripe دعما من Stripe .
البلد وحساب مصرفي مرتبط.
PayPal — البطاقات & PayPal الرصيد
أنشئ حسابًا تجاريًا على PayPal، ثم في developer.paypal.com أنشئ تطبيقًا لـ REST وأنسخ معرف العميل والسر.
في SAMM، قم بتوسيع PayPal، ولصق معرف العميل والسر العميل، واختر بيئة الاختبار (التجريب) أو البيئة الحية، ثم حفظ وتشغيل الاختبار.
مُوصى به: أضف ويب هوك على مطور باي بال → تطبيقك → الويب هوكات، عنوان 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 فقط إلى قراءة مدفوعاتك الواردة، لا تنقل الأموال.
قم بتسجيل الدخول إلى Binance → افتح إدارة واجهات برمجة التطبيقات (أو ابحث عن "إدارة واجهات برمجة التطبيقات").
انقر على إنشاء API → اختر مُنشأ النظام → أسمِه مثلًا "SAMM" → أكمل فحص الأمان.
تُظهر Binance مفتاح API ومفتاح سري — انسخ كليهما الآن (يُعرض المفتاح السري مرة واحدة فقط).
انقر على تعديل القيود واحتفظ فقط بخيار تمكين القراءة مختاراً. اترك تداول النقاط والسحوبات غير مفعلة. (اختياري: قم بتقييد المفتاح بعنوان IP خادمك.)
أدخل مفتاح API وسر API في بطاقة Binance الخاصة بـ SAMM (أولاً المفتاح، ثم السر - بنفس الترتيب الذي تعرضه Binance).
الخطوة 2 – احصل على عنوان محفظتك المستلمة
في Binance، انتقل إلى محفظة → تداول فوري → إيداع (إيداع العملات المشفرة).
اختر العملة USDT.
اختر الشبكة — TRC20 هي الأرخص والأكثر شيوعًا؛ تعمل أيضًا BEP20 و ERC20. استخدم نفس النوع الذي اخترته في SAMM.
انسخ عنوان الإيداع ولصقه في حقل عنوان محفظة الاستقبال على السلسلة في SAMM. تأكد من أن قائمة الشبكة في SAMM تتطابق مع الشبكة التي اخترتها.
الخطوة 3 — (اختياري) Binance معرف الدفع
للمستخدمين الذين يفضلون Binance Pay (فوري، بدون رسوم شبكة): في تطبيق Binance، افتح Pay واحفظ معرف Pay الخاص بك (يمكن استخدام بريدك الإلكتروني أو رقم هاتفك أيضًا). قم بلصقه في حقل معرف Binance Pay في SAMM. يمكن للمستخدمين بعد ذلك الدفع باستخدام معرف Pay وكذلك عبر السلسلة.
في النهاية، قم بتحديد تمكين، وانقر حفظ، ثم تشغيل الاختبار
(يتحقق من قدرة المفتاح على قراءة حسابك). أنت الآن على الهواء.
المبلغ المحدد، الشبكة الصحيحة
يجب على المستخدم إرسال المبلغ الدقيق الذي يُظهره SAMM (تحدد الأرقام الصغيرة الأخيرة الفاتورة) على الشبكة الصحيحة. سيؤدي مبلغ مختلف أو شبكة خاطئة إلى تأخير أو فقدان الدفع.
ما يراه المشترك
يسجلون الدخول إلى بوابة العملاء → فواتيري.
على فاتورة غير مدفوعة، ينقرون على دفع (أو "دفع · Stripe" / "دفع · Binance" إذا كانت عدة خيارات مفعلة).
بطاقة: يتم توجيههم إلى الصفحة الآمنة للبوابة. USDT: يرون المبلغ الدقيق، وعنوانك مع رمز QR، و/أو معرف الدفع الخاص بك.
بمجرد الدفع، تتحول الفاتورة إلى مدفوعة ، ويتم نشرها في كتبك، وإذا انتهت صلاحيتها، فسيتم إعادة توصيلها تلقائيا - حتى أن المشتركين منتهية الصلاحية يحصلون على زر "الدفع وإعادة الاتصال" في الصفحة منتهية الصلاحية.
كتبك تبقى بالضبط
تقوم كل دفعة عبر الإنترنت بنشر إدخال مزدوج متوازن (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؛ لا يلزم استخدام سطر الأوامر.
تبويب الخادم
انقر توليد المفاتيح لإنشاء زوج مفاتيح الخادم. يظهر المفتاح العام للخادم فور توليده — يحتاجه العملاء.
حدد منفذ الاستماع (UDP، الافتراضي 51820)، وعنوان نفق الخادم (الـ CIDR على منفذ wg0، الافتراضي 10.254.254.1/24)، ونطاق IP العملاء — عنوانا البداية والنهاية اللذان يوزعهما SAMM تلقائيا على الأقران الجدد.
فعل تفعيل WireGuard VPN وانقر حفظ — يرفع SAMM منفذ wg0. يبقى المفتاح مقفلا حتى وجود مفاتيح الخادم.
تبويب العملاء
انقر إضافة عميل، أعط القرين اسما، وسيخصص له SAMM العنوان التالي من نطاق العملاء. لكل قرين يمكنك تنزيل ملف إعداداته، أو مسح رمز QR بتطبيق WireGuard للجوال، أو نسخ أوامر MikroTik RouterOS الجاهزة لإدخال راوتر إلى الـ VPN. يمكن تفعيل الأقران/تعطيلهم أو حذفهم؛ وتظهر ألوان الحالة ما إذا كان كل قرين متصلا أو غير محدث أو لم ير قط.
إعادة توليد المفاتيح إجراء مدمر
تغير إعادة توليد المفاتيح زوج مفاتيح الخادم. كل إعدادات العملاء المنشورة مسبقا تحتوي على المفتاح العام القديم للخادم، وستتوقف عن الاتصال حتى تعيد توزيع الإعدادات المحدثة. تحمي المنفذ هذا الإجراء بنافذة تأكيد بكتابة نص.
النظام
نفق Cloudflare
ينشر نفق Cloudflare Zero Trust نظام SAMM على الإنترنت العام دون فتح أي منافذ في جدار الحماية — مفيد عندما يكون مضيف SAMM خلف NAT. يدار من النظام → نفق Cloudflare.
حالة الخدمة
تفتح الصفحة على بطاقة حالة تبلغ عن وضع الـ connector:
الحالة
المعنى
يعمل
النفق نشط ويمرر حركة البيانات
متوقف
معد ولكنه غير قيد التشغيل حاليا
غير معد
الملف الثنائي موجود — الصق توكنا لإعداده
غير مثبت
أعد تشغيل install.sh لتثبيت الملف الثنائي cloudflared
كما تعرض إصدارcloudflared وما إذا كان الـ connector مهيأ للتشغيل التلقائي عند الإقلاع.
إعداد النفق
في لوحة Cloudflare Zero Trust (one.dash.cloudflare.com)، افتح Networks → Tunnels ثم Create a tunnel.
اختر الـ connector من نوع Cloudflared، أعط النفق اسما، واحفظ. في خطوة التثبيت، انسخ التوكن فقط — السلسلة الطويلة بعد --token.
الصقه في SAMM وانقر إعداد النفق. يسلم SAMM التوكن إلى cloudflared ويشغل الـ connector.
ارجع إلى 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 interval
30 s
عدد مرات تقييم الأحداث المعتمدة على الوقت وإرسال حزم CoA
samm-worker interval
5 s
إيقاع ping الراوتر + مزامنة MikroTik API
فاصل Accounting المرحلي
60 s
فاصل المحاسبة (Accounting) المدفوع إلى الراوترات
وقت إعادة التعيين اليومية
00:00
متى تعاد عدادات الاستخدام اليومية
المنطقة الزمنية للخادم
UTC
المنطقة الزمنية لنوافذ السرعة وإعادة التعيين اليومية
منفذ CoA الافتراضي
3799
منفذ UDP الافتراضي لحزم CoA
الحد الأقصى لإعادة محاولات CoA
3
عدد الإعادات قبل التراجع إلى Disconnect-Request
خفض فاصل samm-radius لفرض أكثر صرامة؛ ارفعه لتقليل الحمل.
هوية المزود والشعار والعملة والفوترة (تبويب ISP)
كل ما يسأل عنه المشغلون "من أين أغير هذا؟" موجود في System → Settings → ISP. عدل حقلا واضغط حفظ — يسري التغيير فورا (دون إعادة تشغيل) ويظهر على الفواتير والإيصالات وملفات PDF وبوابة العملاء.
يعاد تحجيمه تلقائيا؛ يظهر على ملفات 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
بطاقات Hotspot
NAS / راوترات
غير مسجل
25
200
1
مجاني
100
50
2
Lite
500
1,500
4
Plus
1,000
3,000
6
Pro
2,000
6,000
12
Mega
5,000
15,000
24
Max
10,000
30,000
غير محدود
Unlimited
غير محدود
غير محدود
غير محدود
يعمل التثبيت الجديد غير المسجل عند الحد الأدنى. كل ميزة متاحة في كل باقة — الباقة تحدد السقوف فقط. إنشاء مشترك أو بطاقة أو NAS بعد تجاوز السقف يحظر حتى ترقي؛ ولا تفقد أي بيانات أبدا.
التفعيل & الترقية
افتح النظام → الترخيص.
فعل بتسجيل الدخول بحساب SecuryTik الخاص بك — أو استخدم ربط هذا الجهاز، الذي يظهر رمزا تعتمده على samm.securytik.com دون كتابة كلمة المرور على الخادم. يفعل الجهاز على Free.
للحصول على حدود أعلى، اختر باقة من الصفحة نفسها، أو اشترك من لوحة التحكم. يراجع مشرف من 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، وهو ما يولد عميلا محدد الأنواع بالكامل باللغة التي تختارها:
يرسل كل طلب 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}
التعديلات التي تمس حالة محاسبة مباشرة — تصفير الحدود، تفعيل/تعطيل البطاقات والمجموعات، تمديد الصلاحية — لا تطبق داخل الطلب، بل توضع في طابور الأوامر المدقق ويطبقها 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). تحقق قبل الوثوق:
القواعد نفسها كما في البوابة
تمر تعديلات 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.yaml
DSN قاعدة البيانات، وأحجام 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.