Skip to content

Mengurus Konfigurasi dengan API Token

Pengurusan konfigurasi melalui API Token sesuai untuk skrip automasi, alat operasi dan panel kawalan luaran. API Token dengan kebenaran manage boleh membaca dan mengubah konfigurasi saluran muat naik, tetapan keselamatan, tetapan halaman, tetapan lain serta sebahagian hubungan federasi ringan tanpa membuka panel pentadbir.

Kebenaran pengurusan ini hanya membuka operasi ringan yang sesuai untuk skrip. Operasi berat yang memerlukan pengesahan dalam pelayar, kerja berperingkat dalam antara muka web atau pembersihan indeks federasi tetap perlu dilakukan daripada panel pentadbir dalam pelayar.

Sunting API Token

Sebelum Bermula

Buka panel pentadbir, kemudian pergi ke:

text
System Settings -> Security Settings -> API Token

Semasa mencipta atau mengedit API Token, aktifkan kebenaran pengurusan. Kebenaran ini boleh mengubah konfigurasi tapak, jadi berikan hanya kepada skrip atau pengguna yang dipercayai.

Semua tindakan tulis dalam tiga skrip pengurusan hanya memaparkan pratonton secara lalai. Selepas pratonton disemak, tambah --apply supaya perubahan benar-benar disimpan.

API Token juga boleh disimpan dalam pemboleh ubah persekitaran:

powershell
$env:IMGHOST_API_TOKEN="your API Token"

Muat Turun Skrip Pengurusan

Dokumentasi ImgHost menyediakan tiga skrip Node.js:

SkripKegunaan
skrip pengurusan tetapan muat naikMengurus saluran muat naik, subsaluran dan pengimbangan beban
skrip pengurusan tetapan tapakMengurus tetapan keselamatan, tetapan halaman dan tetapan lain
skrip pengurusan hubungan federasiMengurus tindakan hubungan ringan, permintaan menyertai dan mesej

Skrip memerlukan Node.js 18 atau versi yang lebih baharu.

Parameter Umum

ParameterWajibPenerangan
--base-url <url>YaURL tapak ImgHost, contohnya https://image.ai6.me
--token <token>YaAPI Token. Anda juga boleh menggunakan pemboleh ubah persekitaran IMGHOST_API_TOKEN
--retries <n>TidakBilangan cubaan semula untuk kegagalan sementara; lalai 3
--timeout-ms <n>TidakHad masa setiap permintaan dalam milisaat; lalai 180000
--output <pretty|json>TidakFormat output; lalai pretty, gunakan json untuk integrasi program
--save-response <path>TidakSimpan hasil akhir sebagai fail JSON
--applyTidakBenar-benar menjalankan penulisan; tanpa ini hanya pratonton
-h / --helpTidakPapar bantuan skrip

Tetapan Muat Naik

Skrip tetapan muat naik boleh menyenaraikan, membaca, mencipta, mengedit dan memadam subsaluran. Skrip ini juga boleh menghidupkan atau mematikan pengimbangan beban pada saluran utama.

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

Parameter Tetapan Muat Naik

ParameterPenerangan
--listMenyenaraikan kumpulan tetapan muat naik
--getMembaca saluran utama atau subsaluran tertentu di bawahnya
--upsertMencipta atau mengedit subsaluran; tanpa --apply hanya pratonton
--deleteMemadam subsaluran; tanpa --apply hanya pratonton
--load-balance <true|false>Menghidupkan atau mematikan pengimbangan beban saluran utama
--channel <key>Saluran muat naik utama, contohnya s3, github, telegram
--channel-name <name>Nama subsaluran atau akaun
--set key=valueMenetapkan satu medan; boleh diulang dan menyokong laluan bertitik
--patch-json <path>Menggabungkan beberapa medan daripada fail JSON
--applyMenyimpan perubahan secara nyata

Kunci Saluran

Kunci saluranSaluran
telegram / tgTelegram
discord / dcDiscord
cfr2 / r2Cloudflare R2
s3S3
webdav / wdSaluran storan WebDAV
github / ghGitHub Releases
gitlab / glGitLab Packages
huggingface / hfHugging Face
onedrive / odOneDrive
googledrive / google / gdGoogle Drive
dropbox / dbDropbox
yandex / yxYandex Disk
pcloud / pdpCloud

