f1multiviewer-bin
The package downloads a prebuilt Electron app from a project-owned domain; the host is not whitelisted but is plausibly official, and the checksum is verified, making it a normal AUR package with low risk.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads a prebuilt Electron app from a project-owned domain; the host is not whitelisted but is plausibly official, and the checksum is verified, making it a normal AUR package with low risk.
1 higher static finding superseded - not the current verdict (shown for transparency)
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:17
source=("https://releases.multiviewer.app/v/$_build/MultiViewer-linux-x64-$pkgver.zip"
PKGBUILD
1 offending line(s) highlighted# Maintainer: AntiCompositeNumber <anticompositenumber+aur@gmail.com>
# Maintainer: ExtremTechniker <aur@extremtechniker.io>
pkgname=f1multiviewer-bin
pkgver=2.11.0
# This ID changes for every release, you must grab it from https://multiviewer.app/download each time.
_build=2.11.0/1/FX55OHkBPLIbpzb0Ni0n-PhilOEgbYzt
pkgrel=1
pkgdesc="Unofficial motorsports desktop client"
arch=('x86_64')
url="https://multiviewer.app"
license=('unknown') # Licenses in the dist apply to Electron, not f1multiviewer
depends=('nss' 'alsa-lib' 'gtk3' 'at-spi2-core' 'xdg-utils')
makedepends=('asar')
provides=('f1multiviewer')
conflicts=('f1multiviewer')
install=f1multiviewer-bin.install
source=("https://releases.multiviewer.app/v/$_build/MultiViewer-linux-x64-$pkgver.zip"
"f1multiviewer.desktop")
noextract=()
sha256sums=('39779d9fde68659aeed15283856f01c75360810a89f6fbebbdeebc35ad8127b0'
'00dd9ca8d94a729b80125f6f9ee2287ccd3f86975338c5ce1d12575130d73a6a')
package() {
install -d "$pkgdir/opt/$pkgname"
cp -a "MultiViewer-linux-x64/." "$pkgdir/opt/$pkgname"
chmod 755 "$pkgdir/opt/$pkgname"
chmod 755 "$pkgdir/opt/$pkgname/multiviewer"
install -d "$pkgdir/usr/bin/"
ln -s "/opt/$pkgname/multiviewer" "$pkgdir/usr/bin/f1multiviewer"
ln -s "/opt/$pkgname/multiviewer" "$pkgdir/usr/bin/multiviewer"
asar extract-file "MultiViewer-linux-x64/resources/app.asar" ".webpack/main/88a36af69fdc182ce561a66de78de7b1.png"
install -Dm644 "88a36af69fdc182ce561a66de78de7b1.png" "$pkgdir/usr/share/pixmaps/f1multiviewer.png"
install -Dm644 f1multiviewer.desktop "$pkgdir/usr/share/applications/f1multiviewer.desktop"
install -Dm644 "MultiViewer-linux-x64/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/Electron-LICENSE"
install -Dm644 "MultiViewer-linux-x64/LICENSES.chromium.html" "$pkgdir/usr/share/licenses/$pkgname/LICENSES.chromium.html"
}
Changes since previous scan
--- PKGBUILD @ 2026-10-18 00:06+++ PKGBUILD @ 2026-11-01 00:21@@ -1,9 +1,9 @@ # Maintainer: AntiCompositeNumber <anticompositenumber+aur@gmail.com> # Maintainer: ExtremTechniker <aur@extremtechniker.io> pkgname=f1multiviewer-bin-pkgver=2.9.3+pkgver=2.11.0 # This ID changes for every release, you must grab it from https://multiviewer.app/download each time.-_build=609440096+_build=2.11.0/1/FX55OHkBPLIbpzb0Ni0n-PhilOEgbYzt pkgrel=1 pkgdesc="Unofficial motorsports desktop client" arch=('x86_64')@@ -14,10 +14,10 @@ provides=('f1multiviewer') conflicts=('f1multiviewer') install=f1multiviewer-bin.install-source=("https://releases.multiviewer.app/download/$_build/MultiViewer-linux-x64-$pkgver.zip"+source=("https://releases.multiviewer.app/v/$_build/MultiViewer-linux-x64-$pkgver.zip" "f1multiviewer.desktop") noextract=()-sha256sums=('6d48bf29b146dee0d1a5631cc90299d45e759040260197d8f0399852d7308493'+sha256sums=('39779d9fde68659aeed15283856f01c75360810a89f6fbebbdeebc35ad8127b0' '00dd9ca8d94a729b80125f6f9ee2287ccd3f86975338c5ce1d12575130d73a6a') package() {Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Low | 2 |
| 2026-10-31 00:07:41 | Low | 2 |
| 2026-10-30 00:29:30 | Low | 2 |
| 2026-10-29 00:13:55 | Low | 2 |
| 2026-10-28 00:06:54 | Low | 2 |
| 2026-10-27 00:23:28 | Low | 2 |
| 2026-10-26 00:12:40 | Low | 2 |
| 2026-10-25 00:20:48 | Low | 2 |
| 2026-10-24 19:41:06 | Medium | 1 |
| 2026-10-24 00:14:55 | Low | 2 |
| 2026-10-23 00:02:19 | Low | 2 |
| 2026-10-22 00:13:10 | Low | 2 |
| 2026-10-21 00:12:50 | Low | 2 |
| 2026-10-20 00:10:31 | Low | 2 |
| 2026-10-19 00:03:55 | Low | 2 |
| 2026-10-18 19:22:55 | Medium | 1 |
| 2026-10-18 00:06:55 | Low | 2 |
| 2026-10-17 00:21:55 | Low | 2 |
| 2026-10-16 00:12:47 | Low | 2 |
| 2026-10-15 00:28:05 | Low | 2 |