· Nacho Coll · Comparisons · 8 min czytania
Alternatywa dla Filebase: prostsze pinowanie IPFS bez S3
Porównanie IPFS Ninja i Filebase. Chcesz prostego REST API bez narzutu protokołu S3? Oto dlaczego deweloperzy dokonują zmiany.

Szybkie porównanie: Filebase vs IPFS Ninja
| Funkcja | Filebase | IPFS Ninja |
|---|---|---|
| Styl API | Kompatybilny z S3 (XML/multipart) | Prosty REST/JSON |
| Darmowy plan | 5 GB przestrzeni | 1 GB, 500 plików |
| Płatny wstęp | $19.99/mo (Performance) | $5/mo (Bodhi) |
| Dedykowane bramy | Tak | Tak (do 10 na Nirvana) |
| Optymalizacja obrazów | Nie | Tak (/image/{cid}) |
| Auth dla przesyłania | Podpisywanie w stylu AWS | X-Api-Key lub podpisane tokeny |
| Pinowanie istniejących CID | Via S3 PUT do bucketu | POST /pin |
| Przesyłanie po stronie klienta | Wymaga konfiguracji pre-signed URL | Podpisane tokeny, wbudowane |
Podsumowanie: jeśli i tak już konfigurujesz klientów AWS SDK, Filebase wpasowuje się naturalnie. Jeśli chcesz wysłać plik na IPFS jednym poleceniem curl, IPFS Ninja wygrywa prostotą.

