Skip to content

API Token ile Yapılandırma Yönetimi

API Token yapılandırma yönetimi otomasyon betikleri, operasyon araçları veya üçüncü taraf kontrol panelleri için tasarlanmıştır. Yönetim sayfasını açmadan yükleme kanalı yapılandırmasını, güvenlik ayarlarını, sayfa ayarlarını, diğer ayarları ve hafif federasyon ilişkilerini okuyup güncelleyebilir.

Yönetim izni yalnızca betiklere uygun hafif işlemleri açar. Tarayıcı onayı, ön yüz toplu işleri veya federasyon dizini temizliği gerektiren ağır işlemler yine tarayıcıdaki yönetim panelinde yapılmalıdır.

API Token düzenleme

Başlamadan Önce

Yönetim panelini açın, ardından şuraya gidin:

text
System Settings -> Security Settings -> API Token

API Token oluştururken veya düzenlerken yönetim izni olduğundan emin olun. Yönetim izni site yapılandırmasını değiştirebilir; bu yüzden yalnızca güvenilir betiklere veya güvenilir kullanıcılara verin.

Üç yönetim betiği de yazma işlemleri için varsayılan olarak deneme modunu kullanır. Önizlemeyi inceledikten sonra değişiklikleri gerçekten kaydetmek için --apply ekleyin.

Token değerini bir ortam değişkenine de koyabilirsiniz:

powershell
$env:IMGHOST_API_TOKEN="your API Token"

Yönetim Betiklerini İndirme

Dokümantasyon paketi üç Node.js betiği sağlar:

BetikAmaç
Yükleme ayarları yönetim betiğiYükleme kanallarını, alt kanalları ve yük dengelemeyi yönetir.
Site ayarları yönetim betiğiGüvenlik ayarlarını, sayfa ayarlarını ve diğer ayarları yönetir.
Federasyon ilişkisi yönetim betiğiHafif federasyon ilişkisi işlemlerini, istekleri ve mesajları yönetir.

Node.js 18 veya üzeri gerekir.

Ortak Parametreler

ParametreGerekliAçıklama
--base-url <url>EvetImgHost site URL'si, örneğin https://image.ai6.me.
--token <token>EvetAPI Token. IMGHOST_API_TOKEN ortam değişkenini de kullanabilirsiniz.
--retries <n>HayırGeçici hata yeniden deneme sayısı. Varsayılan 3.
--timeout-ms <n>Hayırİstek zaman aşımı. Varsayılan 180000.
--output <pretty|json>HayırÇıktı biçimi. Varsayılan pretty; programlar için json kullanın.
--save-response <path>HayırSon JSON sonucunu dosyaya kaydeder.
--applyHayırYazmaları gerçekten uygular. Yoksa yazma işlemleri yalnızca önizleme yapar.
-h / --helpHayırBetik yardımını gösterir.

Yükleme Ayarları

Yükleme ayarları betiği yükleme alt kanallarını listeler, okur, oluşturur, düzenler ve siler. Ayrıca bir üst düzey yükleme kanalı için yük dengelemeyi açıp kapatabilir.

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

Yükleme Ayarları Parametreleri

ParametreAçıklama
--listYükleme ayarı gruplarını listeler.
--getÜst düzey kanalı veya onun altındaki bir alt kanalı okur.
--upsertBir alt kanal oluşturur veya düzenler. --apply ayarlanmadıkça deneme modudur.
--deleteBir alt kanalı siler. --apply ayarlanmadıkça deneme modudur.
--load-balance <true|false>Üst düzey kanal için yük dengelemeyi açar veya kapatır.
--channel <key>Üst düzey yükleme kanalı, örneğin s3, github veya telegram.
--channel-name <name>Alt kanal veya hesap adı.
--set key=valueBir alanı ayarlar. Tekrarlanabilir. Noktalı yollar desteklenir.
--patch-json <path>Bir JSON dosyasındaki alanları birleştirir.
--applyYazma sonucunu kaydeder.

Kanal Key Değerleri

