Skip to content

Mga Dedicated Gateway

Ang mga gumagamit ng Nirvana plan ay may pribadong IPFS gateway sa isang natatanging subdomain. Ang gateway na ito ay nagse-serve lang ng mga file na naka-pin sa iyong account — hindi ito magre-resolve ng mga CID mula sa ibang user o sa pampublikong IPFS network.

Gateways list page with multiple gateway cards

Ang iyong gateway URL

Ang iyong gateway URL ay ipinapakita sa iyong Gateway page at ibinabalik ng /user/profile endpoint:

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

Mga access mode

ModePag-uugali
Open (default)Sinumang may gateway URL + CID mo ay maka-access ng iyong mga file. Hindi kailangan ng token.
Token requiredAng mga request ay kailangang magsama ng gateway token sa pamamagitan ng ?token=gwt_... query param o X-Gateway-Token header.

Mga Limitasyon

  • 50 GB/buwan gateway bandwidth kasama ng Nirvana
  • Kapag naabot ang bandwidth limit, ang mga gateway request ay nagbabalik ng 429 hanggang sa susunod na buwan
  • Nagre-reset ang storage usage sa unang araw ng bawat buwan
  • Nagse-serve lang ng mga CID na naka-pin sa iyong account — ang mga request para sa ibang CID ay nagbabalik ng 403

TIP

Ang pampublikong gateway sa ipfs.ninja/ipfs/ ay nananatiling available sa lahat ng plan at nagse-serve ng anumang CID nang walang authentication.

Mga Gateway Setting

I-configure ang mga access control para sa iyong dedicated gateway.

Gateway detail page with access mode, token required, and IP whitelist settings

I-update ang mga Setting

PUT /gateway-settings

ParameterUriKinakailanganPaglalarawan
tokenRequiredbooleanHindiI-enable/disable ang gateway token requirement.
ipWhiteliststring[]HindiArray ng mga IP address na papayagan. Max 100. Ang walang laman na array ay nag-aalis ng whitelist.
allowedOriginsstring[]HindiArray ng mga pinapayagang origin para sa browser request. Max 100. Dapat HTTPS format (hal. https://myapp.com). Ang walang laman na array ay nagpapahintulot sa lahat ng origin.

Mga Halimbawa

bash
# I-enable ang token-required mode
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}'

# I-set ang IP whitelist
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"]}'

# I-clear ang IP whitelist (payagan lahat ng IP)
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": []}'

# Limitahan sa mga partikular na origin
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"]}'

# Alisin ang mga origin restriction (payagan lahat ng origin)
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": []}'

Mga Origin Restriction

Kapag naka-configure ang allowedOrigins, tanging mga browser request mula sa nakalistang origin ang papayagan. Sinusuri ng gateway ang Origin at Referer header sa mga papasok na request.

  • Kung walang laman ang listahan (default), lahat ng origin ay pinapayagan.
  • Kung may tinukoy na mga origin, ang mga request na may Origin o Referer header na hindi tumutugma sa anumang entry ay tina-tanggihan na may 403 response.
  • Ang mga non-browser request na walang Origin header (tulad ng server-side fetch o curl) ay dumadaan nang walang restriction.

Kapaki-pakinabang ito para sa pag-embed ng gateway content sa iyong web application habang pinipigilan ang ibang site na mag-hotlink ng iyong mga file.

Mga Gateway Token

Ang mga gateway token (gwt_ prefix) ay read-only at ligtas na i-embed sa mga frontend application. Hindi tulad ng mga API key, ang gateway token ay maka-access lang ng mga file sa pamamagitan ng iyong dedicated gateway — hindi ito makakapag-upload, mag-delete, o magmanage ng iyong account.

KakayahanAPI Key (bws_)Gateway Token (gwt_)
Mag-upload / mag-delete ng mga fileOoHindi
Maglista / kumuha ng file metadataOoHindi
Magbasa ng mga file sa pamamagitan ng gatewayHindiOo
Ligtas na i-embed sa frontendHindiOo

Gumawa ng Gateway Token

POST /gateway-tokens

ParameterUriKinakailanganPaglalarawan
namestringHindiLabel para sa token (hal. "Frontend"). Default ay "Default".

Response 201 Created

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

WARNING

Ang buong token ay isang beses lang ibinabalik sa paggawa. Itabi ito nang ligtas.

Ilista ang mga Gateway Token

GET /gateway-tokens

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

Tanggalin ang Gateway Token

DELETE /gateway-tokens/:prefix

ParameterUriKinakailanganPaglalarawan
prefixstringOoAng token prefix na tatanggalin (hal. "gwt_a1b2c3d4").

Paggamit ng gateway token

Kapag naka-enable ang token-required mode sa iyong gateway, ipasa ang token bilang query parameter o header:

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

# O header
curl https://a1b2c3d4.gw.ipfs.ninja/ipfs/QmXk7VRz... \
  -H "X-Gateway-Token: gwt_your_token"