مستندات

SAMM مستندات

راهنمای کامل اپراتور — از اولین نصب تا عملیات روزمره.

۲۵ موضوع ۸ بخش نصب با یک دستور
نصب سریع

ظرف چند دقیقه آنلاین، با یک دستور.

یک خط را روی یک سرور تازه Ubuntu یا Debian اجرا کنید — بوت‌استرپر آخرین نسخه را دریافت کرده و کل پشته SAMM را برای شما نصب می‌کند.

راهنمای کامل نصب را بخوانید
install.sh — bash
curl -fsSL https://samm.securytik.com/install.sh | sudo bash
فهرست پخش دوره ویدیویی SAMM را از نصب تا کارهای روزمره ببینید — یک دوره ویدیویی کامل یک فهرست پخش رایگان و گام‌به‌گام در YouTube که نصب SAMM و کار روزمره با آن را به شما آموزش می‌دهد — همان مطالبی که این راهنما پوشش می‌دهد، به‌صورت ویدیو. تماشا در YouTube

شروع به کار

نمای کلی و معماری

SAMM — SecuryTik Active Mikrotik Manager — یک پلتفرم کامل مدیریت ISP برای شبکه‌های PPPoE و Hotspot در MikroTik است. یک نصب‌کننده، یک سرور خام Linux را به یک سیستم کامل AAA، صورت‌حساب و مدیریت مشترکان تبدیل می‌کند.

SAMM برای چه کسانی است

SAMM برای ISP های بی سیم، اپراتورهای فیبر و ارائه دهندگان نقطه اتصال در حال اجرا ساخته شده است MikroTik RouterOS . اگر مشترکین را از طریق PPPoE، Hotspot یا IPoE/DHCP احراز هویت می کنید و باید اجرای سطوح سرعت، محدودیت‌های داده، تاریخ انقضا و صورت‌حساب — SAMM همه این کارها را از یک صفحه نمایش

مشترکین IPoE/DHCP با شناسه مدار DHCP Option 82 (فیزیکی) شناسایی می شوند پورت دسترسی - راه ISP حرفه ای) یا MAC دستگاه، و رمز عبور شعاع سرور DHCP به سادگی راز مشترک RADIUS خود روتر است، بنابراین هیچ چیز اضافی برای ارائه وجود ندارد.

IPv6 dual-stack یک گزینه انتخابی است: هر مشترکی می تواند IPv6 دریافت کند در کنار IPv4 آن را در ویزارد روتر فعال کنید و پیشوند واگذار شده (DHCPv6-PD) را انتخاب کنید طول - به طور پیش‌فرض 56 / یا هر جایی از 48 / تا 64 / - و IPv6 مسدود می‌شود. روی هر کدام Access-Accept SAMM یک مجموعه WAN IPv6 به اضافه یک پیشوند مسیریابی شده به مشترک را برمی گرداند. LAN، بنابراین روتر خود مشتری (در حالت مسیر) آن را به /64s تقسیم می کند و SLAAC را برای دستگاه‌های آنها - مدل استاندارد واگذاری پیشوند ISP. با PPPoE، Hotspot و 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روترها را ping می‌کند؛ فراداده دستگاه MikroTik را از طریق API همگام‌سازی می‌کند
samm-notificationاعلان‌های ایمیل و Telegram را از طریق یک صف تنظیم‌شده تحویل می‌دهد
samm-telegramربات سلف‌سرویس تعاملی Telegram را اجرا می‌کند

SAMM چه می‌کند

هسته AAA

احراز هویت PPPoE و Hotspot، اعمال سرعت به‌ازای هر کاربر، CoA ترکیبی.

طرح‌ها و محدودیت‌ها

سطوح سرعت به‌همراه چهار محدودیت مستقل و پنجره‌های سرعت زمان‌بندی‌شده.

مشترکان

کاربران PPPoE، Hotspot و IPoE/DHCP به‌علاوهٔ کارت‌های کوپن Hotspot پیش‌پرداخت با PDF قابل چاپ.

صورتحساب

قیمت‌گذاری به‌ازای هر پلن، فاکتورهای خودکار، یک دفتر کل دوطرفه دریافت‌ها/پرداخت‌ها/هزینه‌ها.

سلف‌سرویس

یک پرتال وب مشتری و یک ربات Telegram برای مصرف، فاکتورها و تیکت‌ها.

عملیات

موجودی زنده MikroTik، مدیران مبتنی بر نقش، پشتیبان‌گیری و بازیابی، ابزارهای دسته‌ای.

سیستم

داخلی WireGuard VPN، Cloudflare تونل، هشت زبان، UI با موضوع.

اعلان‌ها

هشدارهای تمدید، انقضا، سهمیه و رسید از طریق ایمیل و Telegram.

بقیه این راهنما آموزش گام‌به‌گام برای هریک از این حوزه‌هاست. از منوی سمت چپ استفاده کنید، یا با نصب شروع کنید.

شروع به کار

نصب

SAMM هر آنچه نیاز دارد — FreeRADIUS، PostgreSQL، nginx، WireGuard، cloudflared و پنج سرویس SAMM — را در یک مرحله نصب می‌کند. نصب‌کننده idempotent است: اجرای دوباره آن، نصب موجود را در جای خود ارتقا می‌دهد و هرگز پیکربندی شما را بازنویسی یا رمز پایگاه داده شما را بازتولید نمی‌کند.

SAMM هر جایی اجرا می‌شود — مسیر نصبی را که با شبکه شما تناسب دارد انتخاب کنید:

پیش‌نیازها

  • یک سرور تازه: Ubuntu 22.04 / 24.04 / 26.04 LTS یا Debian 12 / 13. فقط لینوکس سروری — نسخه‌های دسکتاپ پشتیبانی نمی‌شوند.
  • دسترسی Root / sudo و یک اتصال اینترنت.
  • systemd و میزبانی که PostgreSQL بتواند به‌صورت محلی روی آن نصب شود (یکی برای شما راه‌اندازی می‌شود).

نصب

گزینه A — نصب با یک فرمان

روی سرور، اجرا کنید:

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

این اسکریپت راه‌انداز آخرین بسته انتشار SAMM را از GitHub دانلود می‌کند، آن را استخراج می‌کند و نصب‌کننده کامل را به‌صورت خودکار اجرا می‌کند. در چند دقیقه انجام می‌شود.

اگر github.com در کشور شما مسدود است، از آینه میزبانی‌شده روی Cloudflare استفاده کنید — همان نصب‌کننده، بدون دریافت چیزی از GitHub. (دستور استاندارد بالا نیز مسدود بودن GitHub را تشخیص می‌دهد و خودش به این آینه سوییچ می‌کند.)

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

در هر صورت، پس از پایان کار نصب‌کننده، پرتال مدیریت را باز کنید و با این اعتبارنامه‌ها وارد شوید:

URL ورودhttp://<your-server>/admin · نام کاربریadmin · رمز عبورadmin

بلافاصله پس از اولین ورود، رمز عبور مدیر را تغییر دهید.

نصب

گزینه B — نصب دستی از یک بسته انتشار

آخرین samm-<version>.tar.gz را از صفحه GitHub Releases دانلود کنید، سپس روی سرور:

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

همچنین می‌توانید از یک zip که روی دستگاهی دیگر تولید شده استقرار دهید — نصب‌کننده منبع را با rsync به داخل /opt/samm منتقل می‌کند:

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

یا مخزن را در /opt/samm کلون کنید و sudo bash /opt/samm/install.sh را اجرا کنید.

در هر صورت، پس از پایان کار نصب‌کننده، پرتال مدیریت را باز کنید و با این اعتبارنامه‌ها وارد شوید:

URL ورودhttp://<your-server>/admin · نام کاربریadmin · رمز عبورadmin

بلافاصله پس از اولین ورود، رمز عبور مدیر را تغییر دهید.

نصب

گزینه C — نصب با Docker Compose

اگر ترجیح می‌دهید SAMM را به‌صورت کانتینر اجرا کنید — همان محصول، با بسته‌بندی متفاوت — از توزیع Docker Compose در github.com/mhdhaidarah/samm-docker استفاده کنید. روی هر میزبانی که Docker در دسترس باشد:

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

این کار در صورت نبود Docker آن را نصب می‌کند، یک docker-compose.yml با رمز عبور تصادفی قوی از پیش تنظیم‌شده در /opt/samm-docker/ قرار می‌دهد و مجموعه را راه‌اندازی می‌کند. ایمیج mhdhaidarah/samm از همان بسته کامپایل‌شده نصب bare-OS ساخته می‌شود — طبق طراحی متن‌بسته.

چندمعماری — همان برچسب برای 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 Tunnel عمداً در نسخه Docker پنهان شده‌اند — آنها سرویس‌های systemd در سطح میزبان را مدیریت می‌کنند که از داخل کانتینر قابل دسترسی نیستند. اگر به این موارد به‌صورت داخلی نیاز دارید، گزینه A یا B بالا را انتخاب کنید، یا cloudflared / wg-quick را مستقیماً روی میزبان Docker در کنار SAMM اجرا کنید. برای تمام هشدارهای v1 و مسیر نصب دستی، به README نسخه Docker مراجعه کنید.

روی Windows (Docker Desktop) — فقط برای ارزیابی

برای محیط عملیاتی توصیه نمی‌شود. خواب / hibernate / بستن درپوش در Windows کانتینرها را متوقف می‌کند؛ راه‌اندازی مجدد هنگام بوت فقط زمانی فعال می‌شود که WSL شروع شود (نه هنگام بوت Windows)؛ cron به‌روزرسانی خودکار روزانه فقط زمانی اجرا می‌شود که WSL فعال باشد. آن را برای ارزیابی / نمایش استفاده کنید، سپس محیط عملیاتی را روی یک ماشین مجازی Linux (Hyper-V، Proxmox، ESXi) یا یک دستگاه فیزیکی کوچک (مثلاً یک NUC که Ubuntu Server اجرا می‌کند) مستقر کنید.

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 → Containers تماشا کنید — گروه samm به 8 سرویس گسترش می یابد. وقتی همه آنها سبز شدند، پورتال مدیریت را باز کنید و با این مدارک وارد سیستم شوید:

URL ورودhttp://localhost:8000/admin · نام کاربریadmin · رمز عبورadmin

بلافاصله پس از اولین ورود، رمز عبور مدیر را تغییر دهید.

اگر یک NAS واقعی MikroTik برای RADIUS به این میزبان Windows متصل شود، UDP 1812 + 1813 را از طریق Windows Firewall مجاز کنید:

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

برچیدن: docker compose down -v از دایرکتوری نصب (سوئیچ -v ولوم postgres و کلید Fernet را پاک می‌کند — اگر داده افزوده‌اید، ابتدا از آنها پشتیبان بگیرید).

نصب

گزینه D — نصب روی روتر 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)، به علاوه x86 RouterOS و CHR (amd64). پشتیبانی نمی‌شود: دستگاه‌های armv7 / mipsbe / smips / tile / ppc (hEX، RB750، مدل‌های قدیمی‌تر RB) - بدون پشتیبانی از کانتینر یا RAM/CPU بسیار کم برای پشته SAMM . RouterOS 7.23 یا جدیدتر مورد نیاز است (نسخه‌های قدیمی‌تر نمی‌توانند معماری را از یک برچسب چند قوس انتخاب کنند).

۱. آماده‌سازی روتر

بسته 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

۲. فرمت و mount کردن دیسک (ext4)

یک درایو USB یا microSD وارد کنید (≥ 8 GB توصیه می‌شود — Postgres + لایه‌های ایمیج روی هم انباشته می‌شوند). روی روتر:

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

پس از فرمت کردن، تأیید کنید که دیسک mount می‌شود و قابل نوشتن است:

/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 از مرحله ۲ را به‌عنوان حافظه تعیین کنید و ارسال کنید. RouterOS 7.23+ معماری درست پردازنده را به‌طور خودکار از برچسب‌های ایمیج می‌کشد.

روی "waiting for reverse proxy" گیر کرده؟ در RouterOS 7.23+، تیک Use HTTPS را در پنجره Apps بردارید و دوباره اجرا کنید — این گزینه پراکسی رابط وب برنامه را کنترل می‌کند، نه نحوه کشیدن ایمیج‌ها.
docker-compose.yml
name: samm

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

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

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

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

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

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

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

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

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

۴. تأیید و اتصال MikroTik به SAMM

پس از اجرا شدن کانتینرهای SAMM ، پورتال مدیریت را در یک مرورگر باز کنید و با این اطلاعات کاربری وارد سیستم شوید:

URL ورودhttp://<router-ip>:8000/admin · نام کاربریadmin · رمز عبورadmin

بلافاصله رمز عبور مدیر را تغییر دهید. احراز هویت + حسابداری RADIUS روی UDP 1812 + 1813 روی خود روتر در دسترس است، بنابراین کلاینت RADIUS در MikroTik می‌تواند با رمز مشترکی که در System → RADIUS تنظیم کردید به 127.0.0.1 اشاره کند.

مسیر استقرار آزمایشی. ویژگی کانتینر RouterOS کمتر از Docker Compose است — DNS نام سرویس، ترتیب وابستگی ( depends_on ) و راه اندازی مجدد زنده رفتار متفاوتی دارند. اگر پشته روی سخت‌افزار شما نادرست است، به اجرای Docker روی یک جعبه کوچک Linux (NUC، Pi 4، Linux VM) در کنار MikroTik برگردید. همان فایل کامپوزی آنجا با معنای Compose کامل کار می کند.

5. به روز رسانی - پشتیبان گیری و بازیابی دستی

به‌روزرسانی یک برنامه ظرف MikroTik پایگاه داده شما را حذف می‌کند. RouterOS نمی تواند نسخه یک برنامه نصب شده را در جای خود تغییر دهد — تنها راه حذف آن است برنامه را اضافه کنید و دوباره آن را اضافه کنید، و با حذف آن، همه چیزهایی که برنامه ذخیره کرده است، از جمله SAMM حذف می شود پایگاه داده یک نسخه پشتیبان تهیه کنید و قبل از حذف آن در رایانه خود دانلود کنید برنامه نسخه پشتیبان باقی مانده در روتر با سایر موارد حذف می شود.

برای انتقال کانتینر MikroTik به نسخه جدید:

  1. در SAMM ، به Tools → Backup بروید، یک نسخه پشتیبان ایجاد کنید، و فایل را در رایانه خود بارگیری کنید .
  2. در روتر، برنامه را حذف کنید و دوباره آن را با برنامه جدید اضافه کنید نسخه
  3. SAMM جدید را باز کنید، به Tools → Backup بروید و آن را بازیابی کنید فایلی که دانلود کردید

این فقط برای ظرف MikroTik اعمال می شود. در Docker ( Linux ، Windows یا یک Linux VM) یک به روز رسانی docker compose pull است docker compose up -d ، و داده های شما دست نخورده است - حجم ها در خارج از آن قرار دارند ظروف و زنده ماندن.

نصب

گزینه E — SAMM Server ISO (نصب به‌صورت دستگاه آماده)

SAMM Server ISO هر دستگاه یا ماشین مجازی خالی را به یک سرور آماده SAMM تبدیل می‌کند: بوت کنید، در تنها صفحه‌ای که نمایش می‌دهد DHCP یا IP ثابت را انتخاب کنید، تأیید کنید و بروید. Ubuntu Server 24.04 LTS (نسخه حداقلی) را نصب می‌کند، نام میزبان را samm-server می‌گذارد و در نخستین بوت به‌طور خودکار جدیدترین نسخه SAMM را دانلود و نصب می‌کند — بنابراین ISO هرگز قدیمی نمی‌شود. کنسول، اسپلش بوت SAMM و بنر ورود شامل IP سرور، آدرس پنل مدیریت و اطلاعات ورود پیش‌فرض را نمایش می‌دهد و دستور samm-tools دسترسی مستقیم به ابزارهای نگهداری (بررسی سلامت، پشتیبان‌گیری و بازیابی پایگاه داده، بازنشانی رمز مدیر) می‌دهد.

این ISO دیسک نخست دستگاه را پاک می‌کند. آن را فقط روی سخت‌افزار یا ماشین مجازی مخصوص SAMM بوت کنید. اگر دستگاه هنگام نصب آفلاین باشد، راه‌اندازی به‌محض اتصال به اینترنت خودش کامل می‌شود.

آن را روی فلش USB بنویسید (با Rufus یا balenaEtcher یا dd) یا به یک ماشین مجازی متصل کنید، بوت کنید و به پرسش شبکه پاسخ دهید. ورودهای پیش‌فرض پس از نصب — پنل: admin / admin، سیستم‌عامل: samm / samm یا root / sammهمه را تغییر دهید.

دانلود SAMM Server ISO 2.2 GB

SHA-2568b6d57e286a4c0524d96b5b4970b57079113e000fc8229f94360410c12f5102e

نصب

مرجع نصب‌کننده

گزینه‌های غیرتعاملی

به همه اعلان‌ها می‌توان از پیش با متغیرهای محیطی پاسخ داد، بنابراین نصب‌کننده می‌تواند بدون نظارت اجرا شود:

متغیراثر
DB_PASSبه‌جای رمز تولیدشده خودکار، از این رمز پایگاه داده استفاده کن (فقط نصب اول)
CF_TOKENکانکتور Cloudflare Tunnel را با این توکن Zero Trust نصب کن
SAMM_HTTP_PORTپورت شنود nginx را اجباری کن (از اعلان تشخیص پورت 80 صرف‌نظر می‌کند)
SAMM_VERBOSE1 به‌جای نوار پیشرفت، خروجی خام فرمان را جریان می‌دهد
NO_COLOR1 خروجی رنگی را غیرفعال می‌کند
DB_PASS='strong_pw'   sudo bash /opt/samm/install.sh
CF_TOKEN='eyJ...'     sudo bash /opt/samm/install.sh
SAMM_HTTP_PORT=8080   sudo bash /opt/samm/install.sh

نصب‌کننده چه چیزی را راه‌اندازی می‌کند

نصب‌کننده به‌صورت یک نمایش پیشرفت زنده و رنگی اجرا می‌شود — یک نوار درصدی و یک چک‌لیست به‌ازای هر مرحله. خروجی خام هر مرحله در /var/log/samm-install.log ثبت می‌شود؛ در صورت شکست، 30 خط آخر چاپ می‌شود.

مؤلفهجزئیات
FreeRADIUS 3با بک‌اند PostgreSQL و کلاینت‌های پویای NAS پیکربندی شده؛ با freeradius -CX اعتبارسنجی شده
PostgreSQLپایگاه داده، طرح‌واره و همه مهاجرت‌های SQL اعمال شدند — هر فایل مهاجرت idempotent است
Python venvهمه وابستگی‌ها از requirements.txt نصب و کاتالوگ‌های ترجمه کامپایل می‌شوند. اگر Python توزیع با بسته کامپایل‌شده سازگار نباشد، نصب‌کننده مفسر مستقل سازگاری را خودکار در /opt/samm/runtime می‌گیرد
nginxپراکسی معکوس به‌صورت افزایشی افزوده شد — سایت‌های موجود هرگز حذف نمی‌شوند. وقتی پورت 80 آزاد باشد از آن استفاده می‌کند؛ در غیر این صورت یک پورت جایگزین می‌پرسد
5 servicessamm-api، samm-radius، samm-worker، samm-notification، samm-telegram — همه به‌عنوان واحدهای systemd فعال شدند
WireGuardبسته‌ها نصب شدند؛ بعداً از System → VPN پیکربندی می‌شوند
cloudflaredباینری همیشه نصب می‌شود؛ توکن تونل هنگام نصب اختیاری است یا بعداً از System → Cloudflare Tunnel افزوده می‌شود

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

