Skip to content

فهرست‌گیری و فیلتر با API Token

اسکریپت فهرست‌گیری با API Token برای اسکریپت‌ها، کارهای خودکار و برنامه‌های بیرونی مناسب است که باید داده‌های ImgHost را بخوانند. این اسکریپت فقط از مجوز list استفاده می‌کند. فایل آپلود نمی‌کند، فایل حذف نمی‌کند، تنظیمات را تغییر نمی‌دهد و برای هیچ IP امکان آپلود را نمی‌بندد یا باز نمی‌کند.

ویرایش API Token

کاربردهای اصلی:

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

آماده‌سازی

در پنل مدیریت باز کنید:

text
System Settings -> Security Settings -> API Token

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

API Token را می‌توان در متغیر محیطی هم قرار داد:

powershell
$env:IMGHOST_API_TOKEN="your API Token"

دانلود اسکریپت

اسکریپتکاربرد
اسکریپت فهرست‌گیری و فیلترفهرست مدیریت فایل، فهرست مدیریت کاربران، فهرست کانال‌های آپلود و جدول آمار پوشه‌ها

برای اجرا، Node.js 18 یا نسخه جدیدتر لازم است.

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

پارامترضروریتوضیح
--base-url <url>بلهنشانی سایت ImgHost، مانند https://image.ai6.me
--token <token>بلهAPI Token؛ می‌توان از متغیر محیطی IMGHOST_API_TOKEN هم استفاده کرد
--retries <n>خیرتعداد تلاش دوباره هنگام خطای موقت؛ پیش‌فرض 3
--timeout-ms <n>خیرزمان مجاز یک درخواست؛ پیش‌فرض 180000
--output <pretty|json>خیرقالب خروجی؛ پیش‌فرض pretty؛ برای پردازش برنامه‌ای بهتر است json استفاده شود
--save-response <path>خیرنتیجه نهایی را در فایل JSON ذخیره می‌کند
-h / --helpخیرراهنمای اسکریپت را نشان می‌دهد

فهرست مدیریت فایل

نمایش فایل‌های مدیریت فایل:

powershell
node imghost-token-list.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --files `
  --count 10

خروجی JSON:

powershell
node imghost-token-list.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --files `
  --count 10 `
  --output json

خواندن فقط تعداد در شرایط فیلتر فعلی:

powershell
node imghost-token-list.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --file-summary `
  --dir "photos/2026" `
  --recursive

پارامترهای مدیریت فایل

پارامترتوضیح
--filesفایل‌ها را فهرست می‌کند
--file-summaryفقط آمار تعداد را می‌خواند
--start <n>جابه‌جایی صفحه‌بندی
--count <n>تعداد رکوردهای برگشتی
--dir <path>پوشه مشخص
--recursiveفایل‌های داخل زیرپوشه‌ها را هم شامل می‌شود
--search <text>کلیدواژه جست‌وجو
--channel <key>فیلتر بر اساس کانال اصلی آپلود، مانند github، s3 یا yandex
--channel-scope <primary|backup|all>دامنه فیلتر کانال: کانال اصلی، کانال پشتیبان یا همه
--channel-name-groups <value>فیلتر گروه‌های کانال فرعی؛ با قالب فعلی سمت سرور ارسال می‌شود
--list-type <csv>نوع فهرست، معمولاً None,White,Block
--include-tags <csv>باید این برچسب‌ها را داشته باشد
--exclude-tags <csv>این برچسب‌ها را حذف می‌کند
--time-start <ms>زمان شروع آپلود، به‌صورت برچسب زمانی میلی‌ثانیه
--time-end <ms>زمان پایان آپلود، به‌صورت برچسب زمانی میلی‌ثانیه
--file-exts <csv>فقط پسوندهای مشخص را شامل می‌کند، مانند jpg,png,pdf
--exclude-file-exts <csv>پسوندهای مشخص را حذف می‌کند
--file-status-categories <csv>دسته‌های فایل: image,audio,video,document,code,other
--upload-ip <ip>فیلتر بر اساس پیشوند IP آپلود
--age-ratings <csv>درجه‌بندی سنی: none,all-ages,r12,r16,r18
--orientation <csv>فیلتر جهت تصویر؛ با مقدارهای فعلی سمت سرور ارسال می‌شود
--read-source <csv>فیلتر منبع خواندن؛ با مقدارهای فعلی سمت سرور ارسال می‌شود
--access-status <normal|blocked>وضعیت دسترسی عمومی
--min-width <n>کمترین عرض
--max-width <n>بیشترین عرض
--min-height <n>کمترین ارتفاع
--max-height <n>بیشترین ارتفاع
--min-file-size <mb>کمترین اندازه فایل؛ از پارامتر MB فعلی سمت سرور استفاده می‌کند
--max-file-size <mb>بیشترین اندازه فایل؛ از پارامتر MB فعلی سمت سرور استفاده می‌کند

نمونه‌های مدیریت فایل

جست‌وجوی PDF:

powershell
node imghost-token-list.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --files `
  --search "pdf" `
  --file-status-categories "document" `
  --count 20

فیلتر بر اساس IP آپلود و کانال:

powershell
node imghost-token-list.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --files `
  --upload-ip "103.62" `
  --channel yandex `
  --channel-scope primary

ذخیره نتیجه کامل:

powershell
node imghost-token-list.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --files `
  --count 100 `
  --output json `
  --save-response ".\files.json"

فهرست مدیریت کاربران

نمایش آمار آپلود کاربر/IP:

