Skip to content

گروه‌ها ​

گروه اینباندهایش را به همهٔ کاربران عضو می‌دهد. کاربری که در یک یا چند گروه است، اجتماع اینباندهای آن گروه‌ها را می‌گیرد. این مسیرها گروه‌ها را فهرست، ایجاد، تغییر و گروهی مدیریت می‌کنند و گروه کاربران را اضافه یا حذف می‌کنند.

گروهی با همهٔ اینباندها (allServers) اینباندهایی را که بعداً اضافه می‌شوند هم شامل می‌شود. گروه خاموش دسترسی نمی‌دهد. زمان با ثانیهٔ یونیکس است.

فهرست گروه‌ها ​

GET/api/groupsدسترسیgroups.view

گروه‌های قابل مشاهده برای حساب را برمی‌گرداند. نماینده فقط گروه‌هایی را می‌بیند که به او داده شده.

bash
curl -sS -H "Authorization: Bearer $OVIRA_TOKEN" "$BASE/groups"
json
{
  "items": [
    {
      "id": 3,
      "name": "Iran",
      "note": "Low-latency inbounds",
      "disabled": false,
      "allServers": false,
      "instances": [12, 21],
      "clients": 42,
      "createdAt": 1793000000
    }
  ]
}

ساخت گروه ​

POST/api/groupsدسترسیgroups.manage
فیلدنوعلازممعنی
namestringبله۱ تا ۴۰ نویسه. یکتا.
notestringخیرمتن آزاد، حداکثر ۲۰۰ نویسه.
disabledbooleanخیرtrue گروه را بدون دسترسی می‌کند.
allServersbooleanخیرtrue همهٔ اینباندها، حتی بعداً اضافه‌شده‌ها را شامل می‌شود.
instancesinteger[]خیرشناسهٔ اینباندهایی که گروه می‌دهد.
bash
curl -sS -H "Authorization: Bearer $OVIRA_TOKEN" \
  -H "Content-Type: application/json" -X POST "$BASE/groups" \
  -d '{"name":"Iran","note":"Low-latency inbounds","instances":[12,21]}'
json
{
  "id": 3,
  "name": "Iran",
  "note": "Low-latency inbounds",
  "disabled": false,
  "allServers": false,
  "instances": [12, 21],
  "clients": 0,
  "createdAt": 1795919000
}

400 با field: name یعنی نام خالی، بلند یا تکراری است.

تغییر گروه ​

PUT/api/groups/{id}دسترسیgroups.manage

همان فیلدهای ساخت را می‌فرستد. تغییر همان لحظه به همهٔ کاربران گروه می‌رسد.

bash
curl -sS -H "Authorization: Bearer $OVIRA_TOKEN" \
  -H "Content-Type: application/json" -X PUT "$BASE/groups/3" \
  -d '{"name":"Iran","note":"Updated","allServers":true}'
json
{
  "id": 3,
  "name": "Iran",
  "note": "Updated",
  "disabled": false,
  "allServers": true,
  "instances": [],
  "clients": 42,
  "createdAt": 1793000000
}

404 یعنی چنین گروهی نیست یا خارج از دسترس حساب است.

روشن، خاموش یا حذف چند گروه ​

POST/api/groups/bulkدسترسیgroups.manage
فیلدنوعلازممعنی
idsinteger[]بلهشناسهٔ گروه‌ها.
actionstringبلهenable، disable یا delete.
bash
curl -sS -H "Authorization: Bearer $OVIRA_TOKEN" \
  -H "Content-Type: application/json" -X POST "$BASE/groups/bulk" \
  -d '{"ids":[3,4],"action":"disable"}'

پاسخ 204 بدون بدنه است. 400 یعنی کار یکی از آن سه نیست.

افزودن یا حذف گروه کاربران ​

POST/api/groups/assignدسترسیgroups.manage

عضویت گروهی چند کاربر را در یک درخواست تغییر می‌دهد. گروه‌های دیگر کاربر می‌مانند.

فیلدنوعلازممعنی
clientsinteger[]بلهشناسهٔ کاربران.
addinteger[]خیرشناسهٔ گروه‌هایی که اضافه می‌شوند.
removeinteger[]خیرشناسهٔ گروه‌هایی که حذف می‌شوند.
bash
curl -sS -H "Authorization: Bearer $OVIRA_TOKEN" \
  -H "Content-Type: application/json" -X POST "$BASE/groups/assign" \
  -d '{"clients":[118,119],"add":[3],"remove":[2]}'

پاسخ 204 بدون بدنه است. 400 یعنی شناسهٔ کاربر یا گروه برای حساب معتبر نیست.

صفحه‌های مرتبط ​

نرم‌افزار انحصاری · مستندات آزاد برای اشتراک