Seedbox to specjalna „aplikacja”, która ma na celu udostępnianie i ściąganie plików cyfrowych na zewnętrznym serwerze. Seedbox jest związany z protokołem BitTorrent i udostępnianiem plików peer-to-peer (p2p). Prędkość zależy od łącza i wynosi zazwyczaj 100 Mbit (12,5 MB/s) -1 Gbit/s (125 MB/s).
Seedbox to połączenie dwóch aplikacji: rTorrent, który jest aplikacją do zarządzania torrentami z poziomu basha oraz nakładki na ten program ruTorrent. Nakładka umożliwia dostęp do specjalnej aplikacji w postaci strony internetowej, która steruje aplikacją rTorrent po stronie serwera.

Rtorrent (źródło zdjęcia: wikipedia)
Do czego stosuje się seedboxy?
Seedbox, z racji niskich wymagań sprzętowych umożliwiają w łatwy sposób udostępnianie plików dla użytkowników oraz ich pobieranie. Jest to szczególnie ważne, gdy udostępniamy pliki użytkownikom. Użytkownicy instalują ję często na starych nieużywanych komputerach lub urządzeniach typu Rasberry Pi.
Użytkownicy pobierający plik mogą go udostępniać dalej — tym samym nie obciążając nas jako jedynego źródła pliku. Dlatego seedboxy są wykorzystywane przez społeczność open source do dzielenia się różnymi aplikacjami czy dystrybucjami unix.
Najczęściej jednak stosowane są one na prywatnych trackerach z torrentami (są to zamknięte strony internetowe udostępniające pliki poprzez protokół bitTorrent). Aplikacje pozwalają zachować odpowiednie ratio pliku (stosunek pobranych danych do udostępnionych), który jest wymagany przez administratorów takich trackerów.

ruTorrent – nakładka wizualna na aplikacje rTorrent
Seedboxy są też wykorzystywane do ukrycia przed restrykcjami prawnymi działającymi w danym kraju. W tym wypadku adres IP jest adresem seedboxa, a nie użytkownika, który za jego pośrednictwem pobiera pliki. Oczywiście konfiguracji lokalnej, bez użycia VPN — adres seedboxa będzie naszym adresem (np. virtualbox).
Instalacja na serwerze (Ubuntu 18.04)
Przy instalacji wykorzystam gotowy skrypt rtinst, który dostępny jest pod adresem https://github.com/arakasi72/rtinst. Automatyczny skrypt ułatwi i skonfiguruje wszystkie elementy składające się na poprawnie działający seedbox.
Skrypt obsługuje następujące dystrybucje:
- Ubuntu 16,
- Ubuntu 17,
- Ubuntu 18,
- Ubuntu 19,
- Debian 9 „Stretch”
- Debian 10 „Buster”
Instaluje i konfiguruje następujące aplikacje:
- vsftpd — ftp server,
- libTorrent i rTorrent,
- ruTorrent,
- nginx,
- autodl-irssi,
- webmin (opcjonalnie)
sudo bash -c "$(wget --no-check-certificate -qO - https://raw.githubusercontent.com/arakasi72/rtinst/master/rtsetup)"

Instalacja skryptu rtInst
Po instalacji należy uruchomić skrypt poprzez komendę sudo rtinst, rozpocznie on instalacje i konfiguracje seedboxa.

Rozpoczęcie instalacji seedboxa.
Po około 10 minutach instalacja powinna się zakończyć. Na ekranie wyświetlą się informacje podsumowujące z adresem dostępu do seedboxa.

Zakończenie instalacji seedboxa.
Przechodząc pod podany adres, logujemy się i otrzymujemy dostęp do aplikacji rTorrent + ruTorrent.

ruTorrent – nakładka wizualna na aplikacje rTorrent
Wymagania i obciążenie serwera
Wymagania aplikacji są minimalne, czysty serwer Ubuntu 18.04 wraz z zainstalowanymi aplikacjami poprzez skrypt pobiera 164 MB pamięci RAM. Obciążenie procesora zależy od ilości pobieranych, wysyłanych plików i prędkości internetu. Aplikacje można zainstalować na starszym komputerze, lub komputerze jednopłytowym (np. Raspberry Pi).

Obciążenie serwera z zainstalowanym seedboxem