اعلان‌های تعاملی

هر اعلانی در ابتدا، پیش از آغاز نصب رخ می‌دهد:

  • توکن Cloudflare — یک توکن کانکتور Zero Trust بچسبانید تا SAMM را بدون هیچ پورت باز، آنلاین منتشر کنید، یا Enter را فشار دهید تا صرف‌نظر کنید و بعداً آن را پیکربندی کنید.
  • پورت HTTP — اگر پورت 80 از قبل در حال استفاده باشد، نصب‌کننده آن سایت‌ها را دست‌نخورده باقی می‌گذارد و یک پورت جایگزین می‌پرسد (پیش‌فرض 8080).

خلاصه نصب

وقتی نصب‌کننده به پایان می‌رسد، خلاصه‌ای با URL مدیریت، ورود پیش‌فرض، پورت 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

اجرای دوباره، منبع را مجدداً همگام می‌کند، venv را ارتقا می‌دهد، همه مهاجرت‌ها را دوباره اعمال می‌کند، پیکربندی‌های FreeRADIUS و nginx را دوباره بارگذاری می‌کند و هر سرویس را مجدداً راه‌اندازی می‌کند. فایل‌های پیکربندی شما و پورت HTTP انتخاب‌شده در نخستین نصب حفظ می‌شوند.

نکته SAMM می‌تواند خودش را هم به‌روزرسانی کند — به صدور مجوز و به‌روزرسانی‌ها مراجعه کنید. به‌روزرسانی‌های خودکار را فعال کنید، یا آنها را بنا به درخواست، از System → License اعمال کنید.
جداشده از شبکه و پایگاه داده راه دور SAMM فقط SAMM را عرضه می‌کند — FreeRADIUS، PostgreSQL، nginx و بقیه در زمان نصب از مخازن apt بالادستی دریافت می‌شوند، بنابراین نصب‌های جداشده از شبکه باید آن بسته‌ها را از پیش آماده کنند. برای یک PostgreSQL راه دور، DSN را پس از نصب در /etc/samm/samm.yaml تنظیم کنید.

شروع به کار

گام‌های اول

پنج کار کوتاه، یک نصب تازه را به نقطه‌ای می‌رساند که مشترکان می‌توانند متصل شوند و برایشان صورت‌حساب صادر شود.

۱ · اولین ورود

  1. http://<your-server>/admin/ را باز کنید (اگر پورت HTTP برابر 80 نیست، از پورت خلاصه نصب استفاده کنید)، یا URL تونل Cloudflare خود را باز کنید.
  2. با admin / admin وارد شوید.
  3. بلافاصله رمز عبور را از System → Admins، یا از منوی پروفایل در نوار بالا تغییر دهید.

۲ · افزودن اولین روتر

  1. به MikroTik → NAS بروید و روی Add Router کلیک کنید.
  2. IP روتر، یک نام کوتاه و یک رمز مشترک RADIUS را وارد کنید. برای دستگاه‌های MikroTik، به‌صورت اختیاری اعتبارنامه‌های API را برای همگام‌سازی زنده دستگاه اضافه کنید.
  3. روی MikroTik، یک سرور RADIUS اضافه کنید که به میزبان SAMM (پورت‌های 1812/1813) با رمز مشترک یکسان اشاره کند، و RADIUS را برای PPP / Hotspot فعال کنید.

به راه‌اندازی مجدد FreeRADIUS نیازی نیست — SAMM کلاینت‌های NAS را به‌صورت پویا از پایگاه داده تشخیص می‌دهد. برای رویه کامل به روترها (NAS) مراجعه کنید، یا اجازه دهید جادوگر راه‌اندازی، MikroTik را برای شما پیکربندی کند.

۳ · ایجاد یک پلن

یک پلن سرعت، محدودیت‌ها و قیمتی را که می‌فروشید تعریف می‌کند. به Users → Plans → New plan بروید. مرجع کامل فیلدها: پلن‌ها و محدودیت‌ها.

۴ · افزودن یک مشترک

به Users → New customer بروید، اعتبارنامه‌های ورود را پر کنید و یک پلن انتخاب کنید. مشترک می‌تواند بلافاصله متصل شود. برای دسترسی hotspot پیش‌پرداخت، به‌جای آن کارت‌های ووچر تولید کنید.

۵ · فعال‌سازی مجوز شما

یک نصب تازه به‌صورت ثبت‌نشده در یک سطح حداقلی اجرا می‌شود. System → License را باز کنید و برای برداشتن محدودیت‌ها فعال‌سازی کنید — به صدور مجوز و سطوح مراجعه کنید.

ریتم روزمره افزودن روترها → ایجاد پلن‌ها → افزودن مشترکان یا کارت‌ها → تماشای داشبورد → ثبت پرداخت‌ها در حسابداری.

شروع به کار

مهاجرت از سامانه‌ای دیگر

آیا هم‌اکنون سامانهٔ صورت‌حساب RADIUS دیگری را اجرا می‌کنید؟ SAMM داده‌های آن را می‌خواند و طرح‌ها و مشترکین شما را بازسازی می‌کند، بنابراین لازم نیست چیزی را دوباره وارد کنید. مشترکین رمز عبور سرویس و تاریخ انقضای موجود خود را نگه می‌دارند، یعنی دقیقاً مانند گذشته وارد می‌شوند.

به ابزارها → برون‌بری / درون‌بری بروید و سامانهٔ قدیمی خود را زیر مهاجرت از سامانه‌ای دیگر انتخاب کنید. مانند بقیهٔ ابزارها، تنها برای مدیر ارشد در دسترس است.

چه چیزی بارگذاری کنید

سامانهٔ قدیمیفایلاز کجا می‌آید
SAS4 / Radius Manager .sql یا .sql.gz یک پشتیبان MySQL از پایگاه دادهٔ قدیمی
Super Speed Radius .sql یا .sql.gz یک پشتیبان MySQL از پایگاه دادهٔ قدیمی
Pro Radius .xlsx یا .csv فهرست مشترکین صادرشدهٔ آن — آن سامانه هیچ خروجی پشتیبانی ندارد

پشتیبان‌های پایگاه داده اغلب چند گیگابایت هستند؛ اشکالی ندارد، فایل را همان‌طور که هست بارگذاری کنید. پشتیبان‌های فشرده نیازی به باز کردن ندارند.

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

  1. فایل را بارگذاری کنید. هنوز چیزی نوشته نمی‌شود.
  2. پیش‌نمایش را بررسی کنید. طرح‌ها و مشترکینی را که ساخته می‌شوند فهرست می‌کند، دربارهٔ هر چیزی که ناچار به نادیده گرفتن یا اصلاح آن شده هشدار می‌دهد، و پیش از تأیید شما مجموع را با مجوزتان می‌سنجد.
  3. انتخاب کنید با نام‌های کاربری موجود چه شود در SAMM — از آن‌ها بگذرید و رکورد SAMM را نگه دارید، یا نام و اطلاعات تماس آن را از سامانهٔ قدیمی به‌روزرسانی کنید.
  4. درون‌بری کنید. هر سطر مستقل نوشته می‌شود، بنابراین یک سطر معیوب هرگز بقیه را برنمی‌گرداند.

چه چیزی منتقل می‌شود

  • طرح‌ها — نام، سرعت‌ها، قیمت، مدت و سهمیهٔ ترافیک، تا جایی که سامانهٔ قدیمی آن‌ها را ثبت کرده باشد.
  • مشترکین — نام کاربری، رمز عبور سرویس، نام، اطلاعات تماس، تاریخ انقضا، طرح، IP ثابت و MAC.
  • مشترکینی که در سامانهٔ قدیمی غیرفعال بوده‌اند غیرفعال می‌مانند.

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

مقادیری که با ستون خود همخوانی ندارند

پایگاه‌های دادهٔ واقعی نامرتب‌اند: نشانی‌ای که در کادر ایمیل تایپ شده، یادداشتی در فیلد موبایل، شماره تلفنی که با صفحه‌کلید عربی نوشته شده. SAMM هر مقدار را در برابر آنچه ستونش باید نگه دارد بررسی می‌کند. هر چه جا نیفتد بیرون از آن فیلد می‌ماند و به‌جای آن در یادداشت‌های مدیریتی مشترک ذخیره می‌شود، با برچسب منشأ آن — بنابراین چیزی از دست نمی‌رود و هیچ فیلدی آلوده نمی‌شود. پیش‌نمایش به شما می‌گوید چند مقدار تحت تأثیر قرار گرفته است.

Pro Radius به‌تفصیل

Pro Radius مشترکین را صادر می‌کند اما طرح‌ها را نه، بنابراین SAMM طرح‌ها را از سطح سرویس هر مشترک استخراج می‌کند و سرعت را از نام آن می‌گیرد (سرویسی به نام "4MBPS" به طرحی ۴ مگابیتی تبدیل می‌شود). سه چیز به‌سادگی در آن فایل نیستند و روی مقادیر پیش‌فرض معقولی تنظیم می‌شوند که باید بعداً بازبینی کنید:

  • مدت — روی ۱ ماه تنظیم می‌شود. تاریخ انقضای واقعی هر مشترک بدون تغییر درون‌بری می‌شود، بنابراین این تنها بر تمدیدهای آینده اثر می‌گذارد.
  • سرعت بارگذاری — برابر با سرعت دریافت تنظیم می‌شود.
  • قیمت — روی ۰ تنظیم می‌شود.
پیش از صدور فاکتور طرح‌ها را بازبینی کنید پس از یک درون‌بری Pro Radius، طرح‌ها را باز کنید و قیمت و دورهٔ واقعی هر یک را تعیین کنید. تا آن زمان، آن طرح‌ها با صفر صورت‌حساب می‌شوند.

خوب است بدانید

  • می‌توانید با خیال راحت بیش از یک بار اجرا کنید. درون‌بری دوبارهٔ همان فایل، همهٔ کسانی را که از پیش موجودند نادیده می‌گیرد و تکراری نمی‌سازد.
  • مجوز شما همچنان اعمال می‌شود. اگر فایل بیش از تعدادی که ردهٔ شما اجازه می‌دهد مشترک داشته باشد، پیش‌نمایش از همان ابتدا این را می‌گوید و تعدادی را که جا می‌شود اعلام می‌کند — می‌توانید ارتقا دهید یا مجموعه‌ای جزئی را درون‌بری کنید.
  • ابتدا یک پشتیبان بگیرید اگر در نصبی درون‌بری می‌کنید که از پیش دادهٔ واقعی دارد.

مشترکان و طرح‌ها

طرح‌ها و محدودیت‌ها

یک پلن تعریف سرویسی است که به مشترکان اختصاص می‌یابد — سرعت، محدودیت‌ها و قیمت را تعیین می‌کند. پیش از افزودن کاربران، پلن‌ها را ایجاد کنید.

نصب تازه با ۹ طرح آماده ارائه می‌شود — هشت رده سرعت ماهانه به‌علاوه طرح محدودکننده «Expired» — می‌توانید فورا بفروشید یا طرح خودتان را بسازید. مقداردهی فقط در نصب اول اجرا می‌شود و هرگز طرح‌های شما را بازنویسی نمی‌کند.

ایجاد یک پلن

  1. به Users → Plans بروید.
  2. روی New plan کلیک کنید.
  3. فرم را پر کنید و روی Save plan کلیک کنید.

هر محدودیت یک کلید دوحالته است — فقط مواردی را که نیاز دارید فعال کنید. همان پنجره، یک پلن موجود را ویرایش می‌کند (منوی ⋮ ردیف → Edit را باز کنید).

فیلدهای پلن

فیلدمعنا
نامنام یکتای پلن، مثلاً Home-50M
قیمتهنگام استفاده از صدور فاکتور، در هر دوره صورت‌حساب دریافت می‌شود
سرعت دانلود / آپلودمثلاً 50M، 512K، 1G — به‌عنوان محدودیت نرخ MikroTik اعمال می‌شود
نشست‌های هم‌زمانچند دستگاه می‌توانند هم‌زمان در این طرح آنلاین باشند. مقدار پیش‌فرض 1 است — تا زمانی که نشست اول متصل باشد ورود دوم رد می‌شود. برای نامحدود 0 بگذارید. نشستی که گزارش‌دهی را متوقف کرده نادیده گرفته می‌شود، بنابراین قطع اتصال هرگز مشترک را محروم نمی‌کند
محدودیت: انقضااشتراک، یک دوره ثابت پس از فعال‌سازی پایان می‌یابد (روز/ماه/ساعت/دقیقه)
محدودیت: سهمیهیک سقف داده کل (ترکیبی، فقط دانلود، یا فقط آپلود) برای کل اشتراک
محدودیت: زمان اتصالسقفی بر زمان اتصال تجمعی — مجموع مدت همه نشست‌ها
محدودیت: مصرف روزانهیک سقف داده که هر روز در زمان بازنشانی روزانه پیکربندی‌شده صفر می‌شود
پنجره نامحدودافزودن سریع یک پنجره سرعت — ویرایشگر کامل در صفحه Speed Windows پلن قرار دارد
استخر IPنام اختیاری RADIUS Framed-Pool برای تخصیص آدرس
تمدید خودکاربه‌جای تعویض پلن یا قطع اتصال، در زمان انقضا یک دوره تازه شروع کن

چهار محدودیت

هر محدودیت مستقل و اختیاری است. وقتی چند محدودیت تنظیم شده باشند، SAMM آنها را با ترتیب ثابت — انقضا → سهمیه → زمان اتصال → روزانه — بررسی می‌کند و اولین موردی که به پایان برسد، اقدام را تعیین می‌کند.

محدودیتپیگیری می‌کندهنگام اتمام
انقضازمان تقویمی از زمان فعال‌سازیتعویض به یک پلن دیگر، یا قطع اتصال
سهمیهکل بایت‌های مصرف‌شدهتعویض به یک پلن دیگر، یا قطع اتصال
زمان اتصالثانیه‌های تجمعی نشستتعویض به یک پلن دیگر، یا قطع اتصال
روزانهبایت‌ها از آخرین بازنشانی روزانهکاهش سرعت — به سرعت‌هایی که وارد می‌کنید یا با طرح کندتر — تا بازنشانی روزانه بعدی

برای هر محدودیت انتخاب می‌کنید هنگام اتمام چه شود: یک طرح بعدی برای انتقال مشترک برگزینید یا روی — قطع اتصال — بگذارید. محدودیت روزانه به‌جای قطع، سرعت را کم می‌کند: به‌طور پیش‌فرض سرعت‌ها را مستقیم وارد می‌کنید (فیلدهای دانلود/آپلود) یا طرح «بعدی» کندتری انتخاب می‌کنید — در هر دو حالت مشترک در بازنشانی روزانه بعدی خودکار به طرح اصلی برمی‌گردد.

پنجره‌های سرعت

یک پنجره سرعت سرعت پایه پلن را برای ساعات معینی بازنویسی می‌کند — برای مثال یک پنجره سرعت نامحدود پس از نیمه‌شب. روی یک ردیف پلن کلیک کنید تا ویرایشگر Speed Windows آن باز شود، که کنترل روز هفته را اضافه می‌کند و از پنجره‌هایی که از نیمه‌شب عبور می‌کنند پشتیبانی می‌کند. وقتی چند پنجره مطابقت داشته باشند، پرسرعت‌ترین پنجره برنده می‌شود.

توجه مشترکان کاهش‌سرعت‌یافته یا با محدودیت به‌اتمام‌رسیده از پنجره‌های سرعت مستثنا هستند — SAMM هرگز تا زمانی که یک محدودیت اعمال است، سرعت را بالا نمی‌برد.

دو مفهوم از مصرف

SAMM مصرف را در دو جا نگه می‌دارد و هرگز آنها را با هم اشتباه نمی‌گیرد:

  • شمارنده‌های قابل بازنشانی — وضعیت به‌ازای هر محدودیت. با یک بازنشانی مدیر و با بازنشانی روزانه صفر می‌شوند.
  • شمارنده‌های صورت‌حساب — مجموع‌های مادام‌العمر غیرقابل بازنشانی. هرگز صفر نمی‌شوند، بنابراین گزارش‌ها و فاکتورها دقیق می‌مانند.

مدیریت پلن‌ها

فهرست پلن‌ها سرعت هر پلن، تعداد مشترکان، محدودیت‌های فعال و پنجره‌های سرعت را نشان می‌دهد. از منوی ⋮ یک ردیف می‌توانید آن را ویرایش کنید، پنجره‌های سرعتش را باز کنید، فعال/غیرفعال کنید، به مشترکانش بروید، یا آن را حذف کنید (فقط زمانی که مشترکی ندارد). ویرایش تمدید خودکار پیشنهاد می‌دهد که تغییر را به همه مشترکان فعلی گسترش دهد.

تکراری یک طرح را دقیقاً کپی می‌کند — سرعت، محدودیت، پنجره‌های سرعت و قیمت - تحت یک نام جدید، که بسیار سریعتر از بازسازی تعرفه دستی برای تغییر آن است شماره اگر نامی که می‌دهید قبلاً گرفته شده باشد، از شماره رایگان بعدی استفاده می‌شود.

مشترکان و طرح‌ها

مشترکان

یک مشترک (مشتری / کاربر) یک حساب PPPoE یا Hotspot است که در برابر SAMM احراز هویت می‌شود. به هر مشترک دقیقاً یک پلن اختصاص می‌یابد.

ایجاد یک مشترک

  1. به Users بروید و روی New customer کلیک کنید.
  2. فرم را کامل کنید و ذخیره کنید — مشترک می‌تواند بلافاصله متصل شود.
فیلدمعنا
نام کاربری *نام ورود PPPoE / Hotspot — باید یکتا باشد
رمز عبور *رمز عبور ورود (برای احراز هویت PAP/CHAP در RADIUS ذخیره می‌شود)
نام / نام خانوادگینام مشترک
موبایل / ایمیل / آدرسجزئیات تماس — برای اعلان‌ها و فاکتورها استفاده می‌شود
طرح *پلن سرویسی که باید اختصاص یابد
بازنویسی انقضاتاریخ انقضای دستی اختیاری به‌جای تاریخ محاسبه‌شده پلن
تمدید خودکاردوره پلن را به‌طور خودکار در زمان انقضا تمدید کن

مشترکین زیادی را همزمان ایجاد کنید

کاربران دسته‌ای جدید تعداد حساب‌های شماره‌دار را در یک پاس ایجاد می‌کنند — روش معمول برای تحویل بلوک ورود به یک دهکده، یک هتل، یا یک فروشنده. انتخاب کنید که از چه تعداد، چه عددی شروع شود، و با چه تعداد رقمی وارد شود (3 می دهد 001 , 002 , …); همه چیز دیگر - برنامه ریزی، انقضا، تمدید خودکار - است یک بار پر شد و برای همه آنها اعمال شد. آنها یک رمز عبور مشترک دارند.

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

فهرست مشترکان

