STLViewer normalnie zapisuje przesłane modele we wbudowanej pamięci. Jeśli chcesz, żeby same pliki modeli były w koncie, które kontrolujesz, możesz podłączyć zasobnik Cloudflare R2. Od tego momentu nowe modele przesyłane po zalogowaniu będą zapisywane w Twoim zasobniku.
W Cloudflare "zasobnik" oznacza po prostu miejsce na pliki. Nie musisz uruchamiać serwera, konfigurować Cloudflare Workers, mieć własnej domeny ani używać terminala.
Ten przewodnik pokazuje cały proces: utworzenie zasobnika, utworzenie bezpiecznego klucza dostępu, podłączenie go w STLViewer i to, co dzieje się później. Zwykle zajmuje to około 10-15 minut.
Co się zmienia
- Nowe modele trafiają do Twojego zasobnika R2. Po włączeniu połączenia każdy nowy model przesłany z zalogowanego konta zostanie zapisany właśnie tam.
- Dotychczasowe modele zostają na miejscu. Modele przesłane wcześniej nadal działają we wbudowanej pamięci STLViewer. Nie przenosimy ich automatycznie.
- Pliki zostają w R2, gdy odłączysz pamięć. Odłączenie usuwa rekordy modeli ze STLViewer, ale nie kasuje plików z Twojego zasobnika.
- Nie musisz ustawiać CORS. STLViewer czyta plik z zasobnika i przekazuje go przez aplikację. Przeglądarka osoby oglądającej model nie łączy się bezpośrednio z Twoim zasobnikiem.
- Modele w R2 nie zużywają limitu pamięci STLViewer. Pliki są przechowywane w Twoim koncie Cloudflare.
Ta funkcja jest dostępna tylko dla zarejestrowanych użytkowników. Uploady bez konta zawsze korzystają z pamięci wbudowanej.
Zanim zaczniesz
Potrzebujesz:
- konta Cloudflare z włączonym R2
- zalogowanego konta STLViewer
- metody płatności w Cloudflare, bo Cloudflare prosi o nią przy włączaniu R2, nawet jeśli zostajesz na darmowym planie
Krok 1 - Utwórz zasobnik R2
- Zaloguj się do panelu Cloudflare.
- Otwórz R2 Object Storage.
- Kliknij Create bucket.
- Nadaj zasobnikowi prostą nazwę, na przykład
stlviewer-models. Nazwy zasobników są pisane małymi literami i nie można ich później zmienić. - Zostaw domyślną lokalizację, chyba że masz konkretny powód, aby wybrać region.
- Kliknij Create bucket.

Krok 2 - Utwórz token API R2
Token to klucz, którego STLViewer używa do zapisywania modeli w zasobniku i odczytywania ich, gdy ktoś otwiera udostępniony model.
- Na stronie R2 Object Storage znajdź API Tokens w sekcji Account Details i kliknij Manage.
- Kliknij Create API token.
- Wybierz Account API token. To prostsza opcja i działa, dopóki jej nie unieważnisz.
- W sekcji Permissions wybierz Object Read & Write.
- Ogranicz token tylko do zasobnika utworzonego dla STLViewer. To bezpieczniejsze niż dostęp do wszystkich zasobników.
- Kliknij Create API token.
Nie wybieraj uprawnień Admin. STLViewer ich nie potrzebuje, a mniejsze uprawnienia są bezpieczniejsze.
Cloudflare pokaże wartości, które trzeba skopiować:
| Wartość | Gdzie ją znaleźć |
|---|---|
| Access Key ID | Ekran tokenu |
| Secret Access Key | Ekran tokenu. Jest pokazany tylko raz. |
| Account endpoint | Ekran tokenu albo Settings -> S3 API w zasobniku. Wygląda tak: https://<account-id>.r2.cloudflarestorage.com. |
| Nazwa zasobnika | Nazwa wybrana w Kroku 1 |

Zachowaj te wartości w bezpiecznym miejscu do czasu zakończenia konfiguracji. Secret Access Key jest pokazany tylko raz. Jeśli zamkniesz stronę, zanim go skopiujesz, utwórz nowy token.
Jako endpoint wpisz adres kończący się na r2.cloudflarestorage.com. Nie używaj publicznego adresu zasobnika ani własnej domeny.
Krok 3 - Podłącz zasobnik w STLViewer
- Zaloguj się do STLViewer.
- Otwórz stronę Profil.
- Znajdź kartę Pamięć w chmurze i kliknij Połącz pamięć.
- Wypełnij formularz Połącz Cloudflare R2:
| Pole | Co wpisać |
|---|---|
| Punkt końcowy konta | Endpoint S3 API, na przykład https://1a2b3c....r2.cloudflarestorage.com |
| Nazwa zasobnika | Dokładna nazwa zasobnika, na przykład stlviewer-models |
| Identyfikator klucza dostępu | Z ekranu tokenu w Cloudflare |
| Tajny klucz dostępu | Z ekranu tokenu w Cloudflare |
| Prefiks klucza (opcjonalnie) | Nazwa folderu, na przykład stlviewer |
Prefiks klucza jest opcjonalny. Jeśli wpiszesz stlviewer, modele będą zapisywane pod ścieżkami w rodzaju stlviewer/uploads/.... Zostaw pole puste, jeśli chcesz zapisywać pliki na głównym poziomie zasobnika.
- Kliknij Połącz. Przycisk pozostaje nieaktywny, dopóki wymagane pola nie są wypełnione.