Contoh Tetapan Muat Naik

Menyenaraikan semua tetapan muat naik:

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

Membaca konfigurasi saluran S3:

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

Membaca subsaluran tertentu di bawah S3:

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

Mencipta atau mengedit subsaluran WebDAV. Jalankan dahulu tanpa --apply untuk melihat pratonton:

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"

Jika pratonton sudah betul, jalankan sekali lagi dengan --apply:

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

Memadam subsaluran:

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

Menghidupkan pengimbangan beban S3:

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

Untuk perubahan beberapa medan yang lebih rumit, sediakan fail JSON kemudian gunakan --patch-json:

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

Tetapan Tapak Lain

Skrip tetapan tapak mengurus tiga kawasan:

KawasanNilai --areaPenerangan
KeselamatansecurityPengesahan pengguna dan pentadbir, peranti log masuk, API Token, moderasi imej, had kekerapan pengguna, WebDAV
HalamanpageHalaman global, halaman pengguna, halaman pentadbir dan kesan paparan
Lain-lainothersAPI imej rawak, galeri awam, nod federasi tempatan, penandaan automatik, geolokasi IP, sandaran, OCR

Mulakan dengan melihat kawasan, bahagian dan medan yang boleh diedit:

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

Parameter Tetapan Tapak

ParameterPenerangan
--list-sectionsMenyenaraikan kawasan, bahagian dan medan yang boleh diedit
--getMembaca satu bahagian konfigurasi
--area <security|page|others>Memilih kawasan konfigurasi
--section <name>Memilih bahagian; gunakan nama mengikut output --list-sections
--set key=valueMenetapkan satu medan; boleh diulang
--applyMenyimpan perubahan secara nyata

Dalam kawasan page, --set menggunakan ID tetapan halaman, contohnya starsEffect=true. Dalam kawasan security dan others, gunakan nama medan dalam bahagian, contohnya email=admin@example.com.

Contoh Tetapan Tapak

Membaca tetapan pemberitahuan kemas kini sistem:

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

Mengubah e-mel pemberitahuan kemas kini. Jalankan dahulu tanpa --apply:

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"

Kemudian simpan dengan --apply:

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

Mengubah kesan bintang pada halaman pentadbir:

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

Mengubah bahasa geolokasi IP:

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

Medan biasa pada nod federasi tempatan, seperti status aktif, folder penyegerakan dan kod jemputan, boleh dibaca atau diubah. Pengesahan domain tidak dilakukan melalui API Token. Jika panel pentadbir memberitahu bahawa domain nod tempatan berbeza daripada domain akses semasa, selesaikan pengesahan dalam pelayar.

Hubungan Federasi

Skrip federasi mengurus status nod tempatan, nod yang anda ikuti, nod yang mengikuti nod anda, mesej, permintaan menyertai, permohonan semula apabila tiada hubungan, penerimaan, penolakan dan tindakan hubungan ringan yang tidak memerlukan pembersihan indeks.

Penerbitan indeks, penarikan indeks, pemadaman indeks secara berperingkat dan pengesahan perubahan domain bergantung pada aliran penuh dalam pelayar. Skrip tidak mengendalikan operasi berat tersebut.

Had Tindakan Ringan dan Berat

OperasiSokongan skripPenerangan
Melihat status nod tempatan dan senarai hubunganDisokongHanya membaca buku hubungan
Membaca dan menghantar mesejDisokongMembaca atau menulis mesej hubungan
Memohon menyertai nod lainDisokongMenggunakan pautan jemputan
Memohon semula pada rekod tanpa hubunganDisokongHanya untuk kad outgoing dengan lastResult=none; memerlukan kod jemputan 6 aksara
Membatalkan permintaan outgoing yang menungguDisokongHanya membatalkan permintaan yang masih menunggu
Menerima atau menolak permintaan incomingDisokongMemproses permintaan yang masuk ke nod anda
Memadam hubungan incoming yang telah diterimaDisokongMengubah buku hubungan masuk dan memaklumkan pihak lain
Memadam rekod akhir incomingDisokongMemadam rekod masuk yang sudah berstatus akhir
Membatalkan langganan outgoing yang telah diterimaPelayar sahajaMungkin memerlukan pembersihan indeks federasi tempatan
Memadam rekod akhir outgoingPelayar sahajaMungkin perlu membersihkan indeks terlebih dahulu
Mengesahkan atau membatalkan perubahan domainPelayar sahajaMemerlukan pengesahan domain semasa dan pengendalian hubungan indeks
Menerbitkan, menarik atau memadam indeks secara berperingkatPelayar sahajaMerupakan kerja berperingkat dalam antara muka web