powershell
node imghost-token-list.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --users `
  --count 20

جست‌وجوی یک IP یا نشانی:

powershell
node imghost-token-list.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --users `
  --search "43.198.183.56"

دیدن جزئیات فایل‌های آپلودشده از یک IP:

powershell
node imghost-token-list.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --user-detail `
  --ip "43.198.183.56" `
  --count 20

نمایش IPهای ممنوع از آپلود:

powershell
node imghost-token-list.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --blocked-ips

پارامترهای مدیریت کاربران

پارامترتوضیح
--usersآمار آپلود کاربر/IP را فهرست می‌کند
--user-detailجزئیات فایل‌های آپلودشده از یک IP مشخص را نشان می‌دهد
--blocked-ipsIPهای ممنوع از آپلود را فهرست می‌کند
--ip <ip>همراه --user-detail ضروری است
--start <n>جابه‌جایی صفحه‌بندی
--count <n>تعداد رکوردهای برگشتی
--sort <value>مرتب‌سازی: timeDesc، timeAsc، countDesc، countAsc، totalSizeDesc، totalSizeAsc
--search <text>جست‌وجوی IP یا نشانی
--upload-status <allowed|blocked>آیا آپلود مجاز است
--start-time <ms>زمان شروع آمار، به‌صورت برچسب زمانی میلی‌ثانیه
--end-time <ms>زمان پایان آمار، به‌صورت برچسب زمانی میلی‌ثانیه
--file-status-categories <csv>فیلتر دسته فایل
--age-ratings <csv>فیلتر درجه‌بندی سنی
--min-file-size <mb>کمترین اندازه فایل
--max-file-size <mb>بیشترین اندازه فایل
--list-type <csv>نوع فهرست، معمولاً None,White,Block
--access-status <normal|blocked>وضعیت دسترسی عمومی

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

نمایش کاربران ممنوع از آپلود:

powershell
node imghost-token-list.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --users `
  --upload-status blocked

جست‌وجو با کلیدواژه نشانی:

powershell
node imghost-token-list.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --users `
  --search "Hong Kong"

مرتب‌سازی بر اساس تعداد آپلود:

powershell
node imghost-token-list.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --users `
  --sort countDesc `
  --count 50

فهرست کانال‌های آپلود

نمایش پیکربندی کانال‌های آپلود پس از حذف اطلاعات حساس:

powershell
node imghost-token-list.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --channels

داده‌های برگشتی شامل این موارد است:

فیلدتوضیح
typeنوع کانال اصلی آپلود، مانند github، s3 یا yandex
nameنام کانال فرعی یا حساب
enabledآیا فعال است
load_balance_enabledآیا توازن بار برای این نوع کانال فعال است
quota_enabledآیا بررسی ظرفیت فعال است
quota_limit_bytesسقف ظرفیت
quota_used_bytesظرفیت استفاده‌شده
quota_checked_atزمان بررسی ظرفیت
tag_jsonبرچسب‌های غیرحساس، مانند مخزن عمومی یا مخزن خصوصی
created_at / updated_atزمان ساخت و زمان به‌روزرسانی

این رابط کلید محرمانه، توکن تازه‌سازی، توکن موقت، گذرواژه یا هیچ پیکربندی حساس دیگری را برنمی‌گرداند.

جدول آمار پوشه‌ها

نمایش آمار پوشه‌ها:

powershell
node imghost-token-list.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --directories `
  --limit 20

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

powershell
node imghost-token-list.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --directories `
  --scope full `
  --search-prefix "test" `
  --include-parents `
  --limit 10

پارامترهای آمار پوشه‌ها

پارامترتوضیح
--directoriesجدول آمار پوشه‌ها را فهرست می‌کند
--dir <path>فهرست از کدام پوشه آغاز شود
--scope <direct|full>direct فقط پوشه‌های مستقیم را فهرست می‌کند، full مسیر کامل را فهرست می‌کند
--search-prefix <path>جست‌وجو بر اساس پیشوند پوشه
--include-parentsدر حالت full پوشه‌های بالادستی را هم می‌آورد
--limit <n>تعداد رکوردهای برگشتی؛ بیشترین مقدار سمت سرور 100 است
--cursor <path>نشانگر صفحه بعد

قالب خروجی

خروجی پیش‌فرض pretty برای خواندن دستی مناسب است:

powershell
node imghost-token-list.mjs --base-url "https://your-domain" --token "your API Token" --users --count 5

اگر می‌خواهید نتیجه را به برنامه دیگری بدهید، از --output json استفاده کنید:

powershell
node imghost-token-list.mjs --base-url "https://your-domain" --token "your API Token" --users --count 5 --output json

می‌توانید نتیجه کامل را هم ذخیره کنید:

powershell
node imghost-token-list.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --users `
  --count 5 `
  --output json `
  --save-response ".\users.json"

پرسش‌های رایج

آیا این اسکریپت داده‌ها را تغییر می‌دهد؟

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

چرا مجوز list لازم است؟

فهرست مدیریت فایل، فهرست مدیریت کاربران، فهرست کانال‌های بدون اطلاعات حساس و آمار پوشه‌ها همگی قابلیت خواندن هستند؛ بنابراین API Token فقط به مجوز list نیاز دارد.

چگونه همه پارامترهای قابل استفاده را ببینم؟

اجرا کنید:

powershell
node imghost-token-list.mjs --help

اسکریپت همه عملیات و پارامترها را نشان می‌دهد.

Released as user documentation for ImgHost.