# [EN] Windows — ADS-B.Pro feeder installation

This guide covers Windows installations using Kinetic SBS, Virtual Radar Server, BaseStation, `readsb`, `dump1090`, or another compatible ADS-B source.

The feeder connects to ADS-B.Pro using encrypted TLS. Your token is used once to pair the installation — it is not sent with every ADS-B frame.

## Requirements

- Windows on an `AMD64` or `ARM64` computer;
- **Windows PowerShell opened as Administrator**;
- an ADS-B.Pro account and a token beginning with `ADS-`;
- a Beast Binary or BaseStation/SBS stream available locally or on your LAN;
- outbound access to `feed.ads-b.pro:48582`.

By default, the installer checks for actual valid frames:

1. Beast Binary on `127.0.0.1:30005`;
2. after 5 seconds without a valid Beast frame — BaseStation/SBS on `127.0.0.1:30003`.

## Recommended method: download, inspect, then run

You do not have to execute code directly from the Internet. Open the Start menu, find **Windows PowerShell**, right-click it, and select **Run as administrator**. Run these commands one at a time:

```powershell
$InstallerUrl = 'https://raw.githubusercontent.com/br3jski/radarview/main/radarview_setup.ps1'
$InstallerPath = Join-Path $env:TEMP 'radarview_setup.ps1'
Invoke-WebRequest -UseBasicParsing -Uri $InstallerUrl -OutFile $InstallerPath
notepad $InstallerPath
```

Notepad opens the exact script that will be executed. After reviewing it, close Notepad and run:

```powershell
& $InstallerPath
```

If PowerShell blocks the local script because of the execution policy, allow it only in the current window:

```powershell
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
& $InstallerPath
```

`-Scope Process` does not permanently change the computer configuration and stops applying when that PowerShell window is closed.

## Quick one-line installation

The command below downloads and runs the same public script, but does not let you inspect it before execution:

```powershell
irm https://raw.githubusercontent.com/br3jski/radarview/main/radarview_setup.ps1 | iex
```

## What the installer does

- detects valid Beast or SBS data;
- downloads the correct feeder binary;
- verifies the release manifest's ECDSA signature and the archive's SHA-256 checksum;
- installs files under `C:\Program Files\ADSBPro\Feeder`;
- stores configuration and identity under `C:\ProgramData\ADSBPro\Feeder`;
- creates the automatic `ADSBProFeeder` service running as the restricted `LocalService` account;
- adds a firewall rule for the status page from private/VPN networks only;
- waits for the connection and first accepted frame.

The installation private key never leaves the computer. The token is entered in a secure prompt, used for initial pairing, and removed from temporary configuration after the feeder becomes **ACTIVE**. The feeder does not update itself automatically.

If an upgrade of an existing v2 installation fails, the installer attempts to restore the previous version automatically.

## Virtual Radar Server and Kinetic SBS

If BaseStation, `readsb`, `dump1090`, or another program already exposes Beast on port `30005` or SBS on `30003`, no VRS configuration is needed.

If VRS must expose the data:

1. Open **Tools → Options → Rebroadcast Servers**.
2. Add a rebroadcast server and select the correct Receiver.
3. Set Format to **BaseStation**.
4. Choose an unused local port, for example `31003`.
5. Leave **Push feed** disabled — the feeder connects to this local port itself.
6. Run the installer with that port:

```powershell
& $InstallerPath -SourceMode sbs -SbsPort 31003
```

If VRS still has a legacy Push Feed to `feed.ads-b.pro:48581`, do not disable it before installing. Disable it only after the new feeder shows **ACTIVE** and is sending data. Leaving both methods enabled causes duplicates and unnecessary bandwidth use.

## Source on another computer or port

Example for Beast on another LAN device:

```powershell
& $InstallerPath -SourceHost 192.168.1.25 -SourceMode beast -BeastPort 30005
```

Example for SBS on a non-standard port:

```powershell
& $InstallerPath -SourceMode sbs -SbsPort 31003
```

## Verify the installation

```powershell
Get-Service ADSBProFeeder
& "$env:ProgramFiles\ADSBPro\Feeder\adsbpro-feeder.exe" status
Get-Content "$env:ProgramData\ADSBPro\Feeder\data\feeder.log" -Tail 50
```

Status page on the same computer:

```text
http://localhost:54321
```

From another device on the same LAN or VPN, use `http://COMPUTER-IP-ADDRESS:54321`. Do not expose this port to the Internet with router port forwarding.

The expected state is **ACTIVE**. The page also shows aircraft count, message rate, current upload rate, and feeder version.

## Adding another installation to the same account

The first v2 installation can be paired with the token alone. Before pairing each additional installation, open a 10-minute pairing window in your ADS-B.Pro account and then run the installer on the new computer.

## Updating

The feeder does not update itself. When the status page shows **UPDATE AVAILABLE**, download the current script and run it again. The paired identity is preserved.

```powershell
Invoke-WebRequest -UseBasicParsing -Uri $InstallerUrl -OutFile $InstallerPath
& $InstallerPath
```

## Remove the service or roll back

```powershell
& "$env:ProgramFiles\ADSBPro\Feeder\rollback-windows.ps1"
```

This removes the service and firewall rule but keeps the local installation identity, so it can be reinstalled later without pairing again.

## If the feeder is not ACTIVE

Check connectivity:

```powershell
Test-NetConnection 127.0.0.1 -Port 30005
Test-NetConnection 127.0.0.1 -Port 30003
Test-NetConnection feed.ads-b.pro -Port 48582
```

An open local port alone is not enough — it must carry valid Beast frames or SBS `MSG,` lines. Also inspect the log, make sure PowerShell was opened as Administrator, and for an additional installation make sure the pairing window is open.

The installer and feeder source code are public: [github.com/br3jski/radarview](https://github.com/br3jski/radarview).