Kanal KeyKanal
telegram / tgTelegram
discord / dcDiscord
cfr2 / r2Cloudflare R2
s3S3
webdav / wdWebDAV depolama kanalı
github / ghGitHub Releases
gitlab / glGitLab Packages
huggingface / hfHugging Face
onedrive / odOneDrive
googledrive / google / gdGoogle Drive
dropbox / dbDropbox
yandex / yxYandex Disk
pcloud / pdpCloud

Yükleme Ayarları Örnekleri

Tüm yükleme ayarlarını listeleme:

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

S3 kanal yapılandırmasını okuma:

powershell
node imghost-token-upload-settings.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --get `
  --channel s3

Bir S3 alt kanalını okuma:

powershell
node imghost-token-upload-settings.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --get `
  --channel s3 `
  --channel-name "backup-s3"

Bir alt kanal oluşturma veya düzenleme. Önce --apply olmadan çalıştırıp önizleyin:

powershell
node imghost-token-upload-settings.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --upsert `
  --channel webdav `
  --channel-name "backup-webdav" `
  --set enabled=false `
  --set remark="backup test"

Onayladıktan sonra kaydedin:

powershell
node imghost-token-upload-settings.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --upsert `
  --channel webdav `
  --channel-name "backup-webdav" `
  --set enabled=false `
  --set remark="backup test" `
  --apply

Bir alt kanalı silme:

powershell
node imghost-token-upload-settings.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --delete `
  --channel webdav `
  --channel-name "backup-webdav" `
  --apply

S3 yük dengelemeyi etkinleştirme:

powershell
node imghost-token-upload-settings.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --load-balance true `
  --channel s3 `
  --apply

Karmaşık alanlar için bir JSON dosyası yazıp --patch-json ile verin:

json
{
  "enabled": true,
  "remark": "primary account"
}
powershell
node imghost-token-upload-settings.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --upsert `
  --channel s3 `
  --channel-name "primary-s3" `
  --patch-json ".\s3-channel.json" `
  --apply

Site Ayarları

Site ayarları betiği üç yapılandırma alanını yönetir:

AlanParametreAçıklama
Güvenlik ayarlarısecurityKullanıcı kimlik doğrulaması, yönetici kimlik doğrulaması, giriş cihazları, API Token, görsel moderasyonu, kullanıcı sınırları, WebDAV ve daha fazlası.
Sayfa ayarlarıpageGenel sayfa, kullanıcı tarafı sayfası, yönetici sayfası ve ilgili görünüm ayarları.
Diğer ayarlarothersRastgele görsel API, herkese açık gezinme, yerel federasyon düğümü, otomatik etiketleme, IP coğrafi konumu, yedek kanal, OCR ve daha fazlası.

Düzenlenebilir alanları, bölümleri ve alanları görmek için önce --list-sections kullanın:

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

Site Ayarları Parametreleri

ParametreAçıklama
--list-sectionsDüzenlenebilir alanları, bölümleri ve alanları listeler.
--getBir ayar bölümünü okur.
--area <security|page|others>Yapılandırma alanını seçer.
--section <name>Bölümü seçer. --list-sections tarafından gösterilen adları kullanın.
--set key=valueBir alanı ayarlar. Tekrarlanabilir.
--applyYazma sonucunu kaydeder.

page alanında --set, örneğin starsEffect=true gibi sayfa yapılandırma öğesi ID'lerini kullanır. security ve others için --set, bu bölümdeki alan adını kullanır; örneğin email=admin@example.com.

Site Ayarları Örnekleri

Sistem güncelleme bildirimi ayarlarını okuma:

powershell
node imghost-token-site-settings.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --get `
  --area security `
  --section systemUpdate

Sistem güncelleme bildirimi e-postasını değiştirme. Önce --apply olmadan çalıştırıp önizleyin:

powershell
node imghost-token-site-settings.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --area security `
  --section systemUpdate `
  --set email="admin@example.com"

Onayladıktan sonra kaydedin:

powershell
node imghost-token-site-settings.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --area security `
  --section systemUpdate `
  --set email="admin@example.com" `
  --apply

Yönetici sayfasındaki yıldız efektini değiştirme:

powershell
node imghost-token-site-settings.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --area page `
  --section adminSettings `
  --set starsEffect=true `
  --apply

IP coğrafi konum dilini değiştirme:

powershell
node imghost-token-site-settings.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --area others `
  --section ipGeolocation `
  --set language="en" `
  --apply

Yerel federasyon düğümü ayarları etkinlik durumu, eşitleme dizini ve davet kodu gibi normal alanları okuyup güncelleyebilir. Alan adı onayı API Token üzerinden yapılmaz. Yönetim paneli yerel düğüm alan adının geçerli erişim alan adından farklı olduğunu bildirirse onayı tarayıcıdaki yönetim panelinde tamamlayın.

Federasyon İlişkileri

Federasyon betiği yerel düğüm durumunu, giden düğümleri, gelen düğümleri, mesajları, katılma isteklerini, kayıtsız ilişki için yeniden başvuruları, onayları, reddetmeleri ve dizin temizliği gerektirmeyen hafif ilişki işlemlerini yönetir.

Dizin güncelleme, federasyon dizini silme ve alan adı değişikliği onayı tam tarayıcı iş akışına bağlıdır. Betik bu ağır işlemleri yapmaz.

Hafif ve Ağır Federasyon İşlemleri

İşlemBetik DesteğiAçıklama
Yerel düğüm durumunu ve ilişki listesini görmeDesteklenirYalnızca ilişki kayıtlarını okur.
Mesajları okuma ve mesaj göndermeDesteklenirİlişki mesajlarını okur veya yazar.
Başka bir düğüme katılma isteği göndermeDesteklenirİstek göndermek için davet bağlantısını kullanır.
Kayıtsız ilişki için yeniden başvurmaDesteklenirYalnızca lastResult=none olan giden kartlar için; 6 karakterlik davet kodu gerekir.
Giden bekleyen isteği iptal etmeDesteklenirYalnızca bekleyen isteği iptal eder.
Gelen isteği kabul etme veya reddetmeDesteklenirSizin düğümünüze katılan düğümlerden gelen istekleri işler.
Kabul edilmiş gelen ilişkiyi kaldırmaDesteklenirGelen ilişki kaydını günceller ve karşı tarafa bildirir.
Sonlanmış gelen kaydı silmeDesteklenirYalnızca sonlanmış gelen ilişki kaydını siler.
Kabul edilmiş giden aboneliği iptal etmeYalnızca tarayıcıTarayıcının toplu çalıştırdığı yerel federasyon dizini silme gerekir.
Sonlanmış giden kaydı silmeYalnızca tarayıcıÖnce federasyon dizini temizliği gerektirebilir.
Alan adı değişikliğini onaylama veya iptal etmeYalnızca tarayıcıGeçerli alan adı onayı ve alan adı değişikliği dizin işlemleri gerekir.
Dizinleri yayımlama, çekme veya toplu silmeYalnızca tarayıcıBunlar ön yüz toplu işleridir.

Federasyon Parametreleri

ParametreAçıklama
--statusYerel federasyon düğümü durumunu, giden düğümleri ve gelen düğümleri gösterir.
--listFederasyon ilişkilerini listeler.
--chatBir ilişki için önbelleğe alınmış mesajları okur.
--send-messageKurulmuş bir ilişkiye mesaj gönderir.
--joinDavet bağlantısı üzerinden başka bir düğüme katılma isteği gönderir.
--reapplyKayıtsız ilişki için yeniden başvurur. 6 karakterlik davet kodu gerekir.
--acceptGelen isteği kabul eder.
--denyGelen isteği reddeder.
--cancelGiden bekleyen isteği iptal eder veya kabul edilmiş gelen ilişkiyi kaldırır.
--deleteSonlanmış gelen ilişki kaydını siler.
--direction <outgoing|incoming|all>İlişki yönü. outgoing katıldığınız düğümleri; incoming sizin düğümünüze katılan düğümleri ifade eder.
--domain <url>İlişki düğümünün alan adı.
--invite-link <url>Karşı düğümden gelen davet bağlantısı.
--invite-code <code>Yeniden başvuru için kullanılan 6 karakterlik davet kodu.
--text <message>Mesaj metni.
--applyYazma sonucunu kaydeder.