صفحه Users هر مشترک را با یک نقطه وضعیت قابل مشاهده در یک نگاه، پلن اختصاص‌یافته و میزان باقی‌مانده از هر محدودیت فهرست می‌کند — مصرف روزانه با یک نوار پیشرفت، سهمیه باقی‌مانده، زمان اتصال باقی‌مانده و روزهای باقی‌مانده. بر اساس وضعیت (All / Active / Suspended / Expired / Online) فیلتر کنید یا بر اساس نام کاربری، نام یا موبایل جستجو کنید.

نشان تعویض پلن یک نشان تنها، پلن مشترک است. دو نشان که با یک فلش به هم پیوسته‌اند به این معناست که مشترک به محدودیت روزانه خود رسیده و به‌طور موقت روی یک پلن کاهش سرعت متوقف شده است — آنها در بازنشانی روزانه بعدی به پلن اصلی بازمی‌گردند.

مدیریت یک مشترک

روی یک ردیف راست‌کلیک کنید — یا از منوی ⋮ استفاده کنید — برای هر اقدام به‌ازای هر مشترک:

عملیاتچه کاری انجام می‌دهد
مشاهده / ویرایشصفحه جزئیات را باز کن، یا جزئیات تماس، رمز عبور و انقضا را ویرایش کن
فعال / غیرفعالحساب را معلق کن — مشترکان آنلاین قطع می‌شوند
تمدید انقضامدت پلن را روی هر زمان باقی‌مانده اضافه کن؛ اگر پلن قیمت داشته باشد یک فاکتور تولید می‌کند
بازنشانی زمان اتصال / سهمیه / روزانهشمارنده محدودیت انتخاب‌شده را صفر کن
مصرفنمودارهای مصرف و تاریخچه نشست را باز کن
حذفمشترک و تمام تاریخچه او را حذف کن — نشست‌های فعال ابتدا قطع می‌شوند
چگونه اقدام‌ها اعمال می‌شوند بازنشانی‌ها، تغییرات پلن و تمدیدها در یک گزارش حسابرسی صف‌بندی و توسط تیک samm-radius اعمال می‌شوند — معمولاً ظرف چند ثانیه. اگر مشترک آنلاین باشد، SAMM یک بازخوانی زنده نیز ارسال می‌کند. به CoA و تغییرات زنده مراجعه کنید.

صفحه جزئیات می‌تواند رمز ورود مشترک را پشت دکمه چشم نشان دهد (با کپی تک‌کلیکی) — وقتی مشتری اطلاعاتش را می‌خواهد کاربردی است.

نمای مصرف

اقدام Usage یک صفحه ترافیک تفصیلی برای یک مشترک باز می‌کند، با یک انتخابگر دوره 7d / 14d / 30d / 90d. این صفحه سه رقم شاخص را گزارش می‌کند — ترافیک امروز (با تفکیک آپلود/دانلود و دقایق آنلاین)، ترافیک این ماه، و زمان آنلاین تجمعی برای ماه. زیر آنها یک نمودار ترافیک روزانه از آپلود در برابر دانلود، و یک جدول کامل تاریخچه نشست قرار دارد: زمان شروع و پایان، مدت، بایت‌های دانلود و آپلود، NAS، و علت پایان هر نشست.

عملیات دسته‌ای

برای تغییر مالک، انقضا، وضعیت یا تمدید خودکار برای بسیاری از مشترکان به‌طور همزمان — یا برای حذف تعداد زیاد — از ابزارهای تغییرات دسته‌ای و حذف دسته‌ای استفاده کنید. برای ایجاد مشترکان به‌صورت دسته‌ای از یک صفحه‌گسترده، از Export / Import استفاده کنید.

یک مشترک را به روترهای خاص محدود کنید

یک مشترک (یا کل گروه کارت) را می توان به NAS خاصی پین کرد روترهای از فرم ویرایش آن. بدون هیچ روتری انتخاب شده، حساب روی هیچ کدام کار می کند NAS; با انتخاب یک یا چند مورد، احراز هویت فقط از آن‌ها پذیرفته می‌شود روترها - اجباری با شکست در داخل خود RADIUS بسته می شود. با تغییر مجموعه، هر کدام قطع می شود جلسه زنده در روتر غیرمجاز بلافاصله. همراه با مدیریت By-NAS محدوده، اینگونه است که تنظیمات چند شعبه و حق رای، مشترکین هر شعبه را حفظ می کند روی روترهای آن شعبه

مشترکان و طرح‌ها

کارت‌های Hotspot

برای دسترسی Hotspot پیش‌پرداخت، به‌جای مشترکان جداگانه، یک دسته کارت ووچر تولید کنید. هر کارت یک جفت نام کاربری/رمز عبور با سرعت و محدودیت‌های خاص خود است، که به‌صورت هزارتایی تولید و برای توزیع چاپ می‌شود.

ایجاد یک گروه کارت

  1. به Users → Hotspot Cards بروید و روی New group کلیک کنید.
  2. فرم زیر را پر کنید و روی Create group کلیک کنید — SAMM اعتبارنامه‌های هر کارت را به‌طور خودکار تولید می‌کند.
بخشفیلدها
هویتنام یکتای گروه، توضیحات، پیشوند اختیاری نام کاربری، تعداد کارت‌هایی که باید تولید شوند (تا 10,000)
اعتبارنامه‌هاقالب نام کاربری و رمز عبور (اعداد / حروف / حروف و اعداد) و طول
محدودیت سرعتسرعت دانلود و آپلود — 256k، 6M، 1G؛ 0 = نامحدود
محدودیت انتقالنامحدود، سقف ترکیبی، یا سقف‌های جداگانه دانلود/آپلود (MB / GB / TB)
محدودیت زمان‌هاسقف زمان اتصال، انقضا پس از اولین ورود، و یک تاریخ اعتبار «معتبر تا» برای گروه

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

مدیریت گروه

منوی ⋮ گروه را باز کنید تا همه کارت‌ها را یکجا فعال یا غیرفعال کنید، تاریخ «معتبر تا» را تمدید کنید، کارت بیشتری به دسته بیفزایید یا مشخصاتش را ویرایش کنید. کارت‌های تکی را می‌توان از صفحه جزئیات بازنشانی (سهمیه، زمان یا انقضا) یا غیرفعال کرد.

گروه تکراری همه تنظیمات را دقیقاً کپی می کند و همان را ایجاد می کند تعداد کارت‌های دارای کدهای جدید — یک کد کارت فقط می‌تواند متعلق به یک کارت باشد، بنابراین یک کپی یک نسخه چاپی جدید است، نه شبیه سازی نسخه قدیمی. این راه سریع برای سفارش مجدد a است دسته کوپن که فروخته شد

وضعیت‌های کارت

وضعیتمعنا
استفاده‌نشدهتولید شده اما هرگز وارد نشده
فعالدر حال استفاده، در محدوده مجاز خود
به‌اتمام‌رسیدهبه یک محدودیت (سهمیه، زمان اتصال یا انقضا) رسیده است
غیرفعالبه‌صورت دستی غیرفعال شده

چاپ و پیگیری

یک گروه را باز کنید تا کارت‌های آن را ببینید، آنها را برای توزیع در یک PDF چاپ کنید (چیدمان چاپ از لوگوی ISP شما در Settings استفاده می‌کند)، و مصرف هر کارت را بررسی کنید. ترافیک کارت‌ها همچنین در گزارش‌ها زیر زبانه Cards ظاهر می‌شود، و هر گروه نمای حسابداری خاص خود را دارد.

مشترکان و طرح‌ها

سلف سرویس - مهمانان خودشان وارد سیستم می شوند

نقطه مقابل کوپن: هیچ کس چیزی و هیچ کس چاپ نمی کند پشت یک میز می ایستد یک بازدیدکننده به نقطه اتصال شما متصل می‌شود، روی ثبت نام ضربه می‌زند. در صفحه ورود به سیستم، نام و شماره تلفن همراه آنها را تایپ می کند و SAMM برای آنها a ارسال می کند رمز عبور از طریق پیامک، WhatsApp یا ایمیل. آن را در همان صفحه وارد می کنند و هستند آنلاین - و شما یک رکورد با نام و قابل صادرات از همه کسانی که از مهمان استفاده کرده اند نگه می دارید شبکه

مکان‌های معمولی: رستوران‌ها و کافه‌ها، هتل‌ها و مهمان‌خانه‌ها، نمایشگاه ها و نمایشگاه ها، کنفرانس ها، مراکز خرید، کلینیک ها و اتاق های انتظار، سالن های ورزشی، فضاهای کار مشترک، سالن ها، سالن های فرودگاه، استادیوم ها، پردیس ها، کتابخانه ها، نمایشگاه های اتومبیل، مکان های عروسی، استراحتگاه ها و کمپینگ ها.

روشن کردن آن

  1. ابتدا یک کانال تحویل تنظیم کنید. مرکز اطلاع رسانی → فعال کردن پیامک یا WhatsApp و برای خود یک پیام آزمایشی ارسال کنید تا زمانی که یک کانال کار نکند هیچ چیز دیگری کار نمی کند.
  2. خود سرویس → تنظیمات : علامت بزنید به مهمانان اجازه دهید خودشان را ثبت کنند ، انتخاب کنید کدام کانال را انتخاب کنید پیشنهاد دهید، و تعیین کنید چه مدت یک رمز عبور معتبر می ماند و یک مهمان چه مدت باید منتظر بماند قبل از درخواست دیگری
  3. گذرواژه‌های را از در Self Service بگذارید گروه کارت مگر اینکه دلیلی برای تغییر آن داشته باشید - این گروه سرعت را تعیین می کند و چند دستگاه ممکن است یک رمز عبور را به اشتراک بگذارند.
  4. برگه ثبت نام را برای هر طرح ورود به سیستمی که استفاده می کنید روشن کنید - زیر را ببینید. این مرحله ای است که مردم از دست می دهند.

صفحه ورود - مرحله ای که مردم از دست می دهند

برگه ثبت نام برای هر طراحی ورود به سیستم است و خاموش است به طور پیش فرض MikroTik مدیر → روتر → صفحه ورود را باز کنید، طرحی را که استفاده می‌کنید ویرایش کنید و Allow Self Service را علامت بزنید. می توانید بازنویسی کنید هر جمله ای که یک مهمان در همان صفحه می بیند - برچسب برگه ثبت نام، مقدمه خط، دو برچسب فیلد، دکمه، و پنج پاسخ («رمز عبور شما روشن است راهش است، «شما قبلاً یکی دارید»، «لطفا بعداً دوباره امتحان کنید»، «نتوانیم آن را ارسال کنیم»، "ثبت نام در دسترس نیست").

سپس Push را فشار دهید — و پس از هر ارتقاء SAMM دوباره آن را فشار دهید. صفحات ورود به سیستم هات اسپات روی حافظه فلش خود روتر ، در SAMM نیست. ارتقاء SAMM آنها را مجدداً فشار نمی دهد، بنابراین روتر به سرویس قبلی خود ادامه می دهد صفحه - بدون برگه ثبت روی آن - تا زمانی که دوباره فشار دهید. SAMM در ورود به سیستم به شما هشدار می دهد وقتی روتر صفحات قدیمی‌تر از نسخه نصب شده شما را ارائه می‌کند، برگه صفحه و صفحه Self Service هر روتری را که نمی تواند برگه را نشان دهد نام می برد و پیشنهاد می کند آنها را تعمیر کند همه به یکباره

قوانینی که جلوی سوء استفاده را می گیرد

  • یک رمز عبور زنده برای هر شماره. درخواست مجدد در حالی که a کد هنوز معتبر است به مهمان می گوید به جای ارسال پیام های خود را بررسی کند دیگری
  • سپس یک دوره انتظار که قبل از آن شماره تنظیم کرده اید می تواند یک مورد جدید درخواست کند.
  • اعتبار از لحظه ارسال رمز عبور محاسبه می شود نه از اولین ورود - بنابراین کدی که برای یک هفته بدون استفاده می ماند، هنوز هم نمی ماند کار کردن
  • سقف روزانه تعیین شده توسط مجوز شما (به زیر مراجعه کنید). یک بار تمام شده است، از مهمانان خواسته می شود بعداً دوباره امتحان کنند و رمز عبور قبلاً صادر شده است به کار خود ادامه دهید
  • هر تلاشی در برابر آدرس MAC دستگاه به عنوان نشانی ثبت می شود روتر آن را گزارش کرد — که یک مهمان نمی تواند آن را از مرورگر خود جعل کند.

مجوز

سلف سرویس دارای مجوز است جدا از طرح شما ، با تعداد رمز عبور در روز نصب می شود\n ممکن است صادر شود، و در تاریخ خود تمدید می شود - بنابراین می توانید با یک افزونه پولی رایگان باشید،\n یا در Pro Max با هیچ کدام. هر نصب 10 در روز بدون هزینه دریافت می کند .\n Light آن را به 50، Heavy را به 200 افزایش می دهد و Max محدودیت را حذف می کند. ببینید قیمت گذاری .

صفحه Self Service استفاده شده / مجاز را برای امروز و وقتی کمک هزینه تمام شد به صراحت می گوید. خرید یا تمدید از داشبورد خود را در securytik.com، یا از سیستم → مجوز و الف بپرسید مدیر SecuryTik آن را تأیید می کند. رمز عبوری که تحویل داده نمی شود تمام نمی شود کمک هزینه شما

شبکه و روترها

روترها (NAS)

یک NAS (Network Access Server) روتری است که مشترکان را در برابر SAMM از طریق RADIUS احراز هویت می‌کند. هر روتری که ترافیک مشترک را حمل می‌کند به یک رکورد NAS نیاز دارد.

افزودن یک روتر

  1. به MikroTik → NAS بروید و روی Add Router کلیک کنید.
  2. فیلدهای زیر را پر کنید و ذخیره کنید.
فیلدمعنا
IP / نام میزبان NASآدرس روتر، آن‌گونه که میزبان SAMM آن را می‌بیند
نام کوتاهیک برچسب کاربرپسند که در سراسر رابط کاربری نمایش داده می‌شود
نوعmikrotik همگام‌سازی زنده دستگاه و ارسال پیکربندی را باز می‌کند؛ انواع دیگر فقط RADIUS هستند
رمزرمز مشترک RADIUS — باید دقیقاً با روتر مطابقت داشته باشد، وگرنه احراز هویت شکست می‌خورد
پورت CoAپورت UDP که SAMM بسته‌های Change-of-Authorization را به آن ارسال می‌کند (پیش‌فرض MikroTik 3799)
پورت / کاربر / رمز عبور APIاعتبارنامه‌های API در MikroTik که SAMM برای خواندن اطلاعات دستگاه و ارسال پیکربندی استفاده می‌کند
به راه‌اندازی مجدد نیازی نیست SAMM کلاینت‌های NAS را به‌صورت پویا از پایگاه داده تشخیص می‌دهد — افزودن یا حذف یک روتر هرگز به راه‌اندازی مجدد FreeRADIUS نیاز ندارد.

فهرست NAS

هر روتر در یک جدول نمایش داده می‌شود — ID، IP / نام میزبان NAS، نام کوتاه، نوع، یک رمز ماسک‌شده (برای آشکار کردن آن روی سلول کلیک کنید)، پورت‌های CoA و API، و یک نتیجه ping زنده با زمان رفت‌وبرگشت. کادر جستجو بر اساس IP، نام کوتاه یا توضیحات فیلتر می‌کند.

منوی ⋮ هر ردیف اقدام‌های به‌ازای هر روتر را در بر دارد — View Device و Refresh Info (فقط MikroTik)، Edit، Push RADIUS config (فقط MikroTik)، و Delete. باز کردن یک ردیف از نوع mikrotik مستقیماً به صفحه دستگاه آن می‌رود.

کشف همسایه‌ها

روی Discover neighbors کلیک کنید تا شبکه برای دستگاه‌های MikroTik اسکن شود (با پروتکل کشف همسایه MikroTik) و بدون تایپ هر نشانی به‌عنوان رکورد NAS اضافه شوند. روتر کشف‌شده را می‌توان با IP اضافه کرد یا افزودن خودکار — راه‌اندازی تک‌کلیکی که کاربر مدیریتی SAMM را روی روتر می‌سازد، IP مدیریتی می‌فرستد و بریج کارخانه را حذف می‌کند.

افزودن خودکار برای روترهای تازه است راه‌اندازی تک‌کلیکی برای دستگاه‌های تازه از کارخانه (یا ریست‌شده) است — روی روتری که پیکربندی دارد ممکن است تنظیمات موجود را بازنویسی یا خراب کند.

ارسال پیکربندی RADIUS به روتر

برای رکوردهای NAS از نوع MikroTik، منوی ⋮ ردیف گزینه Push RADIUS config را ارائه می‌دهد — 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 حسابداری را حدود ۵ دقیقه بگذارید (پیش‌فرض ویزارد SAMM) — با این تناوب SAMM مصرف را جمع و محدودیت‌ها را ارزیابی می‌کند؛ بازه‌های کوتاه‌تر تاخیر محدودیت را کم اما ترافیک حسابداری را زیاد می‌کنند.

دستگاه‌های فقط پایش

روتری که به‌عنوان monitor اضافه شده در موجودی MikroTik ظاهر می‌شود و ping و همگام‌سازی می‌شود، اما هیچ نقش RADIUS ندارد — نمی‌تواند مشترکان را احراز هویت کند. از آن برای زیر نظر داشتن روترهایی که NAS مشترک نیستند استفاده کنید.

شبکه و روترها

مدیر MikroTik

وقتی یک روتر اعتبارنامه‌های API دارد، SAMM آن را مستقیماً از طریق API در MikroTik مدیریت می‌کند — بدون WinBox، بدون SSH. بخش MikroTik یک موجودی زنده از هر روتر است، و هر دستگاه یک صفحه جزئیات با پانزده زبانه باز می‌کند که تقریباً هر بخش از RouterOS را از مرورگر شما پیکربندی می‌کنند.

پایشگر MikroTik

MikroTik → Monitor برای هر روتر یک کارت نشان می‌دهد، که به‌صورت شبکه‌ای چیده شده است. هر کارت — که توسط samm-worker بازخوانی و هر 30 ثانیه به‌صورت زنده پرس‌وجو می‌شود — نقطه دسترس‌پذیری، نسخه RouterOS، بار CPU و تعداد هسته، مصرف حافظه، تعداد نشست‌های فعال، زمان اتصال و زمان آخرین نمونه را گزارش می‌کند.

یک کارت یا با NAS برچسب می‌خورد (روتری که مشترکان را نیز از طریق RADIUS احراز هویت می‌کند) یا با monitor (دستگاهی که فقط برای پایش اضافه شده است). Add MikroTik یک دستگاه جدید ثبت می‌کند؛ Refresh now یک پرس‌وجوی فوری را اجبار می‌کند. کارت‌های فقط پایش یک منوی راست‌کلیک دارند — Open، Edit، Refresh Info، Delete.

صفحه دستگاه — پانزده زبانه

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

پایش

زبانهچه چیزی را نشان می‌دهد
نمای کلیاطلاعات دستگاه، اطلاعات سیستم، و نمودارهای تاریخچه عملکرد (CPU، حافظه، نشست‌ها در طول زمان)
منفذهاهر منفذ با وضعیت زنده آن، به‌همراه تاریخچه ترافیک به‌ازای هر منفذ
وب‌سایت‌ها و برنامه‌هاسه نمای فرعی: Monitor (سایت‌ها و برنامه‌های دیده‌شده روی روتر با تاریخچه ترافیک)، QoS (اولویت مبتنی بر برنامه، در ادامه) و App Filter (مسدودسازی محتوا مبتنی بر DNS از کاتالوگ)

مدیر

زبانه Manager → General صفحه نگهداری دستگاه است: Identity (نام روتر)، Time (ساعت، منطقه زمانی و NTP)، و Tools (ریبوت، ping و دیگر اقدام‌های تک‌کلیکی روتر).

پیکربندی شبکه

زبانهچه چیزی را پیکربندی می‌کنید
Bridgeپل‌های LAN ایجاد کنید و انتخاب کنید کدام منفذهای فیزیکی (پورت‌ها) به هر کدام تعلق دارند
VLANمنفذهای VLAN را اضافه و مدیریت کنید
IPسه زیرزبانه — Static (آدرس‌های ثابت و پویا)، DHCP client (دریافت یک آدرس از بالادست)، DHCP server (توزیع آدرس‌ها، با یک جدول اجاره زنده)
DNSوب‌سایت‌ها و برنامه‌ها
WiFi / CAPsMANمنفذهای Wi-Fi با پیکربندی‌ها و پروفایل‌های امنیتی آنها؛ و کنترلر CAPsMAN — پیکربندی‌ها، قوانین تدارک و CAPهای راه دور

سرویس‌ها و نگهداری

زبانهچه چیزی را پیکربندی می‌کنید
PPPoEسرورهای PPPoE، پروفایل‌های PPP، استخرهای IP، و فاصله interim-update حسابداری RADIUS
Hotspotسرورهای Hotspot، پروفایل‌های hotspot و پروفایل‌های کاربر، استخرهای DHCP/IP، و صفحه ورود captive-portal
اینترنتاتصالات بالادست WAN — WANهای مدیریت‌شده توسط SAMM و مسیرهای پیش‌فرض، به‌همراه هر WAN موجود غیر SAMM که فقط‌خواندنی نمایش داده می‌شود
Firewallقواعد فیلتر، تحلیل امنیتی روتر، اتصال و مقصدها، ماژول‌های امنیتی و پشتیبان فایروال — Auto-Security پیش از اعمال، عکس فوری می‌گیرد و می‌تواند بازگشت خودکار زمان‌دار فعال کند تا قواعدی که شما را بیرون انداخت خودکار برگردد
به‌روزرسانیبه‌روزرسانی‌های RouterOS — یک کانال به‌روزرسانی انتخاب کنید، بررسی و اعمال کنید، و بسته‌های نصب‌شده را مرور کنید
جادوگرراه‌اندازی هدایت‌شده بار اول، در ادامه

فاصله interim-update در PPPoE

در زبانه PPPoE، Interim update تعیین می‌کند که روتر چند وقت یک‌بار بسته‌های Interim-Update حسابداری RADIUS را به SAMM ارسال می‌کند. SAMM از آن بسته‌ها برای جمع کردن شمارنده‌های بایت و زمان اتصال و برای ارزیابی محدودیت‌های سهمیه، روزانه و زمان اتصال استفاده می‌کند — بدون آنها، اعمال محدودیت و شمارنده‌های نشست زنده متوقف می‌شوند. مقدار توصیه‌شده 5m است.

صفحه ورود Hotspot

از تب Hotspot صفحه ورود captive-portal را مدیریت می‌کنید: صفحه‌های پیش‌فرض MikroTik را نگه دارید، یکی از قالب‌های داخلی را اعمال کنید، یا یکی از طرح‌های ذخیره‌شده خود را به کار ببرید. SAMM شامل یک ویرایشگر طراحی بصری و یک گالری قالب است — یک صفحه ورود را سفارشی کنید و مستقیماً به hotspot روتر بفرستید.

QoS آگاه از برنامه

نمای QoS (یک برگه فرعی از وب‌سایت‌ها و برنامه‌ها) برنامه‌ها و سایت‌ها را تغییر می‌دهد. SAMM قبلاً روی روتر یک طرح اولویت دانلود را مشاهده می کند. هر برنامه را از استخر به داخل بکشید یکی از هشت اسلات اولویتی — اسلات 1 ابتدا تحت رقابت، شیار 8 ارائه می شود آخرین برنامه های باقی مانده در استخر شکل ندارند. به صورت اختیاری، سرعت دانلود هر برنامه را محدود کنید (مثلا 10M ) و سقف کل دانلود را برای اولویت برای رقابت تعیین کنید. توزیع خودکار بر اساس دسته همه چیز را با یک کلیک مرتب می کند — ابتدا پیام رسانی، سپس خدمات هوش مصنوعی و سپس فروشگاه ها، با هر چیز دیگری در زیر.

هنگام ارسال، SAMM جایگاه‌ها را در یک queue tree MikroTik (با برچسب SAMM:qos، parent=global) به همراه قواعد فایروال packet-mark متناظر، از بالاترین اولویت به بعد کامپایل می‌کند. این بر پایه همان کاتالوگ Websites & App filter ساخته شده که مانیتورینگ را نیرو می‌دهد، بنابراین فقط برنامه‌هایی که واقعاً روی روتر دیده شده‌اند ظاهر می‌شوند — و حذف SAMM QoS هر شیء SAMM:qos را از روتر پاک می‌کند و شمارنده‌های شما را دست‌نخورده باقی می‌گذارد.

دستیار راه‌اندازی

زبانه ویزارد همه چیز را در ده گام کوتاه جمع می‌کند و در پایان کل پیکربندی را یکجا به روتر می‌فرستد. تا در گام بازبینی نهایی تایید نکنید چیزی ارسال نمی‌شود.

  1. خوش‌آمد و شناسایی — SAMM روتر را بررسی می‌کند و نشان می‌دهد چه چیزی از پیش پیکربندی شده است، تا بتوانید آن موارد را در ارسال رد کنید.
  2. واسط bridge — نام bridge شبکه LAN را بگذارید.
  3. پورت‌های bridge — انتخاب کنید کدام واسط‌های فیزیکی به bridge بپیوندند.
  4. DNS — تعیین resolverهای بالادست (پیش‌تنظیم‌های یک‌کلیکی برای Google، Cloudflare، Quad9 و بیشتر)، اندازه cache و به‌صورت اختیاری یک فیلتر محتوای DNS.
  5. NTP — منبع ساعت روتر را تنظیم کنید (کلاینت NTP و در صورت تمایل سرو زمان به LAN).
  6. اینترنت — یک یا چند لینک بالادست WAN اضافه کنید (Static / DHCP / PPPoE).
  7. RADIUS به SAMM — روتر را برای احراز هویت، حسابداری و CoA به میزبان SAMM خود نشانه بروید.
  8. خدمات — انتخاب کنید که آیا جادوگر یک سرور PPPoE ایجاد کند یا خیر سرور Hotspot یا یک سرویس IPoE/DHCP و به صورت اختیاری روشن کنید دو پشته IPv6 (انتخاب، غیرفعال به طور پیش‌فرض): واگذار شده را انتخاب کنید (DHCPv6-PD) طول پیشوند و IPv6 بلوک می کند و جادوگر استخرها را می سازد و آنها را به پروفایل PPP
  9. جزئیات PPPoE / Hotspot و فایروال — پول‌ها، پروفایل‌ها، زمان اجاره، قواعد فایروال و NAT، به‌علاوه پول منقضی و مسدودسازی اینترنت اختیاری که مشترکین منقضی را به صفحه «اشتراک منقضی شد» SAMM هدایت می‌کند نه یک اتصال مرده.
  10. بازبینی و ارسال — فهرست دقیق فرمان‌هایی را که ارسال خواهند شد ببینید، سپس همه را به روتر بفرستید.
سرعت هر کاربر از RADIUS می‌آید wizard یک پروفایل واحد PPPoE / hotspot می‌سازد — پروفایل‌های جداگانه برای هر تیر ارسال نمی‌کند. سرعت هر مشترک هنگام ورود توسط SAMM در پاسخ RADIUS تحویل داده می‌شود، بنابراین تغییر طرح‌ها هرگز نیازمند ویرایش روتر نیست.

شبکه و روترها

CoA و تغییرات زنده

CoA (Change-of-Authorization) روشی است که SAMM با آن نشست یک مشترک را هنگامی که آنلاین است تغییر می‌دهد — برای افزایش یا کاهش سرعت، یا قطع اتصال او — بدون آنکه منتظر اتصال دوباره او بماند.

چگونه یک تغییر به یک مشترک فعال می‌رسد

SAMM هرگز تغییری را مستقیماً با یک کلیک دکمه به روتر نمی‌فرستد. هر اقدام مدیر یک مسیر ایمن را دنبال می‌کند:

اقدام مدیر گزارش حسابرسی tick سرویس samm-radius صندوق خروجی CoA روتر
  1. اقدام به‌عنوان یک فرمان در صف در audit log ثبت می‌شود.
  2. سرویس samm-radius در tick بعدی خود صف را تخلیه می‌کند، تغییر را اعمال می‌کند و — اگر مشترک آنلاین باشد — یک CoA را به صف می‌افزاید.
  3. صندوق خروجی CoA تخلیه می‌شود و بسته به روتر ارسال می‌گردد.

رویدادهای زمان‌محور — انقضا، لبه‌های پنجره سرعت، بازنشانی‌های روزانه — به همان صندوق خروجی تغذیه می‌شوند. کران بالای تأخیر یک tick سرویس samm-radius است (به‌طور پیش‌فرض ۳۰ ثانیه؛ برای اعمال سخت‌گیرانه‌تر آن را در تنظیمات کاهش دهید).

CoA ترکیبی

SAMM ابتدا یک CoA-Update می‌فرستد تا نشست را در جا تغییر دهد. اگر روتر پس از تعداد تلاش‌های پیکربندی‌شده آن را رد کند، SAMM به‌طور خودکار به یک Disconnect-Request بازمی‌گردد — مشترک دوباره متصل می‌شود و تنظیمات جدید را دریافت می‌کند. این راهبرد ترکیبی در همه نسخه‌های firmware مربوط به MikroTik کار می‌کند.

صفحه صندوق خروجی CoA

Users → CoA Outbox نمای زنده آن صف است. samm-radius تنها فرستنده است — پنل مدیریت هرگز مستقیماً یک CoA نمی‌فرستد — و در هر tick صف را تخلیه می‌کند. صفحه هر 30 ثانیه به‌طور خودکار تازه می‌شود.

شش شمارنده در بالای صفحه قرار دارند — Pending، Sent، NACK (در حال تلاش دوباره)، Done، Failed و Total. جدول را بر اساس وضعیت، بر اساس اقدام (update یا disconnect) فیلتر کنید، یا بر اساس نام کاربری، IP مربوط به NAS یا دلیل جستجو کنید.

وضعیتمعنا
در انتظاردر صف، در انتظار tick بعدی samm-radius
ارسال‌شدهارسال شد (گذرا — ارسال و نتیجه‌اش در همان تیک ثبت می‌شوند و ردیف‌ها به‌ندرت در این حالت می‌مانند)
nackروتر CoA-Update را رد کرد — SAMM در حال تلاش دوباره است، سپس به یک disconnect بازمی‌گردد
انجام‌شدهبا موفقیت اعمال شد
ناموفقپس از رسیدن به حد تلاش دوباره منصرف شد — برای دیدن آخرین خطا نشانگر را روی نشان نگه دارید

هر ردیف کاربر، روتر، اقدام، تعداد تلاش، دلیل و زمان‌های ایجاد و ارسال را نشان می‌دهد. اقدام‌های هر ردیف به شما اجازه می‌دهند یک بسته ناموفق یا nack‌شده را Retry کنید، بسته‌ای را که هنوز در حال ارسال است Cancel کنید، یا Attributes را باز کنید تا صفت‌های دقیق RADIUS که بسته حمل می‌کند را بررسی کنید. نشان نوار کناری ردیف‌های در انتظار را می‌شمارد؛ Dashboard خطاهای ۲۴ ساعت را دنبال می‌کند. یک سیستم سالم این صف را نزدیک به خالی نگه می‌دارد.

درو کهنه نشسته

اگر روتر از کار بیفتد یا اتصال خود را از دست بدهد، بسته های Accounting-Stop آن ممکن است از بین بروند - و در بسیاری از سیستم ها، این مشترکین برای همیشه "آنلاین" می مانند. SAMM جارو برای جلسات که ارسال موقت به روز رسانی را متوقف کرده و آنها را به طور خودکار می بندد (خاتمه باعث Reaped-Stale )، بنابراین لیست جلسات زنده، استفاده همزمان شمارش می شود و ارقام استفاده درست می مانند. مهلت زمانی stale_session_timeout_seconds است تنظیم (پیش‌فرض 900 ثانیه = 15 دقیقه؛ 0 را برای غیرفعال کردن تنظیم کنید)، و به صورت زنده اعمال می‌شود - خیر نیاز به راه اندازی مجدد

عملیات روزانه

Dashboard و نشست‌های زنده

دو صفحه زیر Overview جایی است که هر شیفت را از آن آغاز می‌کنید — Dashboard برای سلامت کل سیستم و Live Sessions برای اینکه دقیقاً چه کسی هم‌اکنون متصل است.

داشبورد

Overview → Dashboard صفحه خانه اپراتور است. یک انتخابگر بازه در بالا — Today، 7d، 14d، 30d، 90d — پنجره نمودار روند و ارقام محدود به تاریخ را تعیین می‌کند.

شش کاشی KPI

هر کاشی یک شمارنده زنده و یک میان‌بر است — روی آن کلیک کنید تا مستقیماً به فهرست فیلترشده پشت آن عدد بروید.

کاشینمایش می‌دهدباز می‌کند
هم‌اکنون آنلاینمشترکانی که هم‌اکنون یک نشست زنده RADIUS دارندکاربران فیلترشده به Online
مشترکان فعالحساب‌های فعال، با تعداد کل مشترکان در زیر آنکاربران فیلترشده به Active
منقضی شدهمشترکانی که اشتراکشان منقضی شده و طرح بعدی برایشان تعیین نشده استکاربران فیلترشده به Expired
تیکت‌های بازتیکت‌های پشتیبانی حل‌نشده (بدون انجام‌شده و بسته)کاربران ← تیکت‌های پشتیبانی
روترهاکل رکوردهای NAS، به علاوه تعداد مواردی که اکنون در دسترس نیستندمانیتور MikroTik
فاکتورهای پرداخت‌نشدهفاکتورهایی که هنوز نیازمند پیگیری پرداخت هستندفاکتورهای فیلترشده به Unpaid

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

یک نمودار خطی مبتنی بر عکس‌فوری روزانه سه سری را در سراسر بازه انتخاب‌شده رسم می‌کند — کاربران فعال، نشست‌های آنلاین و کاربران منقضی‌شده — تا رشد و ریزش در یک نگاه دیده شوند.

سلامت pipeline

این پنل ضربان موتور اعمال قوانین است. در یک سیستم سالم صف‌ها روی صفر یا نزدیک صفر قرار دارند — عددی که بالا می‌ماند به یک سرویس گیرکرده یا یک روتر که تغییرات را رد می‌کند اشاره دارد.

معیارمعنای آن
samm-radius صفCoAهای در انتظار که منتظر tick بعدی هستند — باید ظرف چند ثانیه پاک شوند
CoA ناموفق (۲۴ ساعت)در یک سیستم سالم صفر است؛ عدد غیرصفر یعنی یک روتر CoAها را رد می‌کند
audit log در انتظاراقدام‌های مدیر در صف که هنوز توسط samm-radius اعمال نشده‌اند
نشست‌های محدودشدهمشترکانی که اکنون به دلیل یک محدودیت با سرعت کاهش‌یافته نگه داشته شده‌اند — مورد انتظار است، نه یک خطا
عکس‌فوری نشست‌هاتعداد نشست‌های زنده — باید با Online now هم‌خوانی داشته باشد
طرح‌های فعالاندازه کاتالوگ طرح‌های شما
مسیر اعمال قوانین اقدام‌های مدیر در samm.audit_log به صف می‌روند؛ tick سرویس samm-radius آن‌ها را تخلیه می‌کند و CoAها را به samm.coa_outbox می‌فرستد. مسیر کامل در CoA و تغییرات زنده آمده است.

جدول‌های فعالیت اخیر

چهار جدول زیر نمودار نمایی پیوسته از آنچه به‌تازگی رخ داده ارائه می‌دهند، هرکدام با یک پیوند View all به صفحه کامل خود:

  • صندوق خروجی CoA اخیر — اقدام، کاربر، وضعیت (done / pending / nack / failed)، تعداد تلاش، دلیل و زمان.
  • اقدام‌های اخیر مدیر — اقدام، هدف، عاملی که آن را آغاز کرده، اینکه آیا هنوز اعمال شده است، و زمان.
  • مشترکان اخیر — جدیدترین حساب‌ها به همراه وضعیت و آخرین زمان احراز هویتشان.
  • روترها — هر NAS با یک نقطه سلامت reachable / unreachable / no-data.

نشست‌های زنده

Overview → Live Sessions هر مشترکی را که روترها اکنون از طریق حسابداری RADIUS آنلاین گزارش می‌کنند فهرست می‌کند. صفحه هر ۳۰ ثانیه به‌طور خودکار تازه می‌شود؛ یک دکمه Refresh دستی در سربرگ قرار دارد.

فیلتر کردن فهرست

  • Search — با نام کاربری، framed IP یا IP مربوط به NAS مطابقت می‌کند و همان‌طور که تایپ می‌کنید ارسال می‌شود.
  • Router — فهرست را به نشست‌های روی یک NAS واحد محدود کنید.
  • Only throttled — فقط مشترکانی را نشان بده که یک محدودیت آن‌ها را با سرعت کاهش‌یافته نگه داشته است.
  • Per page — ۲۰، ۵۰، ۱۰۰ یا ۲۰۰ ردیف.

هر ردیف چه چیزی نشان می‌دهد

ستونمعنا
کاربرنام کاربری — به صفحه جزئیات مشترک پیوند می‌دهد
Framed IPآدرسی که روتر به این نشست اختصاص داده است
روترنام کوتاه NAS و آدرس IP آن
طرحطرح فعلی مشترک
سرعت مؤثرسرعتی که هم‌اکنون روی روتر اعمال شده است — سرعت طرح که با هر پنجره سرعت فعال تنظیم شده است. یک نشان throttled به این معناست که یک محدودیت مشترک را با سرعت کاهش‌یافته نگه داشته است.
دانلود / آپلودشمارنده‌های زنده بایت برای نشست
آنلاینمدت‌زمانی که نشست فعال بوده است
آغازشدهزمانی که نشست آغاز شد

قطع کردن یک نشست

دکمه Disconnect روی یک ردیف پس از یک پیام تأیید، یک CoA-Disconnect را برای همان نشست دقیق (دلیل admin_manual) به صف می‌افزاید. مشترک بلافاصله قطع می‌شود؛ اگر حساب او هنوز فعال باشد آزاد است که دوباره متصل شود. بسته را در صندوق خروجی CoA دنبال کنید.

عملیات روزانه

گزارش‌ها و تحلیل‌ها

Overview → Reports نمای تحلیلی است — روندهای مشترکان، ترافیک در طول زمان و پرمصرف‌ترین کاربران و کارت‌های روی شبکه شما.