Przed zapisaniem połączenia STLViewer sprawdza, czy może połączyć się z zasobnikiem przy użyciu podanych danych. Jeśli wszystko jest poprawne, karta pokaże Cloudflare R2 (zgodny z S3) oraz odznakę Połączono. Jeśli coś jest nie tak, zobaczysz błąd, a połączenie nie zostanie zapisane.
Tajny klucz dostępu jest szyfrowany przed zapisaniem. STLViewer nigdy nie pokazuje go ponownie i nigdy nie wysyła go do przeglądarki.
Korzystanie z własnej pamięci
- Przesyłanie działa tak jak wcześniej. Nowe modele przesłane po zalogowaniu trafiają do Twojego zasobnika R2.
- Możesz sprawdzić to w Cloudflare. Prześlij testowy model, a potem otwórz zasobnik w Cloudflare. Powinien pojawić się nowy plik pod ścieżką w rodzaju
uploads/model/...albo pod Twoim prefiksem, jeśli go ustawisz. - Udostępnianie i oglądanie nadal odbywa się przez STLViewer. Osoba otwierająca link nie potrzebuje dostępu do Twojego konta Cloudflare ani zasobnika.
- Usunięcie modelu w STLViewer usuwa też plik z zasobnika. Tej operacji nie da się cofnąć.
- Modele nadal wygasają. Na razie każdy udostępniony model nadal ma okres przechowywania. Gdy ten okres minie, STLViewer usuwa plik z Twojego zasobnika R2. Jeśli chcesz zachować oryginał na zawsze, trzymaj też własną osobną kopię.
Zarządzanie połączeniem
Status. Karta pamięci w chmurze może pokazywać Połączono, Wymaga ponownego połączenia albo Dostęp cofnięty. Jeśli wystąpi problem, ostatni błąd pojawi się pod statusem.
Gdy token przestanie działać. Jeśli usuniesz albo wymienisz token R2 w Cloudflare, STLViewer oznaczy połączenie jako Wymaga ponownego połączenia przy następnej próbie użycia zasobnika. Udostępnione linki nie zamienią się w strony 404. Odwiedzający zobaczą komunikat "tymczasowo niedostępny", bo rekord modelu nadal istnieje, ale STLViewer nie może teraz pobrać pliku. Aby to naprawić, utwórz nowy token R2 i połącz zasobnik ponownie.
Odłączanie. Po kliknięciu Odłącz STLViewer poprosi o wpisanie DISCONNECT. To celowe zabezpieczenie, bo tej operacji nie da się cofnąć po stronie STLViewer. Odłączenie usuwa rekordy STLViewer dla modeli zapisanych w tym zasobniku, więc ich linki przestają działać. Pliki w zasobniku R2 zostają na miejscu.
Zmiana zasobnika. Nie ma przełączania jednym kliknięciem. Najpierw odłącz obecny zasobnik, a potem podłącz nowy.
Rozwiązywanie problemów
"The access key or secret was rejected by the bucket." Identyfikator klucza albo tajny klucz jest błędny, albo token nie ma prawa zapisu. Skopiuj oba pola ponownie i upewnij się, że token ma uprawnienie Object Read & Write. Jeśli nie masz pewności co do tajnego klucza, utwórz nowy token.
"The bucket was not found at this endpoint." Sprawdź nazwę zasobnika i endpoint. Endpoint powinien kończyć się na r2.cloudflarestorage.com. Jeśli zasobnik został utworzony w konkretnej jurysdykcji, na przykład w UE, użyj endpointu z Settings -> S3 API tego zasobnika.
"Could not connect to the bucket with these settings." Najczęściej problemem jest endpoint. Powinien zaczynać się od https:// i wyglądać tak: https://<account-id>.r2.cloudflarestorage.com.
"An active storage connection already exists." Masz już podłączony zasobnik. Najpierw go odłącz.
Najczęściej zadawane pytania
Czy potrzebuję własnej pamięci, aby używać STLViewer?
Nie. Pamięć wbudowana jest domyślna i działa dla każdego, także dla uploadów anonimowych. Podłączenie własnego zasobnika Cloudflare R2 jest opcjonalne.
Czy muszę konfigurować CORS na zasobniku?
Nie. STLViewer przekazuje pliki przez aplikację, więc przeglądarka nigdy nie czyta bezpośrednio z Twojego zasobnika.
Czy podłączenie przeniesie moje istniejące modele?
Nie. Do zasobnika R2 trafiają tylko nowe modele przesłane po zalogowaniu. Starsze modele zostają we wbudowanej pamięci i działają jak wcześniej.
Co stanie się z moimi plikami, jeśli się odłączę?
Pliki zostają w Twoim zasobniku R2. STLViewer usuwa tylko własne rekordy modeli, więc stare linki przestają działać.
Czy mogę trzymać model w swoim zasobniku bezterminowo?
Jeszcze nie. Dziś każdy model nadal ma datę wygaśnięcia. Po jej upływie plik jest usuwany z zasobnika. Opcja przechowywania bezterminowego dla modeli we własnej pamięci jest planowana, ale nie jest jeszcze dostępna.
