Skip to content

Αποκλειστικά Gateways

Οι χρήστες του πλάνου Nirvana αποκτούν ιδιωτικό IPFS gateway σε μοναδικό subdomain. Αυτό το gateway εξυπηρετεί μόνο αρχεία καρφιτσωμένα στον λογαριασμό σας — δεν θα επιλύσει CID από άλλους χρήστες ή το δημόσιο δίκτυο IPFS.

Gateways list page with multiple gateway cards

Το URL του gateway σας

Το URL του gateway σας εμφανίζεται στη σελίδα Gateway σας και επιστρέφεται από το endpoint /user/profile:

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

Λειτουργίες πρόσβασης

ΛειτουργίαΣυμπεριφορά
Ανοιχτή (προεπιλογή)Οποιοσδήποτε με το URL gateway + CID σας μπορεί να αποκτήσει πρόσβαση στα αρχεία σας. Δεν απαιτείται token.
Απαιτείται tokenΤα αιτήματα πρέπει να περιλαμβάνουν gateway token μέσω ?token=gwt_... query param ή X-Gateway-Token header.

Όρια

  • 50 GB/μήνα εύρος ζώνης gateway περιλαμβάνεται με Nirvana
  • Όταν φτάσει το όριο, τα αιτήματα gateway επιστρέφουν 429 μέχρι τον επόμενο μήνα
  • Η χρήση αποθήκευσης επαναφέρεται την πρώτη κάθε ημερολογιακού μήνα
  • Εξυπηρετεί μόνο CID καρφιτσωμένα στον λογαριασμό σας — αιτήματα για άλλα CID επιστρέφουν 403

Apex πύλη

Η κοινή apex πύλη στο https://ipfs.ninja/ipfs/<CID> είναι διαθέσιμη σε όλα τα πλάνα και δεν απαιτεί έλεγχο ταυτότητας, αλλά εξυπηρετεί μόνο CID που έχουν ανέβει ή καρφιτσωθεί από χρήστη IPFS Ninja. Τα αιτήματα για άλλα CID επιστρέφουν HTTP 410 Gone.

Για ένα CID που δεν σας ανήκει, μπορείτε είτε (α) να εκτελέσετε POST /pin για να το καρφιτσώσετε στον λογαριασμό σας και μετά να χρησιμοποιήσετε το apex URL, είτε (β) να χρησιμοποιήσετε πύλη τρίτου όπως https://ipfs.io/ipfs/<CID> ή https://dweb.link/ipfs/<CID>.

Για ενσωμάτωση επιπέδου παραγωγής (βίντεο, προβολείς NFT, ιστότοποι), η αφιερωμένη πύλη παραπάνω είναι το συνιστώμενο πρότυπο — προσφέρει υψηλότερα όρια ρυθμού, διαμορφώσιμους ελέγχους πρόσβασης και αφιερωμένο εύρος ζώνης.

Ρυθμίσεις Gateway

Ρυθμίστε τους ελέγχους πρόσβασης για το αποκλειστικό gateway σας.

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

Ενημέρωση Ρυθμίσεων

PUT /gateway-settings

ΠαράμετροςΤύποςΑπαιτείταιΠεριγραφή
tokenRequiredbooleanΌχιΕνεργοποίηση/απενεργοποίηση απαίτησης gateway token.
ipWhiteliststring[]ΌχιΠίνακας διευθύνσεων IP που επιτρέπονται. Μέγιστο 100. Κενός πίνακας αφαιρεί τη whitelist.
allowedOriginsstring[]ΌχιΠίνακας επιτρεπόμενων origins για αιτήματα browser. Μέγιστο 100. Πρέπει σε μορφή HTTPS (π.χ. https://myapp.com). Κενός πίνακας επιτρέπει όλα τα origins.

Παραδείγματα

bash
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}'

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"]}'

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": []}'

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"]}'

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": []}'

Περιορισμοί Origin

Όταν ρυθμιστεί το allowedOrigins, μόνο αιτήματα browser από τα καταχωρημένα origins επιτρέπονται. Το gateway ελέγχει τα headers Origin και Referer.

  • Αν η λίστα είναι κενή (προεπιλογή), όλα τα origins επιτρέπονται.
  • Αν καθοριστούν origins, αιτήματα με header Origin ή Referer που δεν ταιριάζει απορρίπτονται με απάντηση 403.
  • Αιτήματα εκτός browser χωρίς header Origin περνούν χωρίς περιορισμό.

Gateway Tokens

Τα gateway token (prefix gwt_) είναι μόνο για ανάγνωση και ασφαλή για ενσωμάτωση σε εφαρμογές frontend.

ΔυνατότηταAPI Key (bws_)Gateway Token (gwt_)
Ανέβασμα / διαγραφή αρχείωνΝαιΌχι
Λίστα / λήψη metadata αρχείωνΝαιΌχι
Ανάγνωση αρχείων μέσω gatewayΌχιΝαι
Ασφαλές για ενσωμάτωση σε frontendΌχιΝαι

Δημιουργία Gateway Token

POST /gateway-tokens

ΠαράμετροςΤύποςΑπαιτείταιΠεριγραφή
namestringΌχιΕτικέτα για το token (π.χ. "Frontend"). Προεπιλογή "Default".

Απάντηση 201 Created

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

WARNING

Το πλήρες token επιστρέφεται μόνο μία φορά κατά τη δημιουργία. Αποθηκεύστε το με ασφάλεια.

Λίστα Gateway Tokens

GET /gateway-tokens

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

Διαγραφή Gateway Token

DELETE /gateway-tokens/:prefix

ΠαράμετροςΤύποςΑπαιτείταιΠεριγραφή
prefixstringΝαιΤο prefix του token προς διαγραφή (π.χ. "gwt_a1b2c3d4").

Χρήση gateway token

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

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