انتخاب بازه

هر رقم روی صفحه به یک بازه تاریخ مقید است. یک پیش‌تنظیم انتخاب کنید — 7d، 14d، 30d، 90d — یا تاریخ‌های صریح start و end را تایپ کرده و روی Apply کلیک کنید. هنگام اجرای یک پرس‌وجوی بازه‌بلند مانند 90d، یک پوشش بارگذاری روی صفحه قرار می‌گیرد.

روندهای مشترک و نشست

یک نمودار خطی با سه سری در سراسر بازه انتخاب‌شده: مشترکان Active، نشست‌های Online و مشترکان Expired. از آن برای شناسایی رشد، ریزش و ساعت‌های پرترافیک شبکه خود استفاده کنید.

ترافیک روزانه

یک نمودار میله‌ای انباشته از بایت‌های آپلود و دانلود در هر روز. نگه‌داشتن نشانگر روی یک روز، ارقام آپلود و دانلود به علاوه یک مجموع ترکیبی را در پاورقی tooltip نشان می‌دهد.

فهرست‌های ۱۰ مورد برتر

چهار جدول پرترافیک‌ترین حساب‌های شما را نمایان می‌کنند، هرکدام بر اساس حجم به GB رتبه‌بندی شده‌اند:

فهرسترتبه‌بندی می‌کند
۱۰ دانلود برتر امروزبزرگ‌ترین دانلود از آخرین بازنشانی روزانه
۱۰ آپلود برتر امروزبزرگ‌ترین آپلود از آخرین بازنشانی روزانه
۱۰ دانلود برتر ماهبزرگ‌ترین دانلود در این ماه تقویمی
۱۰ آپلود برتر ماهبزرگ‌ترین آپلود در این ماه تقویمی

ترافیک بر اساس موجودیت

یک جدول صفحه‌بندی‌شده و قابل‌جستجو از ترافیک هر حساب. دو تب آنچه را فهرست می‌کند تغییر می‌دهند:

  • Users — هر مشترک به همراه نام، طرح، آپلود/دانلود امروز به MB و آپلود/دانلود این ماه به GB.
  • Cards — هر کارت hotspot به همراه گروه، وضعیت و همان تفکیک ترافیک امروز / ماه.

کادر search همان‌طور که تایپ می‌کنید جدول را فیلتر می‌کند؛ انتخابگر per-page از ۲۰ تا ۲۰۰ ردیف را می‌پذیرد. هر ردیف به صفحه جزئیات آن مشترک یا کارت پیوند می‌دهد.

خروجی گرفتن Reports یک نمای تحلیلی روی صفحه است. برای ردیف‌های خام جهت پردازش در یک صفحه‌گسترده، از Tools → Export / Import استفاده کنید تا کاربران، طرح‌ها یا NAS را به‌صورت CSV / XLSX دانلود کنید.

عملیات روزانه

حسابداری و صورتحساب

SAMM یک سیستم کامل حسابداری دوطرفه درون‌ساخته دارد — فاکتورها، هزینه‌ها، رسیدها، پرداخت‌ها، فروشندگان واسط، دارایی‌های ثابت و صورت‌های مالی کامل. هیچ محصول صورت‌حساب جداگانه‌ای برای یکپارچه‌سازی نیاز نیست، و هیچ حسابداری برای مرتب نگه‌داشتن دفاتر لازم نیست.

شما هرگز با بدهکار و بستانکار سروکار ندارید هر اقدام — ثبت یک پرداخت، افزودن یک هزینه، فروش یک گروه کارت — به‌طور خودکار یک سند حسابداری متوازن در دفتر کل ثبت می‌کند. شما با اصطلاحات ساده کار می‌کنید (فاکتورها، هزینه‌ها، رسیدها)؛ SAMM دفاتر دوطرفه را در پشت‌صحنه نگه می‌دارد و توازن آن‌ها را در تراز آزمایشی اثبات می‌کند.

صفحه حسابداری در یازده زبانه سازمان‌دهی شده است.

نمای کلی

عکس‌فوری مالی. چهار رقم شاخص در بالا قرار دارند:

رقممعنا
موجودی نقدمانده کل در همه حساب‌های نقدی و بانکی
پولی که به شما بدهکارنددریافتنی‌ها — فاکتورهای پرداخت‌نشده مشتری و فروشنده واسط
پولی که شما بدهکاریدپرداختنی‌ها — هزینه‌های پرداخت‌نشده
سود این ماهدرآمد منهای هزینه‌ها برای ماه جاری

در زیر: یک جدول از هر حساب نقدی و بانکی به همراه مانده آن، و یک نمودار درآمد در برابر هزینه‌ها در ۱، ۲، ۳، ۶ یا ۱۲ ماه گذشته.

فاکتورها

فاکتور صورت‌حسابی است که شما صادر می‌کنید. روی New invoice کلیک کنید و پر کنید:

فیلدمعنا
مشتریجستجوی type-ahead برای حسابی که صورت‌حساب برایش صادر می‌شود
دسته درآمدفروش به کدام حساب درآمد ثبت می‌شود
تاریخ صدور / سررسیدتاریخ صدور خالی = امروز؛ تاریخ سررسید خالی = تاریخ صدور
نرخ مالیات ٪ / گروه مالیاتنرخ پیش‌فرض در تنظیمات → صورت‌حساب ؛ یک گروه مالیاتی را اختصاص دهید تا چندین نرخ (VAT/GST و بیشتر) را به طور همزمان اعمال کند، که هر کدام به حساب مالیاتی خود پست می‌شوند.
اقلام سطرییک یا چند ردیف شرح / تعداد / قیمت واحد — جمع جزء، مالیات و مجموع به‌صورت زنده محاسبه می‌شوند

چقدر باید شارژ شود - کامل، تقسیم‌بندی شده یا هیچ

هر جایی که SAMM در شرف صدور صورت‌حساب برای مشترک است - فعال کردن، تمدید، تغییر یک برنامه ریزی کنید، انقضا را تمدید کنید، یا هر یک از آن ها را به صورت عمده انجام دهید - به همین ترتیب انتخابگر صورت‌حساب ظاهر می‌شود، و پول را قبل از نشان می‌دهد:

انتخابآنچه را شارژ می کند
فاکتور کاملفقط دوره های کل طرح - یک دوره جزئی به یک دوره کامل می رسد.
فاکتور تقسیم بندی شدهزمان دقیق، رتبه بندی دوره آخر قسمت. مجموع به نزدیک‌ترین مقدار کل گرد می‌شود، با این تفاوت که به‌عنوان یک تنظیم گردی ارسال می‌شود تا کتاب‌ها همچنان تعادل داشته باشند.
فاکتور ندارهسرویس را تغییر دهید و هیچ هزینه ای دریافت نکنید - تمدید سرقفلی، مهاجرت، اصلاح.

طول را با ضریب دوره برای دوره های کل طرح تنظیم کنید، یا تاریخ دقیقی را تایپ کنید و اجازه دهید SAMM هزینه آن را تعیین کند. در هر صورت پانل نشان می دهد اقلام خط، مالیات و کل آن‌ها را تغییر می‌دهید، و پرداخت شده وجه نقد را ثبت می‌کند پرداخت کل مبلغ بلافاصله

"بدون فاکتور» یک حق است، نه یک چک باکس پرداخت هیچ چیز یک تصمیم مالی است، بنابراین با مجوز برای هر نقش در نظر گرفته شده است تنظیمات → مدیران . بیشترین اهمیت را با نمایندگان : نماینده ای که مشترکین آن به موجودی از پیش پرداخت شده خودشان صورت حساب می دهند در غیر این صورت می تواند تمدید، تغییر برنامه ها و تمدید انقضا در تمام طول روز بدون پرداخت هزینه آنها را نقش‌های جدید به سمت راست خاموش می‌شوند .

Dunning & کیف پول پیش پرداخت

فراتر از فاکتورهای یکباره، SAMM کل چرخه جمع آوری را خودکار می کند. الف برنامه دویدن یک روز قبض، یک روز سررسید و یک روز بلوک خودکار را تنظیم می‌کند — با هزینه تأخیر اختیاری - بنابراین به مشترکین عقب افتاده یادآوری می شود، سپس بدون شما قطع می شود تماشای صفحه گسترده حالت کیف پول پیش‌پرداخت به مشترکین اجازه می‌دهد تا a را نگه دارند موجودی که به طور خودکار فاکتورها را در هنگام تمدید تسویه می کند. آنها خود آن را از پورتال مشتریان با کارت یا رمز ارز، و هر پست شارژ و کسر به دفتر کل ارسال می شود.

فاکتورها همچنین هنگامی که طرح یک مشترک تمدید می‌شود به‌طور خودکار تولید می‌شوند (از طریق اقدام Renew Expiration کاربر یا با تمدید خودکار)، به شرطی که طرح دارای قیمت باشد. فهرست بر اساس وضعیت فیلتر می‌شود — unpaid، partial، due، paid — و بر اساس شماره فاکتور یا مشتری جستجو می‌شود. هر فاکتور را برای صفحه جزئیات و یک PDF قابل‌چاپ باز کنید؛ مشترکان می‌توانند نسخه‌های خود را از پرتال مشتری و ربات Telegram دانلود کنند.

هزینه‌ها

هزینه پولی است که برای اداره ISP خرج می‌شود. New expense یک دسته (حساب هزینه)، فروشنده‌ای که پرداخت شده، مبلغ، تاریخ تحقق و یک تاریخ سررسید اختیاری را ثبت می‌کند. هر هزینه همان چرخه عمر unpaid / partial / due / paid مانند یک فاکتور، یک صفحه جزئیات و یک voucher PDF قابل‌چاپ دارد.

رسیدها و پرداخت‌ها

این دو تب جابه‌جایی واقعی وجه نقد را ثبت می‌کنند — متمایز از فاکتور یا هزینه‌ای که سبب آن شده است.

  • Receipts — پول ورودی: وجه نقد دریافت‌شده از یک مشتری، یک فروشنده واسط یا درآمد دیگر، که به یکی از حساب‌های نقدی شما می‌رسد. فاکتور همان صورت‌حساب است؛ رسید همان پولی است که در برابر آن می‌رسد.
  • Payments — پول خروجی: وجه نقد پرداخت‌شده در برابر یک هزینه یا به یک فروشنده واسط.

ثبت یک رسید یا پرداخت، فاکتور یا هزینه مرتبط را به سمت paid پیش می‌برد و سند دفتر کل متناظر را ثبت می‌کند.

مشتریان و فروش کارت

تب Customers مانده جاری هر مشتری را فهرست می‌کند — اینکه چقدر به شما بدهکار است. Card sales درآمد پیش‌پرداختی hotspot را پوشش می‌دهد: گروه‌های کارت و فروشندگان واسط فروخته‌شده را دنبال می‌کند. یک فروشنده واسط گروه‌های کارت کامل را روی یک فاکتور از شما می‌خرد، سپس کارت‌های تکی را به کاربران نهایی می‌فروشد؛ مانده بدهی آن‌ها همان چیزی است که هنوز باید به شما بپردازند.

نمایندگان — صورت‌حساب عمده‌فروشی

یک نماینده سرویس شما را با مدل عمده‌فروشیِ پیش‌پرداخت به مشتریان نهایی می‌فروشد — مانند یک نمایندگی یا خرده‌فروش که دفتر مشترکین خود را دارد اما روی شبکه شما کار می‌کند. کاملاً اختیاری است: اگر هرگز نماینده‌ای نسازید، صورت‌حساب دقیقاً مثل همیشه کار می‌کند.

دو بدهی، به‌روشنی جدا نماینده مبلغ عمده را به شما بدهکار است (در دفاتر شما این درآمد شماست)؛ و مشتری مبلغ خرده را به نماینده بدهکار است (خارج از دفاتر شما — این مطالباتِ خودِ نماینده است). کمیسیون شما فاصله میان این دو است که به‌عنوان تخفیف تجاری ثبت می‌شود، نه هزینه.

یک نماینده را در تنظیمات → مدیران بسازید و به مدیرِ جدید نقشِ داخلیِ نماینده را بدهید. نماینده یک ورودِ مدیرِ محدوده‌دار است با:

تنظیممعنا
درصد کمیسیونسهم نماینده از قیمت خرده (مثلاً ۴۰٪ — شما ۶۰٪ را به‌عنوان درآمد عمده نگه می‌دارید). برای هر نماینده و در هر زمان قابل ویرایش است.
سقف اعتباراینکه موجودیِ پیش‌پرداختِ نماینده تا چه حد می‌تواند منفی شود پیش از آنکه تمدیدها رد شوند. برای پیش‌پرداختِ سخت‌گیرانه روی ۰ بگذارید.
موجودیِ پیش‌پرداختهر گاه نماینده به شما پرداخت کرد آن را شارژ کنید؛ هر تمدید مبلغ عمده را از آن کسر می‌کند.

هنگامی که یکی از مشترکینِ نماینده تمدید می‌شود، SAMM مبلغ عمده را از موجودیِ نماینده کسر می‌کند، درآمد شما را ثبت می‌کند و یک فاکتورِ خرده‌فروشیِ واقعی برای مشتریِ نهایی صادر می‌کند که پرداختش به نماینده است و خارج از دفترِ شما می‌ماند. پیگیریِ مطالباتِ سمتِ نماینده — با کلیدِ مستقلِ خود در تنظیمات → صورت‌حساب، به‌طورِ پیش‌فرض روشن و با مهلتِ ارفاقِ قابل ویرایش — به‌طورِ خودکار مشتریِ بدهکار را معلق می‌کند (با ارسالِ قطعِ CoA)؛ و وقتی نماینده پرداختِ مشتری را ثبت کند، مشترک بی‌درنگ دوباره فعال می‌شود.

نماینده به یک نمای محدوده‌دار وارد می‌شود: داشبوردِ خودش، صفحه‌ی کیف‌پولِ موجودیِ من، فهرستِ مشتریانِ من با فاکتورها و پرداخت‌های هر مشتری، و صورت‌حسابِ من — همه محدود به دفترِ خودش. دفاترِ کلِ شرکتِ شما، نمایندگانِ دیگر و مشتریانِ سایرِ مدیران پنهان می‌مانند.

دارایی‌ها و حساب‌های نقدی

  • Assetsدارایی‌های ثابت (روترها، خودروها، تجهیزات) را ثبت کنید. SAMM ارزش و استهلاک آن‌ها را در طول زمان دنبال می‌کند.
  • Cashحساب‌های نقدی و بانکی خود و حساب‌های سرمایه خود را مدیریت کنید: حقوق صاحب، که در آن یک آورده پولی است که مالک وارد کسب‌وکار می‌کند و یک برداشت پولی است که خارج می‌شود. سرمایه درآمد نیست و هرگز در صورت سود و زیان ظاهر نمی‌شود.

گزارش‌ها — صورت‌های مالی

تب Reports نمای حسابدار است. پنج صورت مالی، هرکدام دارای بازه تاریخ و قابل خروجی گرفتن به PDF:

گزارشپاسخ می‌دهد
سود و زیاندرآمد در برابر هزینه‌ها و سود خالص در یک بازه تاریخ. مبنای تعهدی — درآمد هنگام صدور فاکتور و هزینه‌ها هنگام تحقق شمرده می‌شوند، نه هنگام جابه‌جایی وجه نقد.
ترازنامهدر یک تاریخ مشخص: آنچه دارید (دارایی‌ها) در برابر آنچه بدهکارید (بدهی‌ها) به علاوه حقوق صاحبان. یک نشان balanced تأیید می‌کند که دو طرف با هم مطابقت دارند.
جریان نقدیبرای هر حساب نقدی — مانده ابتدای دوره، پول ورودی، پول خروجی، مانده پایان دوره در یک بازه.
سررسیدگذاریدریافتنی‌ها و پرداختنی‌های معوق که در بازه‌های سنی دسته‌بندی شده‌اند، تا بتوانید فاکتورهای سررسیدگذشته را پیگیری کنید و از صورت‌حساب‌ها جلوتر بمانید.
پیشرفتهدفاتر خام: دفتر کل (هر سطر روی یک حساب با یک مانده جاری)، تراز آزمایشی (بررسی توازن دفاتر)، دفتر روزنامه و یک activity log.
بررسی توازن در تراز آزمایشی جمع ستون‌های بدهکار و بستانکار هر حساب باید برابر باشد — این اثبات درستی دفاتر است. اگر هرگز از توازن خارج شود، به یک خطای ثبت اشاره دارد که ارزش بررسی دارد.

صادرات به نرم افزار حسابداری

در بخش حسابداری → گزارش ها → صادرات ، کتاب ها را به صورت CSV دانلود کنید\n QuickBooks، Xero یا هر صفحه گسترده: مجله عمومی، نمودار حساب ها، فاکتورها، آزمایشی\n تعادل، سود و زیان و ترازنامه. مجله عمومی، فاکتورها و P&L از\n محدوده تاریخ؛ بقیه تا امروز همان داده ها از طریق API در دسترس هستند GET /api/v1/accounting/export/{kind} ( format=json|csv ، دامنه accounting:read ) برای خطوط لوله BI و Zapier. صادرات شامل ورودی های باطل نمی شود، بنابراین الف\n دانلود همیشه با گزارش های روی صفحه مطابقت دارد.

عملیات روزانه

واگرد & تاییدیه ها

اکثر اشتباهات در پانل ISP اشتباهات پولی است: مشترک اشتباه تمدید شد، پرداختی که دو بار ثبت شد، یک طرح در حساب اشتباه تغییر کرد. SAMM به شما یک پنجره واگرد پنج دقیقه‌ای در مورد آن اقدامات، و — جایی که یک اقدام پول می‌دهد بازگشت — یک دروازه تأیید سوپرادمین قبل از اینکه اصلاً اعمال شود.

پنجره واگرد

هر اقدام مدیریتی که پول یا ایالت را جابه‌جا می‌کند، همانطور که اتفاق می‌افتد، ثبت می‌شود. برای پنج دقیقه بعدی نوار بالا دارای یک دکمه واگرد و یک است فهرست سابقه عمل — برای معکوس کردن آخرین اقدام، روی پیکان کلیک کنید یا آن را باز کنید تاریخچه و به هر نقطه از پنجره بازگردید. Redo آن را برگرداند.

چرا فقط پنج دقیقه خنثیسازی یک ماشین زمان نیست - یک شبکه ایمنی برای کلیکی است که شما انجام دادید. فراتر از چند دقیقه، دنیا حرکت کرده است: مشترک آنلاین بوده است، یک فاکتور پرداخت شده است، شخص دیگری رکورد را ویرایش کرده است. SAMM ترجیح می دهد رد کند تا بی سر و صدا تاریخچه را بازنویسی کنید، بنابراین مرحله به سادگی با بسته شدن پنجره، تاریخچه شما را ترک می کند.

یک واگرد رد می کند - با دلیل روی صفحه - وقتی معکوس کردن آن چیزی را که ایجاد نکرده است از بین می برد:

