Skip to content

Listowanie i filtrowanie przez API Token

Skrypt listowania przez API Token jest przeznaczony dla skryptów, automatyzacji i programów zewnętrznych, które muszą odczytywać dane ImgHost. Używa wyłącznie uprawnienia list; nie przesyła plików, nie usuwa plików, nie zmienia konfiguracji ani nie blokuje i nie odblokowuje przesyłania z konkretnego IP.

Edycja API Token

Główne zastosowania:

FunkcjaOpis
Lista w zarządzaniu plikamiOdczytuje listę plików z panelu administracyjnego i obsługuje zaawansowane parametry filtrowania z zarządzania plikami
Lista w zarządzaniu użytkownikamiOdczytuje statystyki przesyłania użytkowników/IP i obsługuje parametry filtrowania z zarządzania użytkownikami
Lista kanałów przesyłaniaOdczytuje odtajnione kanały przesyłania, podkanały, pojemność i informacje o równoważeniu obciążenia
Tabela statystyk katalogówOdczytuje statystyki katalogów i informacje o stronicowaniu katalogów

Przygotowanie

W panelu administracyjnym otwórz:

text
System Settings -> Security Settings -> API Token

Podczas tworzenia lub edycji API Tokena upewnij się, że Token ma pozwolenie na listowanie. Ten skrypt potrzebuje tylko uprawnienia list.

Token można też przekazać przez zmienną środowiskową:

powershell
$env:IMGHOST_API_TOKEN="your API Token"

Pobieranie skryptu

SkryptZastosowanie
skrypt listowania i filtrowaniaLista w zarządzaniu plikami, lista w zarządzaniu użytkownikami, lista kanałów przesyłania, tabela statystyk katalogów

Wymagany jest Node.js 18 lub nowszy.

Parametry ogólne

ParametrWymaganyOpis
--base-url <url>TakAdres ImgHost, np. https://image.ai6.me
--token <token>TakAPI Token; można użyć IMGHOST_API_TOKEN
--retries <n>NiePróby ponowienia przy błędach tymczasowych; domyślnie 3
--timeout-ms <n>NieTimeout jednego requestu; domyślnie 180000
--output <pretty|json>NieFormat wyjścia; domyślnie pretty. Do wywołań programowych zalecany jest json
--save-response <path>NieZapisuje wynik końcowy jako JSON
-h / --helpNiePokazuje pomoc skryptu

Lista w zarządzaniu plikami

Wyświetl pliki z zarządzania plikami:

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

Wypisz JSON:

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

Odczytaj tylko liczbę w bieżących warunkach filtrowania:

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

Parametry zarządzania plikami

ParametrOpis
--filesWyświetla pliki
--file-summaryOdczytuje tylko statystykę liczby plików
--start <n>Przesunięcie stronicowania
--count <n>Liczba zwracanych wyników
--dir <path>Wskazuje katalog
--recursiveUwzględnia pliki z podkatalogów
--search <text>Szuka słowa kluczowego
--channel <key>Filtruje według głównego kanału przesyłania, np. github, s3, yandex
--channel-scope <primary|backup|all>Zakres filtrowania kanału: kanał główny, zapasowy albo wszystkie
--channel-name-groups <value>Filtr grup podkanałów; przekazywany bez zmian do istniejącego parametru serwera
--list-type <csv>Typ listy; często używane wartości to None,White,Block
--include-tags <csv>Tagi, które muszą wystąpić
--exclude-tags <csv>Tagi do wykluczenia
--time-start <ms>Początek czasu przesyłania, znacznik czasu w milisekundach
--time-end <ms>Koniec czasu przesyłania, znacznik czasu w milisekundach
--file-exts <csv>Uwzględnia tylko wskazane rozszerzenia, np. jpg,png,pdf
--exclude-file-exts <csv>Wyklucza wskazane rozszerzenia
--file-status-categories <csv>Kategorie plików: image,audio,video,document,code,other
--upload-ip <ip>Filtruje według prefiksu IP przesyłania
--age-ratings <csv>Klasyfikacja wiekowa: none,all-ages,r12,r16,r18
--orientation <csv>Filtr orientacji; przekazywany bez zmian do istniejących wartości serwera
--read-source <csv>Filtr źródła odczytu; przekazywany bez zmian do istniejących wartości serwera
--access-status <normal|blocked>Status publicznego dostępu
--min-width <n>Minimalna szerokość
--max-width <n>Maksymalna szerokość
--min-height <n>Minimalna wysokość
--max-height <n>Maksymalna wysokość
--min-file-size <mb>Minimalny rozmiar pliku; jednostka używa istniejącego parametru MB serwera
--max-file-size <mb>Maksymalny rozmiar pliku; jednostka używa istniejącego parametru MB serwera