Parameter Hubungan Federasi

ParameterPenerangan
--statusMemaparkan status nod federasi tempatan serta hubungan outgoing dan incoming
--listMenyenaraikan hubungan federasi
--chatMembaca mesej tersimpan daripada satu hubungan
--send-messageMenghantar mesej kepada nod yang sudah mempunyai hubungan
--joinMemohon menyertai nod lain melalui pautan jemputan
--reapplyMemohon semula untuk hubungan tanpa rekod; memerlukan kod 6 aksara
--acceptMenerima permintaan incoming
--denyMenolak permintaan incoming
--cancelMembatalkan permintaan outgoing yang menunggu atau memadam hubungan incoming yang diterima
--deleteMemadam rekod akhir incoming
--direction <outgoing|incoming|all>Arah hubungan; outgoing ialah nod yang anda ikuti, incoming ialah nod yang mengikuti nod anda
--domain <url>Domain nod hubungan
--invite-link <url>Pautan jemputan daripada nod lain
--invite-code <code>Kod jemputan 6 aksara untuk permohonan semula
--text <message>Kandungan mesej
--applyMenyimpan perubahan secara nyata

Contoh Hubungan Federasi

Melihat status nod tempatan dan kedua-dua senarai hubungan:

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

Hanya menyenaraikan nod yang anda ikuti:

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

Hanya menyenaraikan nod yang mengikuti nod anda:

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

Memohon menyertai melalui pautan jemputan. Jalankan dahulu tanpa --apply:

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

Selepas disemak, simpan:

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

Memohon semula untuk rekod tanpa hubungan:

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

Menerima permintaan incoming:

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

Menolak permintaan incoming:

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

Menghantar mesej kepada hubungan yang telah terbentuk:

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

Membatalkan permintaan outgoing yang menunggu:

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

Memadam hubungan incoming yang telah diterima:

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

Memadam rekod akhir incoming:

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

Membatalkan langganan outgoing yang telah diterima dan memadam rekod outgoing mesti dilakukan daripada panel pentadbir dalam pelayar, kerana pembersihan indeks federasi tempatan mungkin perlu dibuat dahulu.

Domain Tidak Sepadan

Jika domain yang disimpan pada nod tempatan berbeza daripada domain yang menunggu dalam hubungan, skrip terus mengembalikan ralat dan memaparkan currentDomain serta pendingDomain. Keadaan ini mesti diselesaikan dalam panel pentadbir melalui pelayar, kerana perubahan domain juga berkaitan dengan pembersihan dan pengesahan indeks keluar.

Jika permintaan menyertai mengembalikan FEDERATION_NODE_DOMAIN_MISMATCH, ini bermaksud domain dalam pautan jemputan tidak sepadan dengan domain yang disimpan pada nod tujuan. Respons mengandungi currentOrigin dan detectedOrigin. Gunakan domain yang telah disahkan oleh pihak lain, atau minta mereka mengesahkan domain melalui panel pentadbir dalam pelayar.

FAQ

Arahan Perubahan Dijalankan tetapi Tidak Berkuat Kuasa

Arahan tulis hanya memaparkan pratonton secara lalai. Selepas pratonton disemak, tambah --apply.

Cara Mengetahui Medan yang Boleh Diubah

Untuk tetapan muat naik, jalankan --get dahulu dan lihat struktur subsaluran sedia ada. Untuk keselamatan, halaman dan tetapan lain, jalankan --list-sections untuk melihat kawasan, bahagian dan medan yang dibenarkan.

Hasil Hendak Digunakan oleh Program Lain

Gunakan --output json atau --save-response result.json. Program boleh membaca fail JSON yang disimpan secara langsung.

Released as user documentation for ImgHost.