Skip to content

Özel Gateway'ler

Nirvana planı kullanıcıları benzersiz bir alt alan adında özel bir IPFS gateway alır. Bu gateway yalnızca hesabınıza sabitlenmiş dosyaları sunar — diğer kullanıcıların veya genel IPFS ağının CID'lerini çözmez.

Birden fazla gateway kartı içeren gateway listesi sayfası

Gateway URL'niz

Gateway URL'niz Gateway sayfanızda gösterilir ve /user/profile uç noktası tarafından döndürülür:

https://<your-slug>.gw.ipfs.ninja/ipfs/<CID>

Erişim modları

ModDavranış
Açık (varsayılan)Gateway URL'niz ve CID'ye sahip herkes dosyalarınıza erişebilir. Token gerekmez.
Token zorunluİstekler ?token=gwt_... sorgu parametresi veya X-Gateway-Token başlığı ile bir gateway token'ı içermelidir.

Limitler

  • Nirvana ile aylık 50 GB gateway bant genişliği dahildir
  • Bant genişliği sınırına ulaşıldığında, gateway istekleri bir sonraki aya kadar 429 döndürür
  • Depolama kullanımı her takvim ayının ilk günü sıfırlanır
  • Yalnızca hesabınıza sabitlenmiş CID'leri sunar — diğer CID'ler için istekler 403 döndürür

TIP

ipfs.ninja/ipfs/ adresindeki genel gateway tüm planlarda kullanılabilir kalır ve kimlik doğrulama olmadan herhangi bir CID sunar.

Gateway Ayarları

Özel gateway'iniz için erişim kontrollerini yapılandırın.

Erişim modu, token zorunluluğu ve IP beyaz listesi ayarlarını gösteren gateway detay sayfası

Ayarları Güncelle

PUT /gateway-settings

ParametreTürZorunluAçıklama
tokenRequiredbooleanHayırGateway token zorunluluğunu etkinleştir/devre dışı bırak.
ipWhiteliststring[]Hayırİzin verilecek IP adresleri dizisi. Maksimum 100. Boş dizi beyaz listeyi kaldırır.
allowedOriginsstring[]HayırTarayıcı istekleri için izin verilen kaynaklar dizisi. Maksimum 100. HTTPS formatı kullanmalıdır (örn. https://myapp.com). Boş dizi tüm kaynaklara izin verir.

Örnekler

bash
# Token zorunlu modunu etkinleştir
curl -X PUT https://api.ipfs.ninja/gateway-settings \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"tokenRequired": true}'

# IP beyaz listesi ayarla
curl -X PUT https://api.ipfs.ninja/gateway-settings \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"ipWhitelist": ["203.0.113.1", "198.51.100.0"]}'

# IP beyaz listesini temizle (tüm IP'lere izin ver)
curl -X PUT https://api.ipfs.ninja/gateway-settings \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"ipWhitelist": []}'

# Belirli kaynaklarla kısıtla
curl -X PUT https://api.ipfs.ninja/gateway-settings \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"allowedOrigins": ["https://myapp.com", "https://staging.myapp.com"]}'

# Kaynak kısıtlamalarını kaldır (tüm kaynaklara izin ver)
curl -X PUT https://api.ipfs.ninja/gateway-settings \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"allowedOrigins": []}'

Kaynak Kısıtlamaları

allowedOrigins yapılandırıldığında, yalnızca listelenen kaynaklardan gelen tarayıcı isteklerine izin verilir. Gateway, gelen isteklerin Origin ve Referer başlıklarını kontrol eder.

  • Liste boşsa (varsayılan), tüm kaynaklara izin verilir.
  • Kaynaklar belirtilmişse, hiçbir girişle eşleşmeyen Origin veya Referer başlığına sahip istekler 403 yanıtıyla reddedilir.
  • Origin başlığı içermeyen tarayıcı dışı istekler (sunucu tarafı alımlar veya curl gibi) kısıtlama olmadan geçer.

Bu, gateway içeriğini web uygulamanıza yerleştirirken diğer sitelerin dosyalarınıza doğrudan bağlantı vermesini önlemek için kullanışlıdır.

Gateway Token'ları

Gateway token'ları (gwt_ ön eki) salt okunurdur ve ön yüz uygulamalarına güvenle yerleştirilebilir. API anahtarlarının aksine, bir gateway token'ı yalnızca özel gateway'iniz üzerinden dosyalara erişebilir — yükleme, silme veya hesap yönetimi yapamaz.

YetenekAPI Anahtarı (bws_)Gateway Token'ı (gwt_)
Dosya yükleme / silmeEvetHayır
Dosya listeleme / meta veri almaEvetHayır
Gateway üzerinden dosya okumaHayırEvet
Ön yüze güvenle yerleştirilebilirHayırEvet

Gateway Token'ı Oluştur

POST /gateway-tokens

ParametreTürZorunluAçıklama
namestringHayırToken için etiket (örn. "Frontend"). Varsayılan "Default".

Yanıt 201 Created

json
{
  "token": "gwt_a1b2c3d4e5f6789012345678abcdef01",
  "tokenPrefix": "gwt_a1b2c3d4",
  "tokenName": "Frontend",
  "createdAt": 1711036800000
}

WARNING

Tam token yalnızca oluşturulduğunda bir kez döndürülür. Güvenli bir şekilde saklayın.

Gateway Token'larını Listele

GET /gateway-tokens

json
[
  {
    "tokenPrefix": "gwt_a1b2c3d4",
    "tokenName": "Frontend",
    "createdAt": 1711036800000
  }
]

Gateway Token'ını Sil

DELETE /gateway-tokens/:prefix

ParametreTürZorunluAçıklama
prefixstringEvetSilinecek token ön eki (örn. "gwt_a1b2c3d4").

Gateway token'ı kullanma

Gateway'iniz token zorunlu modunda olduğunda, token'ı sorgu parametresi veya başlık olarak iletin:

bash
# Sorgu parametresi
curl "https://a1b2c3d4.gw.ipfs.ninja/ipfs/QmXk7VRz...?token=gwt_your_token"

# Veya başlık
curl https://a1b2c3d4.gw.ipfs.ninja/ipfs/QmXk7VRz... \
  -H "X-Gateway-Token: gwt_your_token"