Przykłady zarządzania plikami

Szukaj 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

Filtruj według IP przesyłania i kanału:

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

Zapisz pełny wynik:

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

Lista w zarządzaniu użytkownikami

Wyświetl statystyki przesyłania użytkowników/IP:

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

Szukaj konkretnego IP albo lokalizacji:

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

Zobacz szczegóły plików przesłanych przez konkretne 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

Wyświetl IP z zablokowanym przesyłaniem:

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

Parametry zarządzania użytkownikami

ParametrOpis
--usersWyświetla statystyki przesyłania użytkowników/IP
--user-detailPokazuje szczegóły plików przesłanych przez konkretne IP
--blocked-ipsWyświetla IP z zablokowanym przesyłaniem
--ip <ip>Wymagany przy --user-detail
--start <n>Przesunięcie stronicowania
--count <n>Liczba zwracanych wyników
--sort <value>Sortowanie: timeDesc, timeAsc, countDesc, countAsc, totalSizeDesc, totalSizeAsc
--search <text>Szuka IP albo lokalizacji
--upload-status <allowed|blocked>Czy przesyłanie jest dozwolone
--start-time <ms>Początek okresu statystyk, znacznik czasu w milisekundach
--end-time <ms>Koniec okresu statystyk, znacznik czasu w milisekundach
--file-status-categories <csv>Filtr kategorii plików
--age-ratings <csv>Filtr klasyfikacji wiekowej
--min-file-size <mb>Minimalny rozmiar pliku
--max-file-size <mb>Maksymalny rozmiar pliku
--list-type <csv>Typ listy; często używane wartości to None,White,Block
--access-status <normal|blocked>Status publicznego dostępu

Przykłady zarządzania użytkownikami

Wyświetl użytkowników z zablokowanym przesyłaniem:

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

Szukaj po słowie kluczowym lokalizacji:

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

Sortuj według liczby przesłań:

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

Lista kanałów przesyłania

Wyświetl odtajnioną konfigurację kanałów przesyłania:

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

Wynik zawiera:

PoleOpis
typeGłówny kanał przesyłania, np. github, s3, yandex
nameNazwa podkanału albo konta
enabledCzy jest włączony
load_balance_enabledCzy load balancing jest włączony dla tego głównego kanału
quota_enabledCzy sprawdzanie pojemności jest włączone
quota_limit_bytesLimit pojemności
quota_used_bytesUżyta pojemność
quota_checked_atCzas sprawdzenia pojemności
tag_jsonNiewrażliwe tagi, np. publiczne albo prywatne repozytorium
created_at / updated_atCzas utworzenia i aktualizacji

To API nie zwraca kluczy, tokenów odświeżania, tokenów tymczasowych, haseł ani innej wrażliwej konfiguracji.

Tabela statystyk katalogów

Wyświetl statystyki katalogów:

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

Wyświetl pełne ścieżki katalogów i szukaj po prefiksie:

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

Parametry statystyk katalogów

ParametrOpis
--directoriesWyświetla tabelę statystyk katalogów
--dir <path>Katalog, od którego zacząć listowanie
--scope <direct|full>direct pokazuje tylko katalogi bezpośrednie, full pokazuje pełne ścieżki
--search-prefix <path>Szuka po prefiksie katalogu
--include-parentsW trybie full dołącza także katalogi nadrzędne
--limit <n>Liczba zwracanych wyników; serwer zwraca maksymalnie 100
--cursor <path>Kursor następnej strony

Format wyjścia

Domyślny format pretty nadaje się do czytania przez człowieka:

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

Jeżeli wynik ma przetwarzać inny program, użyj --output json:

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

Możesz też zapisać pełny wynik:

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

FAQ

Czy ten skrypt zmienia dane?

Nie. Ten skrypt wywołuje tylko API odczytu. Nie przesyła, nie usuwa, nie przenosi plików, nie edytuje konfiguracji ani nie blokuje i nie odblokowuje przesyłania z konkretnego IP.

Dlaczego potrzebne jest uprawnienie list?

Lista w zarządzaniu plikami, lista w zarządzaniu użytkownikami, odtajniona lista kanałów i statystyki katalogów to funkcje odczytu, więc wystarczy uprawnienie list dla API Tokena.

Jak sprawdzić dostępne parametry?

Uruchom:

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

Skrypt pokaże wszystkie akcje i parametry.

Released as user documentation for ImgHost.