امتناعمعنای آن
آن رکورد دیگر وجود نداردمشترک، فاکتور یا پرداخت پس از اقدام شما حذف شد - چیزی برای بازگرداندن باقی نمانده است.
آن رکورد دوباره وجود داردچیزی در جای خود دوباره خلق شده است. لغو باعث بازنویسی رکورد جدیدتر می شود.
این رکورد پس از اقدام شما تغییر کرددر این مدت شخص دیگری آن را ویرایش کرده است - با واگرد کردن، ویرایش آنها بی‌صدا حذف می‌شود.
آن مرحله دیگر در تاریخ شما نیستپنجره پنج دقیقه ای بسته شد.

واگرد یک معکوس است، نه حذف : عمل اصلی و لغو آن هر دو در گزارش حسابرسی باقی می‌مانند، بنابراین سابقه آنچه اتفاق افتاده است هرگز باخت اقداماتی که چیزی ایجاد می کنند به طور واضح به شما هشدار می دهند — واگرد این کار حذف می شود چیزی که ایجاد کرد - قبل از اجرا.

دروازه تایید نماینده

یک نماینده هزینه مشترک را از خود پرداخت می کند موجودی پیش پرداخت در لحظه ای که یکی را فعال می کنند. این باعث می شود که معکوس کردن یک عمل باشد راهی برای پس گرفتن پول - و راهی برای تقلب: یک مشترک را فعال کنید، اجازه دهید از آن استفاده کند تمام ماه، سپس آنها را در روز آخر حذف کنید و شارژ را پس بگیرید.

بنابراین SAMM اقدامات یک نماینده را از طریق اینکه پول جابجا می شود تقسیم می کند:

جهتنمونه هارفتار
برای نماینده هزینه دارد فعال کردن، تمدید، تغییر طرح، جمع آوری پرداخت مشتری فوری کار روزانه یک نماینده هرگز منتظر کسی نیست.
پول را پس می دهد لغو، حذف یک مشترک، حذف یک فاکتور، لغو یک مجموعه به عنوان درخواست پارک شده است. هیچ چیز تغییر نمی کند تا زمانی که یک سوپرادمین آن را تایید کند.

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

کار کردن در صف

درخواست زمین در حسابداری → تأیید نمایندگان با نماینده، اقدام، آنچه به آن اشاره دارد و چه مقدار پول برمی گرداند — شماره ای که تصمیم می گیرد فیلتر بر اساس نماینده یا وضعیت، جستجو، تیک چند و تأیید یا رد آنها با هم. رد می تواند کوتاه باشد دلیلی که عامل می بیند.

آن را تفویض کنید بررسی نمایندگان در تمام طول روز به ندرت کار سوپرادمین است. را حق تأیید نمایندگان را می توان به هر نقشی در آن اعطا کرد تنظیمات → مدیران ، بنابراین شخصی که واقعاً بازبینی را انجام می دهد دقیقاً آن قدرت را دریافت می کند - و هیچ چیز دیگری. ایجاد و مدیریت عوامل باقی می ماند فقط سوپرادمین هیچ کس نمی تواند درخواست خود را تعیین کند.

چیزی که نماینده می بیند

یک نماینده یک صفحه حساب من → تأییدیه های معلق دریافت می کند فهرست کردن همه چیزهایی که آنها خواسته اند: آنچه هنوز در انتظار است و آنچه تأیید شده است یا رد شد - با دلیل بازبین. بدون آن امتناع غیر قابل تشخیص خواهد بود از درخواستی که ناپدید شد و آنها به سادگی دوباره می پرسیدند.

آنها می توانند درخواست های معلق خود را پس بگیرند — یکی یکی یا چندین بار در یک زمان - زیرا درخواست چیزی که نمی‌توانید آن را از آن بخواهید، دام خودش است. عقب نشینی درخواست هرگز اجرا نشد، بنابراین هیچ چیز تغییر نمی کند. تصمیم قطعی تاریخ است و می ماند. یک فاکتور انتظار برای بررسی نیز در صفحه خودش این را می گوید، بنابراین نماینده ای که روی حذف و کلیک کرده است دیدم هیچ اتفاقی نیفتاده می فهمد چرا

برای مشترکان شما

پرداخت های آنلاین

SAMM می تواند به مشترکین شما اجازه دهد تا صورتحساب های خود را به صورت آنلاین - با کارت بانکی پرداخت کنند ( Stripe یا PayPal ) یا با رمزنگاری / USDT ( Binance ). هنگامی که یک مشترک پرداخت می کند، SAMM فاکتور پرداخت شده را علامت گذاری می کند، آن را در دفاتر شما ثبت می کند، و — اگر برای عدم پرداخت - آنها را دوباره به طور خودکار وصل می کند. شما هرگز شارژ نمی شوید: هر دروازه استفاده می کند حساب خود را، بنابراین پول مستقیماً به شما می رسد.

آن را روشن کنید (هر دروازه ای)

  1. مالی → پرداخت‌های آنلاین (فقط سوپرادمین) را باز کنید.
  2. روی یک دروازه کلیک کنید تا آن را گسترش دهید - Stripe ، PayPal یا Binance / USDT .
  3. فیلدهای آن را پر کنید، تیک Enable this gateway را بزنید و روی Save کلیک کنید. تا زمانی که فیلدهای لازم پر نشوند، SAMM به شما اجازه ذخیره نمی دهد.
  4. روی اجرای آزمایش کلیک کنید تا اعتبارنامه شما کار کند.
  5. انجام شد — اکنون مشترکین شما دکمه پرداخت را در صورتحساب های پرداخت نشده خود در پورتال (و در صفحه "اشتراک منقضی شده" می بینند).

شما می توانید بیش از یک دروازه را فعال کنید - مشترک انتخاب می کند که از کدام دروازه استفاده کند.

Stripe — کارت های بانکی، در سراسر جهان

  1. یک حساب رایگان در stripe.com ایجاد کنید. تا زمانی که آن را امتحان می کنید، حالت تست را روشن نگه دارید.
  2. به Developers → API keys بروید و Secret key را کپی کنید (با sk_ شروع می شود).
  3. در SAMM ، Stripe را گسترش دهید، کلید مخفی را بچسبانید، ارز و حساب نقدی دریافت کننده آن را انتخاب کنید، سپس ذخیره و اجرای آزمایش .
  4. توصیه می شود: یک وب هوک اضافه کنید تا پرداخت ها به طور قابل اعتماد تأیید شود. در Stripe به Developers → Webhooks → Add Endpoint بروید، URL را روی https://YOUR-SAMM/pay/webhook/stripe تنظیم کنید، رویداد checkout.session.completed را انتخاب کنید، سپس راز امضای آن ( whsec_… ) را در قسمت Webhook signing Secret SAMM کپی کنید.
پخش زنده حالت تست در هر جایی کار می کند. دریافت پول واقعی از طریق Stripe نیاز به پشتیبانی از Stripe دارد کشور و یک حساب بانکی مرتبط

PayPal — کارت و PayPal موجودی

  1. یک حساب PayPal Business ایجاد کنید، سپس در developer.paypal.com یک REST App ایجاد کنید و شناسه مشتری و Secret آن را کپی کنید.
  2. در SAMM ، PayPal را گسترش دهید، شناسه مشتری و راز مشتری را جایگذاری کنید، جعبه ایمنی (تست) یا زنده ، سپس ذخیره و اجرای آزمایش را انتخاب کنید.
  3. توصیه می‌شود: یک webhook در developer.paypal.com اضافه کنید → برنامه خود → Webhooks ، URL https://YOUR-SAMM/pay/webhook/paypal ، در CHECKOUT.ORDER.APPROVED و PAYMENT.CAPTURE.COMPLETED مشترک شوید، سپس شناسه Webhook را در SAMM قرار دهید تا اعلان‌های دریافتی به صورت رمزنگاری تأیید شوند.

Binance / USDT — رمزنگاری، همه جا کار می کند، نیازی به بانک نیست

این بهترین گزینه است که کارت و PayPal در دسترس نیست. مشترکین شما ارسال می کنند USDT ; SAMM حساب Binance شما را تماشا می کند و صورتحساب پرداخت شده را به صورت خودکار علامت گذاری می کند. شما به سه چیز نیاز دارید: یک کلید API ، یک API Secret ، و مکانی برای دریافت — یک آدرس کیف پول و/یا یک Binance شناسه پرداخت .

مرحله 1 - یک کلید API فقط خواندنی ایجاد کنید

اول ایمنی کلید را با دسترسی فقط خواندن ایجاد کنید. هرگز برداشت یا معامله را فعال نکنید — SAMM فقط باید پرداخت های دریافتی شما را بخواند، هرگز وجه را جابجا نکنید.
  1. به Binance → باز کردن حساب → مدیریت API وارد شوید (یا «مدیریت API» را جستجو کنید).
  2. روی Create API کلیک کنید → System ایجاد شده را انتخاب کنید → نام آن را به عنوان مثال انتخاب کنید. " SAMM " → بررسی امنیتی را تمام کنید.
  3. Binance کلید API و کلید مخفی را نشان می‌دهد — را اکنون هر دو کپی کنید (راز فقط یک بار نشان داده می‌شود).
  4. روی ویرایش محدودیت‌ها کلیک کنید و فقط "فعال کردن خواندن" را علامت بزنید. معاملات نقطه ای و برداشت را خاموش بگذارید. (اختیاری: کلید را به آدرس IP سرور خود محدود کنید.)
  5. کلید API و API Secret را در کارت Binance SAMM قرار دهید (اول کلید، سپس مخفی - همان ترتیبی که Binance آنها را نشان می‌دهد).

مرحله 2 - آدرس کیف پول دریافتی خود را دریافت کنید

  1. در Binance به Wallet → Spot → Deposit (Deposit Crypto) بروید.
  2. سکه USDT را انتخاب کنید.
  3. شبکه را انتخاب کنید — TRC20 ارزان ترین و رایج ترین است. BEP20 و ERC20 نیز کار می کنند. از همان موردی که در SAMM انتخاب کرده اید استفاده کنید.
  4. آدرس واریزی را کپی کنید و در قسمت آدرس کیف پول دریافتی زنجیره ای SAMM قرار دهید. مطمئن شوید که منوی بازشوی شبکه SAMM با شبکه انتخابی شما مطابقت دارد.

مرحله 3 — (اختیاری) Binance شناسه پرداخت

برای مشترکینی که ترجیح می دهند Binance پرداخت (فوری، بدون هزینه شبکه): در Binance برنامه پرداخت را باز کنید و شناسه پرداخت خود را یادداشت کنید (ایمیل یا تلفن شما نیز کار می کند). آن را بچسبانید در قسمت Binance شناسه پرداخت SAMM . پس از آن مشترکین می توانند با پرداخت شناسه پرداخت و همچنین روی زنجیره

در نهایت، فعال کردن را علامت بزنید، روی ذخیره و سپس اجرای آزمایش کلیک کنید. (این بررسی می کند که کلید می تواند حساب شما را بخواند). شما زنده هستید

مقدار دقیق، شبکه صحیح یک مشترک باید مبلغ دقیقی را که SAMM نشان می دهد (آخرین ارقام کوچک) ارسال کند فاکتور آنها را شناسایی کنید) در شبکه صحیح . مقدار متفاوت یا اشتباه شبکه پرداخت را به تاخیر می اندازد یا از دست می دهد.