Prześlij plik na IPFS w 30 sekund
Oto ścieżka przesyłania w IPFS Ninja. Bez SDK, bez XML, bez tworzenia bucketu:
curl -X POST https://api.ipfs.ninja/upload/new \
-H "X-Api-Key: bws_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4" \
-H "Content-Type: application/json" \
-d '{
"content": "Hello from IPFS Ninja!",
"description": "My first file"
}'Odpowiedź:
{
"cid": "bafkreib4mrow...",
"sizeMB": 0.00002,
"uris": {
"ipfs": "ipfs://bafkreib4mrow...",
"url": "https://ipfs.ninja/ipfs/bafkreib4mrow..."
}
}Gotowe. Ten CID jest przypięty, dostępny przez IPFS i natychmiast osiągalny przez publiczną bramę.
A oto równoważny przepływ w Filebase:
- Utwórz konto i bucket w konsoli Filebase.
- Wygeneruj parę klucz dostępu + klucz tajny.
- Skonfiguruj klienta S3 z endpointem
https://s3.filebase.com, regionemus-east-1i swoimi poświadczeniami. - Wywołaj
putObjectz treścią pliku. - Odpytuj metadane obiektu, aby pobrać CID IPFS (pojawia się jako nagłówek
x-amz-meta-cidpo przypięciu przez Filebase).
To nie jest złe podejście — ma po prostu więcej ruchomych części, niż większość projektów natywnie opartych na REST potrzebuje.
Dlaczego deweloperzy napotykają tarcie S3 w Filebase
Kompatybilność S3 w Filebase jest naprawdę przydatna, gdy:
- Masz istniejącą infrastrukturę komunikującą się przez S3 (funkcje Lambda, moduły Terraform, agenty backupu).
- Przechowujesz duże pliki i potrzebujesz semantyki multipart upload, którą już znasz.
- Twój zespół sprawnie porusza się w AWS, a SDK S3 jest już zależnością.
Ale wielu deweloperów integrujących IPFS w aplikacji webowej, dApp lub potoku CI nie wywodzi się z tego środowiska. Napotykają:
Odpowiedzi błędów w XML. S3 zwraca XML. Twoje wywołanie fetch w JavaScript otrzymuje <?xml version="1.0" ...><Error><Code>InvalidAccessKeyId</Code> i musisz dodać parser XML, żeby to zdebugować.
Zarządzanie poświadczeniami. Uwierzytelnianie w stylu S3 (klucz dostępu + klucz tajny + podpisywanie żądań HMAC-SHA256) nie jest trywialne do zaimplementowania od zera w przeglądarce lub funkcji edge. Pre-signed URL pomagają, ale generowanie ich po stronie serwera dodaje round trip.
CID jako element poboczny. CID to metadane obiektu S3, a nie główna odpowiedź. Musisz albo parsować nagłówki odpowiedzi, albo wywołać osobny endpoint metadanych.
Brak natywnych tokenów do przesyłania. Jeśli chcesz, żeby użytkownicy przesyłali pliki bezpośrednio z przeglądarki bez ujawniania poświadczeń serwera, Filebase wymaga, żebyś sam zbudował endpoint generujący pre-signed URL.
Podpisane tokeny przesyłania w IPFS Ninja obsługują ten wzorzec natywnie: wygeneruj raz ograniczony czasowo token po stronie serwera, osadź go w frontendzie i pozwól użytkownikom wysyłać żądania POST bezpośrednio do api.ipfs.ninja do momentu wygaśnięcia tokena lub jego cofnięcia.
Cennik porównawczy
| Plan | Filebase | IPFS Ninja |
|---|---|---|
| Darmowy | 5 GB, tylko publiczna brama | 500 plików, 1 GB, 1 dedykowana brama |
| Pierwszy płatny | ~$19.99/mo (Performance) | $5/mo (Bodhi: 50K plików, 10 GB) |
| Średni poziom | — | $29/mo (Nirvana: 500K plików, 100 GB) |
| Dedykowane bramy | Tak | Tak (Bodhi: 5, Nirvana: 10) |
Dla małych i średnich projektów skok z darmowego do pierwszego płatnego planu to $5/mo w IPFS Ninja vs około $20/mo w Filebase. Jeśli budujesz projekt poboczny lub MVP startupu, ta różnica ma znaczenie.
Porównanie funkcji bramy
Obie usługi oferują dedykowane bramy IPFS (subdomeny serwujące przypięte treści przez HTTPS). Różnice:
Filebase zapewnia dedykowaną bramę w planach płatnych. Serwuje zawartość Twojego bucketu i integruje się z przestrzenią nazw S3.
IPFS Ninja — bramy pod adresem https://{slug}.gw.ipfs.ninja obsługują:
- Tryby dostępu: restricted (wymagany token), open (publiczny) lub folder (listowanie katalogu).
- Białe listy IP: ogranicz bramę do znanych adresów IP serwera.
- Ograniczenia origin: ogranicz do konkretnych źródeł HTTP, przydatne w scenariuszach CORS tylko dla przeglądarki.
- Optymalizacja obrazów: endpoint
/image/{cid}pozwala zmieniać rozmiar, kadrować i konwertować format w locie — bez oddzielnego CDN dla obrazów.
Jeśli Twoim przypadkiem użycia jest serwowanie zasobów do frontendu webowego, ograniczenie origin CORS i wbudowane endpointy optymalizacji obrazów oszczędzają Ci integracji z osobną usługą.
Pinowanie istniejącego CID
Masz już CID z innego węzła lub usługi? Obie platformy pozwalają go przypiąć bez ponownego przesyłania. W IPFS Ninja:
curl -X POST https://api.ipfs.ninja/pin \
-H "X-Api-Key: bws_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4" \
-H "Content-Type: application/json" \
-d '{
"cid": "bafkreib4mrow...",
"description": "Pinned from external source"
}'W Filebase pinujesz przez PUT do bucketu z CID jako nagłówkiem metadanych, a następnie Filebase pobiera i przypina treść. Przepływ CID-first w IPFS Ninja jest bardziej bezpośredni, jeśli myślisz w kategoriach IPFS, a nie S3.
Zobacz czym jest pinowanie IPFS, aby dogłębniej zrozumieć, dlaczego pinowanie ma znaczenie i co się dzieje, gdy treść nie jest przypięta.
Przesyłanie po stronie klienta bez ujawniania poświadczeń
To częste pytanie architektoniczne: jak pozwolić przeglądarce przesyłać pliki na IPFS bez wysyłania klucza API do klienta?
Podejście Filebase: wygeneruj pre-signed URL S3 PUT na serwerze, zwróć go do klienta, klient wykonuje PUT bezpośrednio. Standardowy wzorzec pre-sign S3, działa dobrze, ale musisz zaimplementować endpoint podpisujący po stronie serwera.
Podejście IPFS Ninja: wywołaj /token/upload/new (lub wygeneruj przez dashboard), aby utworzyć podpisany token przesyłania. Osadź ten token w frontendzie. Klient wysyła żądania POST do api.ipfs.ninja używając Authorization: Signed {token}. Token może wygasnąć po określonym czasie lub zostać natychmiast cofnięty z dashboardu.
// Frontend code — token was fetched from your server
const token = 'your-signed-upload-token';
const response = await fetch('https://api.ipfs.ninja/upload/new', {
method: 'POST',
headers: {
'Authorization': `Signed ${token}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
content: btoa(fileContentAsArrayBuffer), // base64 for binary
description: 'User uploaded file',
}),
});
const { cid, uris } = await response.json();
console.log('Pinned at:', uris.url);Aby zobaczyć szczegółowe omówienie wzorców przesyłania, zajrzyj do jak przesyłać pliki na IPFS.
Kiedy mimo wszystko wybrać Filebase
Ten artykuł ma być uczciwy, a nie jednostronną reklamą.
Wybierz Filebase, jeśli:
- Twoja baza kodu już używa AWS SDK v3 lub Boto3 i chcesz uniknąć dodatkowych zależności.
- Migrujesz z S3 na IPFS i chcesz zamienić endpointy zamiast przepisywać logikę przesyłania.
- Przechowujesz bardzo duże pliki i potrzebujesz niezawodnego multipart upload z semantyką S3 (choć IPFS Ninja ma też API do dużych plików).
- Twój zespół ma głęboką wiedzę o AWS i uważa auth S3 za bardziej znajome niż nagłówki REST.
Wybierz IPFS Ninja, jeśli:
- Chcesz jednego żądania
POST /upload/new, które zwróci CID bez pośrednich kroków. - Budujesz aplikację frontend-first i potrzebujesz bezpiecznych tokenów przesyłania dla klienta bez budowania infrastruktury pre-sign.
- Chcesz optymalizacji obrazów i bram z kontrolą dostępu bez dodawania kolejnej usługi.
- Zależy Ci na cenie i punkt wejścia $5/mo ma znaczenie na danym etapie projektu.
Podsumowanie
Filebase to solidny produkt dla zespołów żyjących w ekosystemie AWS. Kompatybilność z S3 to realna zaleta w tym kontekście. Ale dla deweloperów, którzy chcą po prostu przypiąć pliki do IPFS przez czysty REST API — i natychmiast otrzymać CID — warstwa S3 dodaje ceremonii bez korzyści.
IPFS Ninja utrzymuje minimalną powierzchnię API: prześlij, przypnij, pobierz. Funkcje bramy, optymalizacji obrazów i tokenów przesyłania są dostępne, gdy ich potrzebujesz — nie są wymagane na starcie.
Aby zobaczyć szersze porównanie IPFS Ninja z innymi usługami, zajrzyj do najlepszych usług pinowania IPFS.
Gotowy, żeby zacząć pinować? Utwórz darmowe konto — 500 plików, 1 GB przestrzeni, bez karty kredytowej.
O tym artykule: Artykuł został przygotowany przez asystenta AI przy użyciu przepływu generowania treści IPFS.NINJA, a następnie przejrzany i zatwierdzony przez Nacho Coll. Wszystkie przykłady kodu zostały zweryfikowane na żywym API IPFS.NINJA. Jeśli zauważysz nieścisłość, otwórz zgłoszenie na https://github.com/ipfs-ninja/feedback. Przeczytaj więcej o tym, jak używamy AI w naszych treściach i poznaj ludzi stojących za IPFS.NINJA.