Federasyon Örnekleri

Yerel düğüm durumunu ve iki ilişki listesini görme:

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

Yalnızca giden düğümleri listeleme:

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

Yalnızca gelen düğümleri listeleme:

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

Başka bir düğüme katılma isteği gönderme. Önce --apply olmadan çalıştırıp önizleyin:

powershell
node imghost-token-federation.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --join `
  --invite-link "https://peer-domain/federation/invite/abcdef"

Onayladıktan sonra kaydedin:

powershell
node imghost-token-federation.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --join `
  --invite-link "https://peer-domain/federation/invite/abcdef" `
  --apply

Kayıtsız ilişki için yeniden başvurma:

powershell
node imghost-token-federation.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --reapply `
  --domain "https://peer-domain" `
  --invite-code "abc123" `
  --apply

Gelen isteği kabul etme:

powershell
node imghost-token-federation.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --accept `
  --domain "https://peer-domain" `
  --apply

Gelen isteği reddetme:

powershell
node imghost-token-federation.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --deny `
  --domain "https://peer-domain" `
  --apply

Kurulmuş bir ilişkiye mesaj gönderme:

powershell
node imghost-token-federation.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --send-message `
  --direction outgoing `
  --domain "https://peer-domain" `
  --text "Hello, this is a test message." `
  --apply

Giden bekleyen isteği iptal etme:

powershell
node imghost-token-federation.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --cancel `
  --direction outgoing `
  --domain "https://peer-domain" `
  --apply

Kabul edilmiş gelen ilişkiyi kaldırma:

powershell
node imghost-token-federation.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --cancel `
  --direction incoming `
  --domain "https://peer-domain" `
  --apply

Sonlanmış gelen kaydı silme:

powershell
node imghost-token-federation.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --delete `
  --direction incoming `
  --domain "https://peer-domain" `
  --apply

Kabul edilmiş giden aboneliği iptal etme ve giden kayıt silme işlemleri tarayıcıdaki yönetim panelinde yapılmalıdır; çünkü bu işlemler önce yerel federasyon dizinini temizlemeyi gerektirebilir.

Alan Adı Uyuşmazlığı

Yerel düğüm alan adı ile ilişkideki bekleyen alan adı eşleşmezse betik currentDomain ve pendingDomain içeren bir hata bildirir. Bunu tarayıcıdaki yönetim panelinde ele alın; çünkü alan adı değişiklikleri giden dizin temizliği ve onayını da içerir.

Katılma isteği FEDERATION_NODE_DOMAIN_MISMATCH döndürürse davet bağlantısında kullanılan alan adı karşı düğümün kayıtlı yerel alan adıyla eşleşmiyor demektir. Yanıtta currentOrigin ve detectedOrigin bulunur. Karşı tarafın geçerli onaylanmış alan adını kullanın veya karşı taraftan önce kendi tarayıcı yönetim panelinde alan adını onaylamasını isteyin.

FAQ

Değişikliğim neden etkili olmadı?

Yazma komutları varsayılan olarak önizleme modunda çalışır. Önizlemeyi inceledikten sonra değişikliği gerçekten kaydetmek için --apply ekleyin.

Hangi alanların değiştirilebileceğini nasıl anlarım?

Yükleme ayarları için mevcut alt kanal yapısını incelemek üzere --get kullanın. Güvenlik ayarları, sayfa ayarları ve diğer ayarlar için betiğin düzenleyebileceği alanları, bölümleri ve alanları görmek üzere --list-sections kullanın.

Sonucu Başka Bir Programda Kullanmak İstiyorum

--output json kullanın veya --save-response result.json ekleyin. Programınız kaydedilen JSON dosyasını doğrudan okuyabilir.

Released as user documentation for ImgHost.