آنچه مشترک می‌بیند

  1. آنها وارد پورتال مشتری → فاکتورهای من می شوند.
  2. در صورت‌حساب پرداخت نشده، روی پرداخت (یا "پرداخت · Stripe " / "پرداخت · Binance " در صورت فعال بودن چندین کلیک کلیک می‌کنند.
  3. کارت: آنها به صفحه امن دروازه منتقل می شوند. USDT : مبلغ دقیق، آدرس شما با کد QR و/یا شناسه پرداخت شما را می بینند.
  4. پس از پرداخت، فاکتور تبدیل به پرداخت شده می‌شود، در کتاب‌های شما پست می‌شود، و اگر منقضی شده باشند، به‌طور خودکار دوباره متصل می‌شوند — مشترکین منقضی شده حتی دکمه «پرداخت و اتصال مجدد» را در صفحه منقضی شده دریافت می‌کنند.
کتاب های شما دقیق می مانند هر پرداخت آنلاین یک بار ورود متوازن (دکتر نقدی / حساب های دریافتنی Cr) را ارسال می کند و روش ( Stripe / Binance ) را در فاکتور، سابقه پرداخت و در PDF ثبت می کند — بنابراین شما همیشه بدانید که هر پرداخت چگونه وارد شده است.

عملیات روزانه

تیکت‌های پشتیبانی

SAMM یک میز پشتیبانی درون‌ساخته دارد. مشترکان از پرتال مشتری یا ربات Telegram تیکت ثبت می‌کنند، یک مدیر می‌تواند به نمایندگی از یک مشترک تیکتی باز کند، و تیم شما همه آن‌ها را از Users → Support Tickets مدیریت می‌کند.

صف تیکت‌ها

صف هر تیکت را فهرست می‌کند — شماره، مشتری، موضوع، اولویت، وضعیت، تاریخ‌های باز شدن و آخرین به‌روزرسانی، و تعداد پیام‌ها. آن را با موارد زیر فیلتر کنید:

  • تراشه‌های وضعیت — یکی برای هر وضعیت تیکت، هرکدام دارای یک شمارش زنده، تا حجم کار در یک نگاه دیده شود.
  • اولویت — Normal، Moderate یا Critical.
  • Active / Withdrawn — یک مشتری می‌تواند تیکتی را که دیگر نیازی به آن ندارد پس بگیرد؛ تیکت‌های پس‌گرفته‌شده کم‌رنگ و به‌طور پیش‌فرض پنهان می‌شوند.
  • Search — بر اساس شماره تیکت، موضوع یا مشتری.

نشان نوار کناری تیکت‌های باز را می‌شمارد تا چیزی از قلم نیفتد.

باز کردن یک تیکت

New ticket به یک مدیر اجازه می‌دهد برای یک مشتری انتخاب‌شده تیکتی ثبت کند — مشتری را انتخاب کنید، سپس یک موضوع، اولویت و شرح تعیین کنید. مشترکان نیز تیکت خود را از پرتال مشتری یا ربات Telegram باز می‌کنند.

رسیدگی به یک تیکت

یک تیکت را باز کنید تا کل رشته گفتگو را بخوانید. از آنجا می‌توانید:

  • پاسخ به مشتری — یک پیام عمومی که مشترک آن را در پرتال خود و از طریق ربات Telegram می‌بیند.
  • افزودن یک یادداشت داخلی — یک پیام فقط برای کارکنان، پنهان از مشتری، برای یادداشت‌های تحویل میان اعضای تیم شما.
  • وضعیت و اولویت تیکت را تغییر دهید.

روی هر ردیف کلیک راست کنید — یا از دکمه ⋮ آن استفاده کنید — برای همان اقدام‌های وضعیت، اولویت، پاسخ و یادداشت داخلی بدون ترک صف.

عملیات روزانه

مرکز اعلان‌ها

SAMM مشترکین را بطور خودکار در جریان قرار می دهد — از طریق ایمیل ، Telegram , SMS و WhatsApp — و به شما امکان می دهد پیام ها را پخش کنید. را سرویس samm-notification همه چیز را از طریق یک صف محدود تحویل می دهد. صفحه سیستم → مرکز اطلاع رسانی دارای شش برگه است.

نمای کلی

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

کانال‌ها

نحوه خروج پیام‌ها از SAMM را پیکربندی کنید. ایمیل از اعلان خود استفاده می کند\n حساب، جدا از SMTP بازیابی رمز عبور نگهداری می شود تنظیمات . Telegram از یک رمز ربات استفاده می کند، پیامک از طریق یک دروازه HTTP عمومی یا Twilio می رود، و WhatsApp از API رسمی Meta WhatsApp Cloud (ایجاد شده در Meta برای\n توسعه دهندگان)، با یک پل غیر رسمی مرتبط با QR اختیاری با مسئولیت خودتان - پل\n با یک کلیک روی یک سرور بدون سیستم عامل نصب می شود و به عنوان یک ظرف آماده برای اجرا در Docker ارسال می شود.\n تمام اسرار کانال ذخیره می شود\n رمزگذاری شده با فرنت هر مشترک، از پورتال مشتری، کانال های خود را انتخاب می کند\n می خواهد و می تواند به طور کامل انصراف دهد.

پیام‌ها

قالب‌های پیام، یک مجموعه برای هر رویداد. متن هر اعلان — یادآوری‌های تمدید، رسیدها و بقیه — را ویرایش کنید تا هر پیام با لحن و زبان خودتان ارسال شود.

قواعد و تایمرها

این تب تعیین می‌کند که اعلان‌های خودکار چه زمانی و چگونه فعال شوند. برای هر رویداد شما کنترل می‌کنید:

  • اینکه آیا قاعده روشن است.
  • Ignore opt-out — وقتی تنظیم شود، پیام به هر مشترکی می‌رسد حتی اگر انصراف داده باشد. آن را برای پیام‌های تراکنشی مهم نگه دارید.
  • زمان‌بندی — برای مثال، چند روز پیش از انقضا یک یادآوری تمدید ارسال می‌شود.
  • تحویل و throttling — worker صف را در هر tick یک دسته تخلیه می‌کند؛ اندازه دسته و بازه tick با هم سرعت خروج پیام‌ها را تنظیم می‌کنند، تا یک ارسال همگانی بزرگ هرگز سرور ایمیل شما را غرق نکند.

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

ارسال همگانی

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

صندوق خروجی

هر پیامی که SAMM به صف افزوده یا ارسال کرده، به همراه وضعیت تحویل هر پیام، تا بتوانید تأیید کنید که یک اعلان به مشترک رسیده یا ببینید چرا نرسیده است.

سیستم

WireGuard VPN

SAMM می‌تواند یک سرور WireGuard VPN روی میزبان SAMM اجرا کند — معمولاً برای دسترسی remote-admin به دستگاه SAMM و دسترسی مدیریتی به MikroTikهای پشت آن. این به‌طور کامل از System → VPN مدیریت می‌شود؛ نیازی به shell نیست.

تب Server

  1. روی Generate Keys کلیک کنید تا جفت‌کلید سرور ایجاد شود. Server Public Key پس از تولید ظاهر می‌شود — کلاینت‌ها به آن نیاز دارند.
  2. Listen Port (UDP، پیش‌فرض 51820Server Tunnel Address (همان CIDR روی واسط wg0، پیش‌فرض 10.254.254.1/24) و Client IP Range را تنظیم کنید — آدرس‌های شروع و پایانی که SAMM به‌طور خودکار به peerهای جدید اختصاص می‌دهد.
  3. Enable WireGuard VPN را روشن کنید و روی Save کلیک کنید — SAMM واسط wg0 را بالا می‌آورد. این کلید تا زمانی که کلیدهای سرور وجود نداشته باشند قفل است.

تب Clients

روی Add Client کلیک کنید، به peer یک نام بدهید، و SAMM آدرس بعدی از بازه کلاینت را به آن اختصاص می‌دهد. برای هر peer می‌توانید فایل پیکربندی آن را دانلود کنید، یک QR code را با اپ موبایل WireGuard اسکن کنید، یا فرمان‌های آماده MikroTik RouterOS را کپی کنید تا یک روتر را به VPN بیاورید. peerها می‌توانند روشن/خاموش شوند یا حذف شوند؛ رنگ‌های وضعیت نشان می‌دهند که هرکدام متصل، کهنه یا هرگز دیده‌نشده است.

تولید مجدد کلیدها مخرب است Regenerate Keys جفت‌کلید سرور را تغییر می‌دهد. هر پیکربندی کلاینتِ از پیش مستقرشده کلید عمومی قدیمی سرور را در خود دارد و تا زمانی که پیکربندی به‌روزشده را دوباره توزیع نکنید اتصال را متوقف می‌کند. رابط کاربری این کار را پشت یک دیالوگ type-to-confirm محدود می‌کند.

سیستم

Cloudflare Tunnel

یک تونل Cloudflare Zero Trust، SAMM را به اینترنت عمومی منتشر می‌کند بدون باز کردن هیچ پورت فایروال — هنگامی که میزبان SAMM پشت NAT قرار دارد مفید است. این از System → Cloudflare Tunnel مدیریت می‌شود.

وضعیت سرویس

صفحه با یک کارت وضعیت باز می‌شود که حالت connector را گزارش می‌دهد:

حالتمعنا
در حال اجراتونل فعال است و ترافیک را forward می‌کند
متوقف‌شدهپیکربندی‌شده اما اکنون در حال اجرا نیست
پیکربندی‌نشدهباینری موجود است — برای راه‌اندازی آن یک توکن جای‌گذاری کنید
نصب‌نشدهبرای نصب باینری cloudflared دوباره install.sh را اجرا کنید

همچنین نسخه cloudflared و اینکه آیا connector روی راه‌اندازی خودکار هنگام بوت تنظیم شده است را نشان می‌دهد.

پیکربندی تونل

  1. در داشبورد Cloudflare Zero Trust (one.dash.cloudflare.comNetworks → Tunnels را باز کنید و Create a tunnel را بزنید.
  2. connector Cloudflared را انتخاب کنید، به تونل نام بدهید و ذخیره کنید. در گام نصب، فقط توکن را کپی کنید — همان رشته بلند پس از --token.
  3. آن را در SAMM جای‌گذاری کنید و روی Configure Tunnel کلیک کنید. SAMM توکن را به cloudflared می‌دهد و connector را راه می‌اندازد.
  4. دوباره در Cloudflare، یک Public hostname اضافه کنید: آدرس انتخابی شما، نوع HTTP، URL برابر localhost:80 (پروکسی‌شده توسط nginx — توصیه‌شده) یا localhost:8000 (مستقیم به API).

ظرف چند ثانیه نشان وضعیت سبز می‌شود و SAMM روی public hostname قابل‌دسترس می‌شود. پس از پیکربندی، اقدام‌های یک‌کلیکی به شما اجازه می‌دهند connector را Start، Stop یا Restart کنید، برای چرخاندن توکن Replace Token بزنید، یا Remove tunnel کنید (یک اقدام type-REMOVE-to-confirm).

بدون پورت باز، توکن هرگز در پایگاه داده نیست تونل یک اتصال خروجی به لبه Cloudflare برقرار می‌کند — هیچ پورت فایروالی هرگز روی سرور باز نمی‌شود. توکن به cloudflared forward می‌شود و زیر /etc/cloudflared/ ذخیره می‌گردد؛ SAMM هرگز آن را در پایگاه داده نگه نمی‌دارد. TLS در لبه Cloudflare خاتمه می‌یابد، بنابراین خود SAMM روی loopback با HTTP ساده اجرا می‌شود.

سیستم

تنظیمات

System → Settings پارامترهای زنده و قابل بارگذاری مجدد به‌صورت داغ را نگه می‌دارد. daemonها آن‌ها را در tick بعدی خود دوباره می‌خوانند — هیچ راه‌اندازی مجدد سرویسی لازم نیست. تنظیمات در تب‌ها سازمان‌دهی شده‌اند.

پارامترهای عمومی

تنظیمپیش‌فرضکنترل می‌کند
samm-radius interval30 sهر چند وقت یک‌بار رویدادهای زمان‌محور ارزیابی و CoAها ارسال می‌شوند
samm-worker interval5 sریتم ping روتر + همگام‌سازی MikroTik API
بازه میان‌دوره‌ای حسابداری60 sبازه حسابداری که به روترها ارسال می‌شود
زمان بازنشانی روزانه00:00زمانی که شمارنده‌های مصرف روزانه بازنشانی می‌شوند
منطقه زمانی سرورUTCمنطقه زمانی برای پنجره‌های سرعت و بازنشانی روزانه
پورت پیش‌فرض CoA3799پورت پیش‌فرض UDP برای بسته‌های CoA
حداکثر تلاش دوباره CoA3تعداد تلاش دوباره پیش از بازگشت به Disconnect-Request

برای اعمال سخت‌گیرانه‌تر بازه samm-radius را کاهش دهید؛ برای کاستن از بار آن را افزایش دهید.

هویت ISP، لوگو، واحد پول و صورتحساب (زبانه ISP)

هر آنچه اپراتورها می‌پرسند «این را کجا تغییر دهم؟» در System → Settings → ISP است. فیلدی را ویرایش و روی ذخیره کلیک کنید — تغییر بلافاصله اعمال می‌شود (بدون راه‌اندازی مجدد) و روی فاکتورها، رسیدها، PDFها و پورتال مشتری نمایان می‌شود.

آنچه تغییر می‌دهیدکجا نمایش داده می‌شود
نام ISPفاکتورها، رسیدها، کارت‌های hotspot، سربرگ پورتال
تلفن و ایمیل پشتیبانیفاکتورها و کارت‌های hotspot چاپی
شماره مالیاتی / ثبتروی فاکتورها چاپ می‌شود
لوگوی ISP (بارگذاری PNG/JPEG)به‌طور خودکار تغییر اندازه می‌یابد؛ روی PDF فاکتور/رسید و کارت‌های hotspot چاپی ظاهر می‌شود. برای حذف از ✕ روی پیش‌نمایش استفاده کنید.
کد واحد پول (مثلا USD)واحد پول ISO روی فاکتورها و دفتر کل
نماد واحد پول (مثلا $)هر مبلغ نمایش‌داده‌شده در رابط مدیریت، پورتال مشتری و PDFها
مالیات روشن/خاموش، برچسب و نرخیک خط VAT/GST به فاکتورها می‌افزاید (مثلا برچسب VAT، نرخ ۱۱ = ۱۱٪)
تغییر نماد پول برای تغییر واحد پول نمایش‌داده‌شده در همه‌جا (مثلا از $ به £ یا نماد محلی)، نماد واحد پول را در زبانه ISP تنظیم و ذخیره کنید — پنل مدیریت، پورتال مشتری و همه PDFها را یکجا به‌روزرسانی می‌کند. در کنار آن کد واحد پول (USD، EUR، …) را برای کد ISO چاپ‌شده روی فاکتورها تنظیم کنید.

حریم خصوصی - آمار نصب ناشناس

وقتی SAMM به‌روزرسانی‌ها را بررسی می‌کند، می‌تواند SecuryTik یک شناسه نصب تصادفی، نسخه SAMM ، سطح طرح شما و یک کشور درشت (از IP شما، از طریق Cloudflare ) ارسال کند — بدون اطلاعات مشترک یا مشتری . این فقط به ما کمک می کند تا نصب های فعال را بشماریم و پشتیبانی و زبان ها را در اولویت قرار دهیم. هر زمان خواستید آن را در زیر System → تنظیمات → حریم خصوصی ; خط مشی رازداری را ببینید.

تب Email

سرور SMTP مورد استفاده برای کدهای بازیابی رمز عبور ارسال‌شده به مدیران و مشتریان را پیکربندی کنید (host، پورت، SSL/STARTTLS، نام کاربری، آدرس فرستنده، رمز عبور). روی Test connection کلیک کنید تا اعتبارنامه‌ها بدون ارسال ایمیل تأیید شوند.

دو حساب ایمیل تب Email در اینجا فقط برای OTP / بازیابی رمز عبور است. حسابی که برای اعلان‌های مشتری استفاده می‌شود جداگانه در Notification Center پیکربندی می‌شود.

سیستم

مدیران و نقش‌ها

System → Admins مدیریت می‌کند که چه کسی می‌تواند به پرتال مدیریت وارد شود و هر فرد چه کارهایی می‌تواند انجام دهد. دو تب دارد: Admins و Roles.

حساب‌های مدیر

مدیری با نام کاربری، رمز، ایمیل اختیاری و نقش بسازید. از منوی ⋮ می‌توانید نقش یا رمز را ویرایش، حساب را غیرفعال یا حذف کنید. فقط ابرمدیر می‌تواند مدیران دیگر را مدیریت کند — و سه بخش (مدیران، ابزارها و API) مخصوص ابرمدیر است: هرگز به نقش سفارشی داده نمی‌شوند و در ماتریس قفل نمایش داده می‌شوند.

نقش‌ها و مجوزها

یک نقش دسترسی به هر ناحیه را اعطا می‌کند. نقش داخلی superadmin همیشه دسترسی کامل دارد و قابل تغییر نیست. برای دسترسی محدود نقش‌های سفارشی ایجاد کنید — یک نقش جدید تا زمانی که مجوزهای آن را تنظیم نکنید بدون دسترسی آغاز می‌شود.

نقشِ داخلیِ دومی به نامِ نماینده قفل است و قابلِ ویرایش یا حذف نیست: مدیر را به یک خرده‌فروشِ عمده با موجودیِ پیش‌پرداخت، سهمِ کمیسیون و دفترِ مشتریانِ محدود به مشترکینِ خودش تبدیل می‌کند. برای مدلِ کامل به حسابداری و صورت‌حساب → نمایندگان مراجعه کنید.

برای هر بخش SAMM (مشترکین، طرح‌ها، NAS، حسابداری، تنظیمات و غیره) نقش روی یکی از سه سطح تنظیم می‌شود:

سطحمعنا
مجاز نیستاین ناحیه به‌طور کامل از نوار کناری پنهان است
مشاهدهدسترسی فقط‌خواندنی
ویرایشدسترسی کامل — ایجاد، تغییر، حذف

دو حق در کنار سطوح منطقه قرار دارند، زیرا هر کدام یک تصمیم پولی است تا یک صفحه:

درستهآنچه اجازه می دهد
اجازه دادن به «بدون فاکتور» سرویس مشترک را تغییر دهید - تمدید کنید، برنامه را تغییر دهید، تمدید کنید - و هزینه ای برای آن دریافت نکنید. به طور پیش فرض در هر نقش جدید خاموش است.
اجازه تأیید نمایندگان فایل درخواست‌های نمایندگان را برای بازگرداندن هزینه بررسی و تصمیم بگیرید. ایجاد و مدیریت عامل ها فقط به صورت superadmin باقی می ماند. به Undo & تاییدیه ها .
داشبورد هرگز برداشته نمی شود هر نقش دیگری که رد شود، هر مدیر داشبورد و نمایه خود را حفظ می کند - ورود به سیستمی که روی یک خطای مجوز قرار می‌گیرد، ورود خراب است، نه امن.

دامنه دیدپذیری داده

هر نقشی هم محدوده ای دارد. مشاهده همه مشتریان & کارت‌های به معنی نقش هر رکوردی را می بیند. با تیک نخوردن آن، نقش محدوده By-NAS است: a superadmin روترهای خاصی را به هر مدیر اختصاص می دهد ("دسترسی NAS" در منوی ⋮ مدیر)، و آن مدیر فقط مشترکین و گروه های کارتی را که به آن روترها پین شده اند می بیند - ایده آل برای شعب، حق رای دادن، و یا فروشندگان. مشترکینی هستند که یک مدیر By-NAS ایجاد می کند به طور خودکار به روترهای آنها پین می شود.

License همیشه قابل‌دسترس است صفحه System → License یک بلوک مجوز عادی است — اما هرگاه دستگاه در حالت قفل باشد (مهلت، نرم یا سخت) SAMM آن را برای هر مدیر واردشده صرف‌نظر از نقش در دسترس نگه می‌دارد تا مسیر بازیابی هرگز بسته نشود.

سیستم

ابزارها

بخش Tools ابزارهای انبوه و نگهداری را گرد هم می‌آورد. روی کل داده‌ها اثر می‌گذارد و بنابراین فقط برای ابرمدیرها در دسترس است.

پشتیبان‌گیری و بازیابی

پیش از هر تغییر عمده یک عکس‌فوری کامل از پایگاه داده بگیرید. یک پشتیبان یک آرشیو pg_dump فشرده‌شده با gzip است که روی سرور ذخیره می‌شود، هرکدام با یک سربرگ SAMM.

  • Create backup — به‌صورت اختیاری یک یادداشت اضافه کنید؛ Skip usage & history را برای یک dump کوچک‌تر و سریع‌تر که جدول‌های حجیم لاگ را حذف می‌کند تیک بزنید.
  • یک پشتیبان را روی PC خود Download کنید، یا یک پشتیبان قبلی SAMM را دوباره روی سرور upload کنید.
  • Restore پایگاه داده فعلی را بازنویسی می‌کند — پشت یک دیالوگ type-RESTORE-to-confirm محدود شده است.

در دسترس بودن بالا

برای استقرار بدون نقطه شکست، SAMM را در دو گره اجرا کنید: تکثیر جریانی PostgreSQL (یکی اصلی با یک ثانیه داغ آماده به کار) به علاوه یک گره AAA آماده به کار، و تبلیغ + اشاره در مورد شکست. اپراتور کامل runbook - تنظیم تکرار، failover برنامه ریزی شده و برنامه ریزی نشده، failback، اختیاری حالت تکرار همزمان، و یک چک لیست تأیید پس از شکست - به عنوان ارسال می شود docs/HA.md با منبع. توجه داشته باشید که Replication یک نسخه پشتیبان نیست (حذف بد). فورا تکرار می شود)، بنابراین پشتیبان گیری برنامه ریزی شده را نیز در حال اجرا نگه دارید.

پاک‌کننده تاریخچه

ردیف‌های قدیمی لاگ و تاریخچه را برای بازپس‌گیری فضای پایگاه داده به‌طور دائمی حذف کنید. یک پیش‌تنظیم نگهداری را انتخاب کرده و تأیید کنید. پاک‌کننده نشست‌های بسته‌شده RADIUS، رکوردهای post-auth، تجمیع‌های مصرف روزانه، تاریخچه روتر/واسط، لاگ‌های محدودیت، ورودی‌های audit اعمال‌شده و ردیف‌های CoA پایان‌یافته را هرس می‌کند. هرگز نشست‌های زنده، فرمان‌های در صف، CoAهای در انتظار یا مجموع‌های مصرف مادام‌العمر غیرقابل‌بازنشانی را دست نمی‌زند.

ابتدا یک پشتیبان بگیرید پاک‌کننده تاریخچه به‌طور دائمی حذف می‌کند. اگر ممکن است بعداً به داده‌ها نیاز داشته باشید پیش از پاک‌سازی یک پشتیبان بگیرید.

خروجی / ورودی

خروجی و ورودی انبوه برای Users، Plans و NAS به‌صورت .csv یا .xlsx. یک قالب (ستون‌های درست به علاوه یک ردیف نمونه) یا یک عکس‌فوری از داده‌های فعلی را دانلود کنید، آن را پر کنید و دوباره بارگذاری کنید. هر ردیف اعتبارسنجی و روی یک صفحه پیش‌نمایش نمایش داده می‌شود — موارد تکراری و ردیف‌های نامعتبر نمایان می‌شوند، و شما انتخاب می‌کنید که موارد تکراری را رد کنید یا در جا به‌روزرسانی کنید — پیش از آنکه چیزی نوشته شود.

تغییرات انبوه

یک تغییر را اعمال کنید - مالک، تاریخ انقضا، وضعیت، تمدید خودکار یا کل طرح دوره - برای هر مشترکی که با یک فیلتر مطابقت دارد، در یک اجرا. تغییر را انتخاب کنید، آن را بسازید فیلتر (وضعیت / طرح / مالک / جستجو)، فهرست تطبیق را بررسی کرده و تأیید کنید.

افزودن دوره های کامل طرح گزینه تمدید انبوه است: هر کدام مشترک چندین دوره از طرح خود را به دست می آورد، بنابراین یک طرح 7 روزه 7 روز در هر سود می برد. یک دوره و یک برنامه ماهانه یک ماه تقویمی به دست می آورد - در همان دوره، بدون تقسیم ابتدا فهرست بر اساس طرح مشترکینی که طرحشان مهلت انقضا ندارد به جای آن حذف می شوند حدس زده در. افزودن روزهای در جایی که می‌خواهید تعداد روز ثابتی داشته باشید در دسترس باقی می‌ماند و بدون تنظیم مجدد شمارنده

افزایش سرعت

سرعت کل طرح ها را به یکباره یک درصد افزایش یا کاهش دهید — تعطیلات آخر هفته با سرعت دوبرابر، یا دریچه گاز اضطراری در حالی که یک بک هال ضعیف است. برای ورودهای جدید و برای جلساتی که قبلاً آنلاین هستند، بلافاصله اعمال می شود.

کنترل کنیدچه کاری انجام می‌دهد
درصدمثبت ضرب می شود، منفی تقسیم می شود: +100٪ → سرعت دو برابر، -100٪ → نیم سرعت، -500٪ → یک ششم آن. سرعت هرگز به صفر نمی رسد.
برنامه هایی برای تقویتهر تعداد طرح را علامت بزنید؛ هر ردیف نرخ طرح، افزایش نیرو و سرعت موثر را در حال حاضر نشان می دهد.
پس از آن به طور خودکار برگردانیدساعت ها تا زمانی که افزایش خود به خود از بین می رود. 0 آن را نگه می دارد تا زمانی که آن را با دست بازنشانی کنید.
یک افزایش از پنجره سرعت بالاتر است افزایش از نرخ طرح اندازه گیری می شود و جایگزین هر کدام می شود پنجره سرعت در حالی که فعال است - طرحی در یک پنجره شبانه 20 میلیونی اینطور نیست به 40 میلیون تبدیل می شود، هر چه افزایش نرخ برنامه آن باشد، به آن تبدیل می شود. ویندوز همین لحظه از سر گرفته می شود تقویت از بین می رود.

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

حذف انبوه

بسیاری از مشترکان یا کارت‌های hotspot را که با فیلتر انتخاب شده‌اند به‌یک‌باره به‌طور دائمی حذف کنید. حذف یک مشترک، تاریخچه مصرف، نشست‌ها، حسابداری RADIUS و فاکتورهای او را نیز حذف می‌کند و هر نشست زنده را قطع می‌کند. پشت یک دیالوگ type-DELETE-to-confirm محدود شده است.

سیستم

زبان‌ها و پوسته‌ها

زبان‌ها

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

ویرایشگر ترجمه

یک superadmin می‌تواند ترجمه‌ها را به‌صورت زنده از System → Translations ویرایش کند — بدون راه‌اندازی مجدد، بدون ویرایش فایل. ویرایشگر همچنین زبان‌های کاملاً جدید ایجاد می‌کند و کارپوشه‌های ترجمه را به‌صورت .xlsx وارد/صادر می‌کند، تا بتوانید SAMM را به هر زبانی که سرویس می‌دهید بومی‌سازی کنید.

پوسته‌ها

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

سیستم

گزارش حسابرسی

System → Audit Log سابقه اقدام‌های مدیر است — و صف فرمانی که آن‌ها را اجرا می‌کند. وقتی یک شمارنده را بازنشانی می‌کنید، یک طرح را تغییر می‌دهید، یا یک مشترک را تمدید می‌کنید، SAMM اقدام را به‌جای دست‌زدن مستقیم به یک روتر زنده اینجا می‌نویسد.

هر ورودی اقدام، هدف آن، مدیری که آن را آغاز کرده، زمان وقوع، و اینکه آیا هنوز اعمال شده است را نشان می‌دهد. سرویس samm-radius ورودی‌های در انتظار را در tick بعدی خود تخلیه می‌کند و در جایی که لازم باشد یک CoA برای تازه کردن یک نشست زنده صادر می‌کند. نشان نوار کناری ورودی‌هایی را که هنوز در انتظارند می‌شمارد؛ پنل pipeline-health در Dashboard انباشت کار را دنبال می‌کند.

چرا یک صف هدایت هر اقدام مدیر از طریق audit log یعنی تغییرات دقیقاً توسط یک فرآیند و به ترتیبی قابل‌پیش‌بینی اعمال می‌شوند — هرگز میان پرتال وب و یک روتر رقابتی رخ نمی‌دهد.

صدور مجوز

صدور مجوز و سطوح

هر نصب SAMM به‌صورت هر دستگاه لایسنس می‌شود — طرح روی همان نصب قرار دارد، بنابراین می‌توانید چند سرور SAMM اجرا کنید، هرکدام روی تیر خودش. تیر سه سقف عددی را تعیین می‌کند.

تیرکاربران AAAکارت‌های HotspotNAS / روترها
ثبت‌نشده252001
Free1005002
Plus5002,0003
Pro2,0005,0005
Pro Maxنامحدودنامحدودنامحدود

یک نصب تازه به‌صورت ثبت‌نشده در کمترین حد کف اجرا می‌شود. هر ویژگی در هر تیر در دسترس است — تیر فقط سقف‌ها را تعیین می‌کند. ایجاد یک مشترک، کارت یا NAS فراتر از سقف تا زمانی که ارتقا دهید مسدود می‌شود؛ هیچ داده‌ای هرگز از دست نمی‌رود.

فعال‌سازی و ارتقا

  1. System → License را باز کنید.
  2. با ورود با حساب SecuryTik خود فعال‌سازی کنید — یا از Link this device استفاده کنید، که یک کد نشان می‌دهد که آن را روی samm.securytik.com بدون تایپ رمز عبور خود روی سرور تأیید می‌کنید. دستگاه روی Free فعال می‌شود.
  3. برای بالاتر رفتن، Pro یا Pro Max را از همان صفحه درخواست کنید — یک مدیر SecuryTik آن را بررسی و تأیید می‌کند.

صفحه License همچنین لایسنس را در صورت درخواست دوباره بررسی می‌کند و مصرف فعلی شما را در برابر هر سقف نشان می‌دهد. Unlink device نصب را بدون حذف هیچ داده‌ای به تیر ثبت‌نشده بازمی‌گرداند.

اگر یک لایسنس پولی منقضی شود

SAMM هرگز داده‌ها را حذف نمی‌کند. یک لایسنس منقضی‌شده به‌آرامی پایین می‌آید:

مرحلهچه اتفاقی می‌افتد
هشداریک بنر یادآوری؛ همه چیز به کار خود ادامه می‌دهد
مهلتیک بازه کوتاه برای فعال‌سازی مجدد؛ مشترکان آنلاین می‌مانند
قفل نرمسرویس‌های پس‌زمینه متوقف می‌شوند؛ RADIUS حدود ۷ روز به احراز هویت ادامه می‌دهد
قفل سختسرویس‌ها به‌جز صفحه فعال‌سازی مجدد متوقف می‌شوند

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

به‌روزرسانی‌های خودکار

به‌روزرسانی خودکار مستقل از صدور مجوز است — همه سطوح به‌روزرسانی می‌شوند و یک مجوز منقضی‌شده هرگز آن را مسدود نمی‌کند. SAMM هر روز نسخه امضاشده جدید را بررسی می‌کند. از System → License می‌توانید بین notify (پیش‌فرض — یک بنر با دکمه Apply now) و auto (اعمال بدون نظارت) جابه‌جا شوید. هر به‌روزرسانی تأیید، پشتیبان‌گیری و در همان محل اعمال می‌شود. همچنین می‌توانید در هر زمان نصب‌کننده را دوباره اجرا کنید — به‌صورت idempotent ارتقا می‌دهد.

برای مشترکان شما

پرتال مشتری و ربات

SAMM به هر مشترک دو رابط خودخدمت می‌دهد — یک پورتال وب و یک ربات Telegram — تا بتوانند بدون تماس با شما مصرف را بررسی کنند و پرداخت انجام دهند.

پورتال مشتری

مشترکان با نام کاربری و رمز عبور SAMM خود در ریشه سایت SAMM (/) وارد می‌شوند. پورتال شامل موارد زیر است:

صفحهآنچه مشترک می‌بیند
نمای کلیوضعیت حساب، پلن، انقضا، مصرف امروز و این ماه، و هر فاکتور پرداخت‌نشده
مصرف و نشست‌هامجموع دانلود/آپلود، بودجه زمان اتصال، و تاریخچه کامل نشست‌ها
پلن‌های منپلن فعلی به‌همراه کاتالوگ پلن‌های موجود
فاکتورهای منتاریخچه صورتحساب با دانلود PDF تک‌کلیکی
تیکت‌های پشتیبانیباز کردن و پیگیری تیکت‌های پشتیبانی
پروفایلویرایش اطلاعات تماس، تغییر رمز عبور، تنظیم زبان و پوسته، مدیریت اعلان‌ها

از بخش Profile، مشترک می‌تواند حساب Telegram خود را متصل کند، کانال‌های اعلان مورد نظرش را مرتب کند، یا به‌کلی از دریافت اعلان‌ها انصراف دهد. اگر رمز عبور خود را فراموش کنند، یک کد OTP برایشان ایمیل می‌شود (این نیازمند پیکربندی تب Email است).

ربات Telegram

سرویس samm-telegram یک ربات خودخدمت تعاملی اجرا می‌کند. مشترک /start را ارسال می‌کند، یک‌بار با نام کاربری و رمز عبور SAMM خود احراز هویت می‌کند (ربات بلافاصله پیام رمز عبور را حذف می‌کند) و سپس می‌تواند به‌طور کامل از داخل چت:

  • پلن، سهمیه، مصرف و تاریخ انقضای خود را بررسی کند
  • فاکتورها را به‌صورت PDF مشاهده و دانلود کند
  • پروفایل خود را به‌روز کند و رمز عبورش را تغییر دهد
  • باز کردن و پیگیری تیکت‌های پشتیبانی

ربات همچنین اعلان‌های خودکار — یادآوری تمدید، اطلاعیه‌های انقضا، هشدارهای سهمیه و رسیدها — را به مشترکانی که Telegram را متصل کرده‌اند تحویل می‌دهد.

صفحه فرود مشترک منقضی

وقتی اشتراک مشترکی تمام می‌شود، روتر (پیکربندی‌شده با «پول منقضی و مسدودسازی اینترنت» ویزارد) مرورگر او را به صفحه دوستانه «اشتراک منقضی شد» هدایت می‌کند که SAMM روی پورت ۸۱ ارائه می‌دهد — با لوگوی ISP شما و دکمه ورود به پورتال — به‌جای اتصالی که بی‌صدا مرده است.

سیستم

REST API

System → API رابط عمومی /api/v1 را مدیریت می‌کند. تا ایجاد اولین توکن، API غیرفعال می‌ماند؛ نصبی که هرگز از آن استفاده نکند چیزی در معرض قرار نمی‌دهد. همه موارد زیر به‌صورت مستندات تعاملی OpenAPI — با کنسول آزمایش و طرح‌های کامل درخواست/پاسخ — روی نصب خودتان در /api/v1/docs نیز در دسترس است.

مستندات تعاملی (Swagger UI)

هر نصب یک کنسول زندهٔ API در /api/v1/docs ارائه می‌دهد — مستقیماً از پنل API در پرتال مدیریت در دسترس است. روی Authorize کلیک کنید، یک توکن بچسبانید، و آنگاه هر endpoint را می‌توان با Try it out روی داده‌های خودتان اجرا کرد؛ هر فراخوانی پاسخ واقعی به‌همراه یک دستور curl آمادهٔ کپی نشان می‌دهد.

هر endpoint یک شِمای کامل و نوع‌دار اعلام می‌کند — هم برای بدنهٔ درخواست و هم برای پاسخ — بنابراین نام فیلدها، نوع‌ها و نمونه‌ها بدون هیچ فراخوانی قابل مشاهده‌اند. همان شِما به‌صورت OpenAPI قابل خواندن توسط ماشین در /api/v1/openapi.json ارائه می‌شود که یک کلاینت کاملاً نوع‌دار به زبان دلخواه شما تولید می‌کند:

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

شروع سریع

  1. System → API را باز کنید (فقط ابرمدیر)، نام، انقضا و دامنه‌های موردنیاز اتصال را انتخاب و روی ایجاد توکن کلیک کنید.
  2. مقدار محرمانه را فورا کپی کنید — فقط یک بار نمایش داده می‌شود و سرور فقط چکیده آن را نگه می‌دارد.
  3. کارکرد آن را بررسی و ببینید توکن چه می‌تواند بکند:
curl -H "Authorization: Bearer samm_YOUR_TOKEN" https://YOUR-SAMM/api/v1/me

مشترکین فعال را فهرست و سپس یکی ایجاد کنید:

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

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

احراز هویت، توکن‌ها و دامنه‌ها

هر درخواست Authorization: Bearer <token> می‌فرستد. توکن نام، محدودیت نرخ در دقیقه، انقضا (۳۰–۳۶۰ روز یا هرگز) و مجموعه‌ای از دامنه‌ها دارد — مجوز خواندن/نوشتن برای هر منبع؛ دامنه write خودکار دامنه read متناظر را شامل می‌شود. مقدار محرمانه فقط یک بار نمایش داده می‌شود؛ سرور فقط چکیده را نگه می‌دارد. توکن را می‌توان باطل کرد (فراخوانی‌ها بلافاصله شکست می‌خورند، قابل بازگشت) یا برای همیشه حذف کرد.

پاسخ‌ها از یک مجموعه قرارداد پیروی می‌کنند: نقاط پایانی فهرستی limit/offset می‌گیرند و {"total", "items"} برمی‌گردانند؛ خطاها کدهای استاندارد دارند — 401 توکن غایب/نامعتبر/منقضی، 403 نبود دامنه، 404 یافت نشد، 409 تکراری، 422 خطای اعتبارسنجی و 429 هنگام رسیدن به حد نرخ (با Retry-After و X-RateLimit-*).

مرجع نقاط پایانی

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

فرمان‌های در صف

تغییراتی که به وضعیت زنده حسابداری دست می‌زنند — بازنشانی محدودیت‌ها، فعال/غیرفعال کردن کارت‌ها و گروه‌ها، تمدید اعتبار — داخل درخواست اعمال نمی‌شوند. در صف فرمان حسابرسی‌شده قرار می‌گیرند و samm-radius در یک تیک (چند ثانیه) اعمالشان می‌کند؛ دقیقا مانند همان کلیک‌ها در پورتال مدیریت. این نقاط {"queued": true} برمی‌گردانند؛ با GET /commands ببینید فرمان‌های توکن شما applied شده‌اند.

Webhooks

نشانی نقطه پایانی را ثبت و رویدادها را انتخاب کنید (ایجاد/ویرایش/تمدید/انقضای مشترک، اتمام محدودیت، ایجاد/پرداخت فاکتور، رویدادهای اختیاری نشست). مقدار محرمانه امضا فقط یک بار هنگام ایجاد برگردانده می‌شود. تحویل‌ها با فاصله افزایشی دوباره تلاش می‌شوند و نقطه پایانی که مدام شکست بخورد خودکار غیرفعال می‌شود — با POST /webhooks/{id}/enable دوباره فعالش کنید یا با POST /webhooks/{id}/test رویداد نمونه بفرستید.

هر تحویل X-SAMM-Event و X-SAMM-Signature: sha256=HMAC(body) دارد. پیش از اعتماد بررسی کنید:

import hmac, hashlib

def verify(body: bytes, signature_header: str, secret: str) -> bool:
    calc = "sha256=" + hmac.new(secret.encode(), body,
                                hashlib.sha256).hexdigest()
    return hmac.compare_digest(calc, signature_header)
همان قواعد پورتال تغییرات API از همان صف فرمان حسابرسی‌شده و لایه سرویس پورتال مدیریت می‌گذرد — بازنشانی یا تغییر طرح از طریق API دقیقا مانند کلیک در رابط عمل می‌کند، از جمله CoA.

مرجع

کار با SAMM

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

مدیریت سرویس

# 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

CLI مدیریت

برای عملیات سریع مشترکان از خط فرمان. هر دستور در گزارش رخدادها صف‌بندی می‌شود و در تیک بعدی samm-radius اعمال می‌گردد — دقیقاً مانند اقدامات رابط کاربری.

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

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

فایل‌های پیکربندی

فایلشامل
/etc/samm/samm.yamlDSN پایگاه داده، اندازه‌های connection-pool، سطح لاگ
/etc/samm/api.envکلیدهای مخفی نشست پورتال و تنظیمات SMTP بازیابی رمز عبور
/etc/samm/secret.keyکلید رمزگذاری برای رمزهای API روتر ذخیره‌شده

این فایل‌ها در طول ارتقاها حفظ می‌شوند و هرگز با اجرای مجدد نصب‌کننده بازنویسی نمی‌شوند. تنظیمات زمان اجرا (تناوب حلقه‌ها، زمان بازنشانی روزانه، پورت‌های CoA) به‌جای آن در Settings قرار دارند و بدون راه‌اندازی مجدد اعمال می‌شوند.

به‌روزرسانی SAMM

یا بگذارید SAMM خودش را از System → License به‌روز کند، یا نصب‌کننده را دوباره اجرا کنید — به Installation → Upgrading مراجعه کنید. هر دو مسیر مهاجرت‌ها را دوباره اعمال می‌کنند و سرویس‌ها را راه‌اندازی مجدد می‌کنند؛ پیکربندی و داده‌های شما دست‌نخورده می‌مانند.

پشتیبان‌گیری و بازیابی

پیش از هر تغییر عمده، از Tools → Backup & Restore برای یک عکس کامل از پایگاه داده استفاده کنید. برای بازسازی روی یک میزبان جدید، SAMM را نصب کنید و سپس پشتیبان را بازیابی کنید.

ابزار تعمیر و نگهداری (خارجی)

برخی از کارهای تعمیر و نگهداری به اندازه کافی مخرب هستند که به ادمین تعلق ندارند پانل، جایی که یک کلیک سرگردان می تواند یک تجارت زنده را نابود کند. SAMM آنها را به صورت مستقل نگه می دارد، اسکریپت های فقط روت که شما عمداً از پوسته دانلود و اجرا می کنید — هرگز به صورت دکمه. آنها در مخزن توزیع عمومی زیر زندگی می کنند ابزار/ .

بازنشانی رمز عبور مدیر قفل‌شده

دسترسی به پنل مدیریت را از دست داده‌اید؟ رمز عبور تازه‌ای برای یک حساب 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> یکی را انتخاب کنید.

کتاب‌ها را بازنشانی کنید (داده‌های مالی را پاک کنید)

هر تراکنش مالی را پاک می کند تا یک ISP بتواند حسابداری خود را از صفر شروع کند. در حالی که تمام داده های مشترک و 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 اجرا نکنید. برای اسکریپتی که داده های شما را از بین می برد می خواهید ابتدا آن را بخوانید، و دانلود کوتاه شده نباید بتواند نیمی از a را اجرا کند پاک کن دانلود کنید، بررسی کنید، سپس اجرا کنید.

اسکریپت از اجرا به عنوان یک کاربر غیر ریشه امتناع می ورزد، دقیقاً همان چیزی را که قرار است چاپ کند حذف کنید، سپس از شما می‌خواهد که YES را تایپ کنید تا تأیید کنید که یک نسخه پشتیبان تأیید شده دارید و برای ادامه WIPE . پیشنهاد می کند ابتدا پایگاه داده خود را تخلیه کند (به /var/backups/samm/ ) و در صورت عدم موفقیت این dump لغو می شود. پاک کن به صورت a اجرا می شود یک تراکنش همه یا هیچ، و 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 در کنار روترهای هسته خود اجرا می‌کنند؛ برخی روی یک VM ابری کوچک با یک تونل Cloudflare Zero Trust به‌عقب اجرا می‌کنند. تنها لازمه این است که روترهای MikroTik بتوانند سرور SAMM را روی پورت‌های RADIUS (1812/1813 UDP) دریافت کنند و SAMM بتواند روترها را از طریق API میکروتیک دریافت کند.

آیا هنگام افزودن یا حذف یک روتر باید FreeRADIUS را راه‌اندازی مجدد کنم؟

خیر. SAMM کلاینت‌های NAS را به‌صورت پویا از پایگاه داده تشخیص می‌دهد، بنابراین افزودن، ویرایش یا حذف یک روتر در MikroTik → NAS بدون راه‌اندازی مجدد اعمال می‌شود.

تغییر پلن یا بازنشانی شمارنده با چه سرعتی اعمال می‌شود؟

اقدامات مدیریتی صف‌بندی می‌شوند و توسط سرویس samm-radius در تیک بعدی‌اش اعمال می‌گردند — به‌طور پیش‌فرض ظرف ۳۰ ثانیه. اگر مشترک آنلاین باشد، SAMM همچنین یک CoA زنده برای تازه‌سازی نشست ارسال می‌کند. برای زمان‌بندی دقیق‌تر، بازه samm-radius را در System → Settings کاهش دهید.

اگر یک مجوز پولی منقضی شود، چه بلایی سر داده‌های من می‌آید؟

هیچ چیز هرگز حذف نمی‌شود. یک مجوز منقضی‌شده مرحله‌به‌مرحله از هشدار، مهلت، یک قفل نرم (RADIUS حدود یک هفته به احراز هویت ادامه می‌دهد) و در نهایت یک قفل سخت پایین می‌آید. فعال‌سازی مجدد در هر مرحله، همه سرویس‌ها را با تمام داده‌های دست‌نخورده راه‌اندازی می‌کند.

آیا SAMM رایگان است؟ Pro چه چیزی اضافه می‌کند؟

سطح Free برای همیشه رایگان است و شامل تمام قابلیت‌ها می‌شود. Plus، Pro و Pro Max قابلیتی را باز نمی‌کنند — آن‌ها سقف کاربران AAA، کارت‌های hotspot و روترها را افزایش می‌دهند. به Licensing & tiers مراجعه کنید.

یک مشترک نمی‌تواند احراز هویت شود — از کجا شروع کنم؟

بررسی کنید که shared secret مربوط به RADIUS روتر دقیقاً با رکورد NAS مطابقت دارد، که روتر برای PPP / Hotspot RADIUS فعال است، و اینکه حساب مشترک فعال (Active) و منقضی‌نشده است. journalctl -u samm-api -f و لاگ FreeRADIUS را زیر نظر بگیرید و تأیید کنید که روتر می‌تواند میزبان SAMM را روی UDP 1812/1813 دریافت کند.

به کمک بیشتری نیاز دارید؟

برای گزارش یک اشکال یا درخواست یک قابلیت به [email protected] ایمیل بزنید.