>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
Go

Prywatny hosting wideo z chmury bez obciążenia serwera — przyglądamy się projektowi 91

Czasami chcesz skonfigurować własny serwer mediów dla domowego archiwum lub osobistych nagrań, ale natychmiast napotykasz na ograniczenia zasobów. Budżetowa maszyna wirtualna zwykle ma skromny dysk o pojemności 20 gigabajtów i ograniczoną przepustowość. Strumieniowanie kilku ciężkich plików wideo łatwo nasyca sieć, a przechowywanie gigabajtów treści wymaga ciągłego dokupywania miejsca.

Ostatnio natknąłem się na projekt o zwięzłej nazwie 91. To prywatne rozwiązanie do hostingu wideo napisane w Go, które rozwiązuje problem miejsca na dysku i ruchu prostą sztuczką. Wykorzystuje istniejącą pamięć masową w chmurze i udostępnia wideo za pomocą bezpośrednich przekierowań.

Na czym polega główna funkcja

Zwykłe serwery mediów, takie jak Plex czy Jellyfin, kierują wszystkie ciężkie strumienie wideo przez własny procesor i interfejs sieciowy. Jeśli Twój serwer znajduje się na tanim VPS, transkodowanie i dystrybucja szybko osiągają sufit.

Project 91 działa inaczej. Obsługuje zadania katalogu, panelu administracyjnego i generatora interfejsu webowego. Kiedy odtwarzasz wideo, serwer wysyła do przeglądarki HTTP 302 z bezpośrednim linkiem do CDN pamięci masowej w chmurze. W rezultacie ruch VPS jest wykorzystywany tylko do obsługi strony internetowej i miniaturek, a strumień wideo trafia bezpośrednio od dostawcy chmury do użytkownika.

Projekt może łączyć się z WebDAV, Google Drive, OneDrive, a także popularnymi azjatyckimi chmurami, takimi jak PikPak, 115 i 123pan.

Ekran główny

Co w środku: od kanału TikTok do wygasających linków

Deweloper dodał kilka specyficznych funkcji, które rzadko spotyka się w standardowych odtwarzaczach hostowanych samodzielnie.

Krótkie wideo

Jednym kliknięciem interfejs przełącza się na pionowy kanał przypominający TikTok lub Reels. Wideo przewijają się kółkiem myszy lub przesunięciami. Autor szczerze jednak zauważa w README, że ten tryb nie działa jeszcze idealnie na iOS.

Udostępnianie jednorazowe

Wideo można udostępniać za pomocą zasady jednokierunkowego odtwarzania. Generowany jest specjalny link, przez który plik odtwarza się dokładnie raz bez autoryzacji. Przy ponownej próbie otwarcia strony dostęp do wideo zostaje odmówiony.

Strona udostępniania

Potrójny ekran dla wideo pionowych

Podczas oglądania wideo pionowego na szerokim monitorze komputerowym odtwarzacz może rozszerzyć obraz na trzy sekcje, wypełniając boki rozmazanymi duplikatami. Ważna uwaga: w tym trybie strumień jest proxy przez Twój VPS, więc podejście z przekierowaniami 302 bez ruchu tutaj nie ma zastosowania.

| Pojedynczy ekran | Potrójny ekran | |---|---| | Pojedynczy ekran | Potrójny ekran |

Niestandardowe crawlery

System zawiera wbudowaną obsługę zewnętrznych skryptów, które automatycznie zapełniają bibliotekę mediów. Repozytorium SpiderFor91 zawiera specyfikacje tworzenia niestandardowych parserów.

Odtwarzacz

Jak to wdrożyć

Pod maską Go i SQLite sprawiają, że projekt jest lekki. Dostępne są dwie standardowe ścieżki instalacji.

Gotowy skrypt instalacyjny

Jeśli używasz czystego systemu Ubuntu lub Debian, możesz użyć skryptu Bash z repozytorium:

sudo apt update && sudo apt install -y curl ca-certificates
curl -fsSL https://raw.githubusercontent.com/nianzhibai/91/main/install.sh -o install.sh
sudo bash install.sh

Po instalacji w systemie będzie dostępne narzędzie CLI 91 do zarządzania usługą. Dzięki niemu możesz sprawdzić status, przeglądać logi i zaktualizować plik binarny:

91 status     # Проверить статус
91 logs       # Посмотреть логи
91 update     # Обновить сервис

Wdrożenie przez Docker Compose

Dla tych, którzy wolą konteneryzację, łatwiej uruchomić usługi za pomocą standardowego pliku Compose:

mkdir video-site-91 && cd video-site-91
curl -fsSL https://raw.githubusercontent.com/nianzhibai/91/main/docker-compose.yml -o docker-compose.yml
docker compose up -d

Wszystkie dane są przechowywane lokalnie w kilku plikach:

  • ./data/config.yaml zawiera poświadczenia administratora i tokeny chmury.
  • ./data/video-site.db przechowuje bazę danych SQLite.
  • ./data/previews/ służy do buforowania okładek i podglądów.

Panel administracyjny

Czy warto wypróbować

Project 91 to interesantne znalezisko dla osób potrzebujących prostego interfejsu webowego nad pamięcią masową w chmurze bez nadmiernych wydatków na mocny serwer. Dzięki przekierowaniom 302 system można łatwo uruchomić nawet na najtańszym VPS za kilka dolarów miesięcznie.

Oczywistą wadą jest bariera językowa: dokumentacja i część interfejsu są początkowo zorientowane na chińskojęzyczny segment internetu. Niemniej jednak podstawowy WebDAV i międzynarodowe chmury działają bez problemów. Jeśli potrzebujesz prywatnego odtwarzacza z funkcją linków jednorazowych i trybem pionowym, ten projekt zdecydowanie warto rozważyć.

Powiązane projekty