NetSendo v2.5.2: lokalne czcionki i logo dla prywatności
Wybrałeś platformę marketingową self-hosted, żeby mieć kontrolę nad danymi. Ale nawet aplikacja na własnym serwerze może przekazywać drobne informacje na zewnątrz. Za każdym razem, gdy strona pobiera czcionkę, logo albo skrypt z innej domeny, przeglądarka odwiedzającego wysyła temu hostowi swój adres IP i user agent. Dzieje się to po cichu, przy każdym wyświetleniu strony.
NetSendo v2.5.2 likwiduje te luki. Panel administracyjny, strona logowania, portal partnerów afiliacyjnych i publiczne strony webinarów ładują teraz własne zasoby z Twojej instalacji. Wygląd się nie zmienia. Jedyna różnica jest taka, że mniej podmiotów zewnętrznych dostaje informacje o Twoich odwiedzających.
🚀 Co nowego w v2.5.2
Lokalne zasoby marki
Logo i favicon znajdują się w public/images/brand.
Wbudowane czcionki
Figtree i Inter są budowane przez Vite z pakietów @fontsource.
Webinary bez CDN
Skompilowany arkusz stylów zastępuje cdn.tailwindcss.com.
Test regresji
Testy nie przejdą, jeśli zewnętrzne zasoby wrócą.
Logo, favicon i czcionki serwowane z Twojej instalacji
Przed tym wydaniem każda strona panelu, strona logowania i portal partnerów afiliacyjnych pobierały logo i favicon NetSendo z gregciupek.com. Czcionki Figtree i Inter pochodziły z fonts.bunny.net. To tak, jakby każdy gość musiał wpisać się do księgi w dwóch innych budynkach, zanim wszedł do Twojego.
Co się zmieniło:
- Grafiki marki znajdują się teraz w
public/images/brand, a logo n8n wpublic/images/integrations. - Czcionki są budowane przez Vite z pakietów
@fontsource/figtreei@fontsource/inter(licencja SIL Open Font License). - Obraz udostępniania (
og:image,twitter:image) wskazuje na Twoją instalację.
Publiczne strony webinarów bez Tailwind Play CDN
Pięć publicznych stron webinarów (rejestracja, strona po rejestracji, podziękowanie, oglądanie i powtórka) ładowało cdn.tailwindcss.com przy każdej wizycie. Oznaczało to zapytanie do zewnętrznego hosta z przeglądarek Twoich subskrybentów. Do tego był to skrypt, którego Tailwind nie wspiera w środowisku produkcyjnym.
Te strony korzystają teraz z arkusza stylów kompilowanego razem z aplikacją, resources/css/webinar.css, który po kompresji gzip waży około 6 KB. Strony oglądania i powtórki nie ładują już też pakietu JavaScript panelu. Nigdy go nie używały, a jedynie powodował tam błąd w konsoli.
ℹ️ Uwaga: Treści dodane przez właściciela webinaru nadal ładują się z wybranego przez niego źródła. Dotyczy to osadzeń YouTube, Vimeo i Calendly oraz czcionki Google wybranej w kreatorze stron. Przeniesiono tylko własne zasoby NetSendo.
Test, który nie wpuszcza zewnętrznych zasobów
Nowy plik tests/Feature/NoThirdPartyAssetsTest.php sprawdza trzy rzeczy:
- Strona logowania, panel i pięć stron webinarów ładują skrypty, style, ikony i obrazy wyłącznie z Twojej instalacji.
- Dawne hosty nie występują już nigdzie w źródłach frontendu.
- Każdy wpis
@vite(), którego wymaga widok, jest faktycznie zbudowany.
Naprawiono: gradienty webinarów
Ekrany odliczania, „jeszcze się nie rozpoczął” i „sesja zakończona” na stronie oglądania znów mają szaro-indygowo-fioletowy gradient. Przed poprawką ściemniały do czerni przy krawędziach, bo arkusz stylów panelu i Tailwind CDN wzajemnie znosiły swoje kolory gradientu.
💼 Korzyści i przypadki użycia
- Mniej podmiotów zewnętrznych otrzymuje adresy IP Twoich użytkowników
- Brak zależności od zewnętrznych hostów czcionek i CDN w trakcie działania
- Lżejsze strony webinarów bez nieużywanego JavaScriptu
- Ten sam wygląd, bez zmian w interfejsie i bez ponownego szkolenia
E-commerce: webinary premierowe
Sklep prowadzi demonstracje na żywo, żeby rozgrzać kupujących przed premierą. Teraz strony rejestracji i powtórki:
- Ładują style NetSendo z Twojej domeny, bez zapytań do Tailwind CDN
- Ułatwiają opisanie w polityce prywatności, z którymi hostami łączy się przeglądarka odwiedzającego
- Ładują się szybciej dzięki małemu, skompilowanemu arkuszowi stylów
SaaS: webinary onboardingowe
Jeśli wdrażasz nowych użytkowników przez cykliczne webinary, strona oglądania nie ładuje już nieużywanego pakietu i nie zgłasza błędu w konsoli. Ekrany odliczania znów też wyglądają starannie.
Agencje: portale klientów i partnerów
Agencje, które dają klientom dostęp do panelu albo prowadzą programy afiliacyjne przez portal partnerów, mogą teraz zapewnić klientów, że czcionki, logo i favicon NetSendo ładują się z serwera agencji. Klienci pytający o przetwarzanie danych dostaną prostszą odpowiedź.
🛠️ Krok po kroku: aktualizacja i weryfikacja
- Najpierw kopia zapasowa
Przed aktualizacją zrób kopię bazy danych i zmodyfikowanych plików. To dobra praktyka przy każdym wydaniu.
- Pobierz v2.5.2
Zaktualizuj instalację tak jak zwykle. Użytkownicy Dockera mogą pobrać nowy obraz i zrestartować stos. Przy instalacjach ze źródeł przełącz się na tag
v2.5.2. Kroki dla Twojej konfiguracji znajdziesz w dokumentacji. - Przebuduj zasoby frontendu (instalacje ze źródeł)
To wydanie dodaje nowe pakiety npm i nowy wpis Vite (
webinar.css), więc zainstaluj zależności ponownie i przebuduj zasoby:npm install npm run build - Wyczyść cache
Wyczyść cache aplikacji i widoków oraz cache reverse proxy lub CDN, żeby przeglądarki dostały nowy HTML.
- Sprawdź w DevTools
Otwórz panel i publiczną stronę webinaru z włączoną zakładką Network. Wszystkie zasoby NetSendo powinny pochodzić z Twojej domeny. Nie powinno być zapytań do
gregciupek.com,fonts.bunny.netanicdn.tailwindcss.com. - Uruchom test (opcjonalnie)
Programiści mogą uruchomić nowy test bezpośrednio:
php artisan test --filter=NoThirdPartyAssetsTest
⚠️ Częsty problem: Jeśli po aktualizacji strona webinaru wyświetla się bez stylów albo pojawia się błąd manifestu Vite, zasoby prawdopodobnie nie zostały przebudowane. Uruchom ponownienpm run buildi sprawdź, czy katalogpublic/buildzostał wdrożony.
🎯 Porady ekspertów
🎯 Porady ekspertów
Panel nie potrzebuje już zewnętrznych hostów czcionek ani obrazów, więc możesz tam ograniczyć font-src, img-src i style-src do 'self'. Na stronach webinarów nadal zezwól na dostawców osadzeń i Google Fonts, jeśli używasz ich w kreatorze stron.
Vite generuje nazwy plików z odciskiem (fingerprint). Serwuj zasoby z /build z długimi nagłówkami cache typu immutable, żeby powracający odwiedzający od razu ładowali czcionki i style.
Treści dodane przez właściciela nadal łączą się z innymi hostami. Jeśli prywatność jest priorytetem, wybierz w kreatorze czcionki systemowe zamiast Google Fonts i uwzględnij osadzenia YouTube, Vimeo i Calendly w polityce prywatności.
Jeśli utrzymujesz fork albo własne motywy, uruchamiaj NoThirdPartyAssetsTest w pipeline CI. Wychwyci linki do CDN, które wróciły przy okazji modyfikacji.
og:image wskazuje teraz na Twoją instalację. Upewnij się, że domena jest publicznie dostępna przez HTTPS, żeby platformy społecznościowe mogły pobrać obraz podglądu.
✅ Podsumowanie
NetSendo v2.5.2 to niewielkie wydanie, które nadaje self-hostingowi więcej sensu. Logo, favicon i czcionki pochodzą teraz z Twojego serwera. Strony webinarów nie używają już niewspieranego skryptu CDN, a nowy test automatyczny pilnuje, żeby tak zostało. Wygląd pozostaje ten sam, a zewnętrznych zależności jest mniej.
Gotowy na aktualizację?
Pobierz v2.5.2 i zatrzymaj dane odwiedzających na własnym serwerze:
Sprawdź, co łączy się z NetSendo, na stronie integracji, a jeśli cenisz narzędzia stawiające na prywatność, daj nam gwiazdkę na GitHubie ⭐

