CzADSB-Mapa
Obsah
Uvod
Predpokladany postup instalace
- Pripravit si distribuci
- Zkompilovat ReADSB (nepotrebujeme zadne sdr ovladace)
- Nastavit ReADSB
- Nainstalovat Tar1090
- Zkonfigurovat Tar1090
Distribuce
Nebojime se niceho, takze jdeme do nejnovejsiho operacniho systemu, at mame na dlouho klid. Priparvime si komplet distribuci vcetne aktualizaci a ovladaci pro virtual ( Linux & Aplikace ).
WebServer
Pro provoz potrebujeme jeden ze dvou nize uvedenych web serveru. Volba je v podstate na vas, ale Tar1090 ma primo integrovanou podporu pro Lighttpd.
Lighttpd
# prvne nainstalujeme WebServer. Doporu4uje se nginx, nebo lighttpd sudo apt install -y lighttpd sudo apt install -y lighttpd-mod-authn-pam
Nginx
# prvne nainstalujeme WebServer. Doporu4uje se nginx, nebo lighttpd sudo apt install nginx
ReADSB
Kompilace
sudo apt update && sudo apt upgrade -y sudo apt install --no-install-recommends --no-install-suggests -y \ git build-essential debhelper libusb-1.0-0-dev pkg-config fakeroot libncurses-dev zlib1g-dev libzstd-dev librtlsdr-dev help2man git clone --depth 20 https://github.com/wiedehopf/readsb.git cd readsb rm -f ../readsb_*.deb export DEB_BUILD_OPTIONS=noddebs dpkg-buildpackage -b -ui -uc -us
Pokud již máme potřebný balíček, tak jej nainstalujeme:
cd rm -f /tmp/readsb_*.deb cp ./readsb_*.deb /tmp/ sudo apt install /tmp/readsb_*.deb rm -f /tmp/readsb_*.deb
Dale vytvorime pravidlo pro Lighttpd (pokud jsme jej instalovali
sudo wget -q https://rxw.cz/adsb/install/web/64-readsb.conf -O /etc/lighttpd/conf-available/64-readsb.conf sudo ln -s ../conf-available/64-readsb.conf /etc/lighttpd/conf-enabled/64-readsb.conf sudo wget -q https://rxw.cz/adsb/install/web/system.cgi -O /var/www/html/system.cgi sudo systemctl reload lighttpd.service
Nastaveni ReADSB
sudo mcedit /etc/default/readsb
# readsb configuration # This is sourced by /etc/systemd/system/default.target.wants/readsb.service as # daemon startup configuration. RECEIVER_OPTIONS="--net --net-only --net-ingest --net-connector 10.0.0.74,30005,beast_in,silent_fail --net-connector 10.129.99.147,30005,beast_in,silent_fail --net-connector 10.0.0.73,30005,beast_in,silent_fail" DECODER_OPTIONS="--write-json-every 1 --net-beast-reduce-interval 0.5 --net-heartbeat 60 --net-ro-size 1280 --net-ro-interval=0.05 --net-ro-interval-beast-reduce=0.12" NET_OPTIONS="--net-ro-port 0 --net-sbs-port 0 --net-bi-port 0 --net-bo-port 0 --net-ri-port 0 --net-api-port unix:/run/readsb/api.sock --api-shutdown-delay 10 --tar1090-use-api" JSON_OPTIONS="--write-receiver-id-json --write-json-every 1 --json-location-accuracy 2 --range-outline-hours 24"
sudo systemctl restart readsb.service
Tar1090
POZOR: Pokud neni funkcni ReADSB, tak nam nebude fungovat ani Tar. Ve skriptu si zjistuje kde ma data letadel a pokud je nema, tak se nespusti.
Instalace
# Nainstalujeme vlastni Tar1090 sudo bash -c "$(wget -nv -O - https://github.com/wiedehopf/tar1090/raw/master/install.sh)" sudo wget -O /usr/local/share/tar1090/aircraft.csv.gz https://github.com/wiedehopf/tar1090-db/raw/csv/aircraft.csv.gz
Nastaveni Tar1090
sudo sed -i "s/\/\/PlaneCountInTitle = false.*/PlaneCountInTitle = true;/g" /usr/local/share/tar1090/html/config.js sudo sed -i "/^\/\/shareBaseUrl = 'https:\/\/adsb\.lol\/'[^;]*/i shareBaseUrl = 'https://aircrafts.rxw.cz/'" /usr/local/share/tar1090/html/config.js sudo sed -i "s/\/\/ imageConfigLink = .*/imageConfigLink = 'https:\/\/user.czadsb.cz';/g" /usr/local/share/tar1090/html/config.js sudo sed -i "s/\/\/ imageConfigText = .*/imageConfigText = 'CzADSB';/g" /usr/local/share/tar1090/html/config.js
Autorizace
Za účelem přihlášení a přesměrování při neplatnem přihlášení vztvoříme skript:
sudo nano /etc/pam.d/lighttpd-auth
auth required pam_exec.so expose_authtok /usr/local/bin/lighttpd_auth.sh account required pam_permit.so
sudo mcedit /usr/local/bin/lighttpd_auth.sh
#!/bin/bash
# PAM předává jméno v proměnné prostředí $PAM_USER
# Heslo (token) čteme ze standardního vstupu
read -r TOKEN
USERNAME="$PAM_USER"
# Zjištění IP adresy (zůstává stejné)
if [ -n "$HTTP_X_FORWARDED_FOR" ]; then
CLIENT_IP=$(echo "$HTTP_X_FORWARDED_FOR" | cut -d',' -f1 | tr -d ' ')
else
CLIENT_IP="$REMOTE_ADDR"
fi
# Dotaz na váš PHP portál
RESPONSE=$(curl -s --max-time 5 -X POST \
-d "username=$USERNAME" \
-d "token=$TOKEN" \
-d "ip=$CLIENT_IP" \
"https://user.czadsb.cz/service/autentizace.php")
if [ "$RESPONSE" == "OK" ]; then
exit 0
else
exit 1
fi
sudo mcedit /var/www/html/redirect_login.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="0;url=https://user.czadsb.cz/index.php?page=login&return=mapa">
<script type="text/javascript">
window.location.href = "https://user.czadsb.cz/index.php?page=login&return=mapa"
</script>
</head>
<body>
Požadováno přihlášení. Přesměrovávám na <a href="https://user.czadsb.cz/login.php">user.czadsb.cz</a>...
</body>
</html>
Následně upravíme konfiguraci pro lighttpd a tar1090: