# [PL] Linux — instalacja feedera ADS-B.Pro

Ta instrukcja jest przeznaczona dla Raspberry Pi oraz komputerów z systemem Linux. Obsługiwane architektury to `amd64`, `arm64`, `armv6` i `armv7`.

Nowy feeder łączy się z ADS-B.Pro przez szyfrowane połączenie TLS. Token jest potrzebny tylko podczas pierwszego parowania instalacji — nie jest wysyłany razem z każdą ramką ADS-B.

## Zanim zaczniesz

Potrzebujesz:

- konta ADS-B.Pro i tokenu zaczynającego się od `ADS-`;
- działającego źródła danych ADS-B na tej samej maszynie;
- dostępu do konta z uprawnieniami `sudo`;
- połączenia wychodzącego do `feed.ads-b.pro` na porcie `48582`.

Instalator automatycznie szuka prawidłowych ramek, a nie nazw zainstalowanych programów:

1. Beast Binary na `127.0.0.1:30005`;
2. jeśli nie znajdzie ramek Beast w ciągu 5 sekund — BaseStation/SBS na `127.0.0.1:30003`.

Może więc współpracować między innymi z `readsb`, `dump1090`, `tar1090` i innymi programami wystawiającymi zgodny strumień.

## Instalacja

W terminalu wykonaj:

```bash
curl -fsSL https://raw.githubusercontent.com/br3jski/radarview/main/radarview_setup.sh | sudo bash
```

Jeżeli instalator nie znajdzie starej konfiguracji, poprosi o token ADS-B.Pro. Wprowadzany token nie jest wyświetlany.

Instalator:

- pobiera feeder odpowiedni dla architektury komputera;
- sprawdza podpisany manifest wydania oraz sumę SHA-256 pliku;
- tworzy użytkownika systemowego `adsbpro-feeder`;
- zapisuje prywatny klucz instalacji wyłącznie lokalnie;
- instaluje i uruchamia usługę systemd;
- uruchamia lokalną stronę statusu na porcie `54321`;
- czeka na połączenie z ADS-B.Pro i pierwszą zaakceptowaną ramkę.

Po udanym sparowaniu tymczasowa kopia tokenu jest usuwana.

## Migracja ze starego `/opt/radarview.py`

Jeżeli masz starą usługę `radarview`, nie usuwaj jej przed instalacją.

Instalator sam odczyta token ze starego skryptu, ale go nie wypisze. Stara usługa zostanie zatrzymana dopiero wtedy, gdy nowy feeder połączy się z ADS-B.Pro i prześle pierwszą zaakceptowaną ramkę. Sam plik starego skryptu pozostaje na dysku jako możliwość awaryjnego powrotu.

Nie uruchamiaj jednocześnie starego i nowego feedera dla tego samego odbiornika — powoduje to wysyłanie duplikatów i niepotrzebne użycie łącza.

## Sprawdzenie działania

Status w terminalu:

```bash
sudo /usr/local/bin/adsbpro-feeder status
```

Status usługi i ostatnie logi:

```bash
sudo systemctl status adsbpro-feeder --no-pager
sudo journalctl -u adsbpro-feeder -n 50 --no-pager
```

Strona statusu:

```text
http://ADRES-IP-FEEDERA:54321
```

Na tym samym komputerze możesz użyć `http://localhost:54321`. Port statusu jest przeznaczony wyłącznie dla sieci lokalnej lub VPN — nie przekierowuj go w routerze do Internetu.

Prawidłowy status to **ACTIVE**. Panel pokazuje między innymi liczbę widzianych samolotów, tempo wiadomości, bieżący upload oraz wersję feedera.

## Kolejna instalacja na tym samym koncie

Pierwsza instalacja v2 może zostać sparowana samym tokenem. Przed dodaniem każdej kolejnej instalacji otwórz w swoim koncie ADS-B.Pro 10-minutowe okno parowania, a następnie uruchom instalator na nowym komputerze.

## Niestandardowy adres lub port źródła

Najprościej uruchomić instalator interaktywnie. Jeżeli źródło ADS-B działa na innym adresie albo porcie, dostępne są opcje instalatora, na przykład:

```bash
curl -fsSL https://raw.githubusercontent.com/br3jski/radarview/main/radarview_setup.sh -o /tmp/radarview_setup.sh
sudo bash /tmp/radarview_setup.sh --source-host 192.168.1.25 --source-mode beast --beast-port 30005
```

Dla BaseStation/SBS użyj `--source-mode sbs --sbs-port NUMER_PORTU`.

## Aktualizacja

Feeder nie aktualizuje się sam. Gdy strona statusu pokaże **UPDATE AVAILABLE**, uruchom ponownie tę samą komendę instalacyjną. To zachowa sparowaną tożsamość instalacji.

## Awaryjny powrót

```bash
sudo /usr/local/sbin/adsbpro-feeder-rollback
```

Polecenie wyłącza nową usługę i, jeżeli była wcześniej wykryta, przywraca starą usługę `radarview`.

## Gdy feeder nie jest ACTIVE

Sprawdź kolejno:

1. czy na `127.0.0.1:30005` albo `127.0.0.1:30003` rzeczywiście płyną dane;
2. wynik `sudo /usr/local/bin/adsbpro-feeder status`;
3. logi `sudo journalctl -u adsbpro-feeder -n 100 --no-pager`;
4. czy firewall pozwala na połączenie wychodzące TCP do `feed.ads-b.pro:48582`;
5. przy kolejnej instalacji — czy w panelu konta otwarto okno parowania.

Kod instalatora i feedera jest publiczny: [github.com/br3jski/radarview](https://github.com/br3jski/radarview).