alirezax5/pasarguard-api-php

There is no license information available for the latest version (1.0.0) of this package.

Pasarguard API client for PHP - proxy management panel client

Maintainers

Package info

github.com/alirezax5/pasarguard-api-php

pkg:composer/alirezax5/pasarguard-api-php

Statistics

Installs: 3

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.0.0 2026-06-29 07:47 UTC

This package is auto-updated.

Last update: 2026-06-29 08:01:28 UTC


README

Pasarguard API Client for PHP

کلاینت PHP برای ارتباط با PasarGuard — پنل مدیریت پراکسی. مستندات رسمی API در docs.pasarguard.org در دسترس است.

این پروژه صرفاً جهت توسعهٔ سریع در GitHub قرار گرفته است؛ مسئولیت و عواقب استفاده از پروژه با خود توسعه‌دهنده است.

درباره پروژه

این پکیج امکان ارتباط با API پاسارگارد را از طریق PHP فراهم می‌کند و شامل تمام Endpoint‌های کاربری، مدیریت، نودها، گروه‌ها، Core‌ها، قالب‌ها و سیستم است.

نصب

برای نصب دستور زیر را در cmd اجرا کنید (نکته: باید از قبل Composer را نصب کرده باشید).

composer require alirezax5/pasarguard-api-php

اجرا

<?php
include 'vendor/autoload.php';

use Pasarguard\Api\Pasarguard;

$pg = new Pasarguard('https://your-panel-url/', '/getConfig/');
$an = $pg->admin->adminToken('username', 'password');
$pg->setToken($an->access_token);

$users = $pg->user->all();

ساختار Endpoint‌ها

کلاس اصلی Pasarguard دارای ویژگی‌های زیر است که هر کدام یک گروه از API را پوشش می‌دهند:

ویژگی توضیح
admin مدیریت ادمین‌ها و توکن
adminRoles نقش‌های ادمین
user مدیریت کاربران (الگوی سه‌گانه)
userHWID مدیریت HWID کاربر
userTemplate قالب‌های کاربر
node مدیریت نودها
core مدیریت Core‌ها
groups مدیریت گروه‌ها
host مدیریت هاست‌ها
clientTemplate قالب‌های کلاینت
settings تنظیمات پنل
system آمار سیستم
setup راه‌اندازی Owner
subscription سابسکریپشن (عمومی)

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

بیشتر عملیات کاربر/ادمین در سه نسخه موجود هستند:

$pg->user->get('ali');               // /api/user/{username}
$pg->user->getByUsername('ali');     // /api/user/by-username/{username}
$pg->user->getById(123);             // /api/user/by-id/{user_id}

مدیریت خطا

تمام خطاهای HTTP به‌صورت GuzzleHttp\Exception\RequestException پرتاب می‌شوند:

try {
    $pg->user->create([...]);
} catch (\GuzzleHttp\Exception\RequestException $e) {
    $code = $pg->getHttpClient()->getHttpCode();
    echo "خطای HTTP: $code";
}

ویژگی‌های فنی

  • فیلتر یکپارچهٔ مقادیر null (فقط در HttpClient)
  • type hint کامل در تمام پارامترها
  • پشتیبانی از هدر سفارشی در همهٔ متدهای HTTP
  • یکپارچه‌سازی نام‌گذاری (ById با D بزرگ)
  • عدم ذخیرهٔ تکراری توکن
  • پشتیبانی از مسیر /getConfig/ و هدرهای HWID در Subscription
  • پشتیبانی از الگوی سه‌گانهٔ دسترسی ({username} / by-username / by-id)

حمایت

جهت حمایت می‌توانید به پروژه ستاره بدهید.