unifi-no-ads
Triggered rules
zero_votes_recent
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
llm_review
The static rules flagged this MEDIUM, but an AI model (anthropic/claude-sonnet-4.6) reviewed the full PKGBUILD and judged it LOW (confidence 75%): The main binary is downloaded from Ubiquiti's official distribution server (dl.ui.com) with checksums provided; the only non-standard element is a bundled local 'mongod' wrapper script replacing the bundled binary for MongoDB compatibility, which is a known legitimate workaround for this package. The sed command at the end removes ad-related JS, matching the package's stated purpose. No obfuscation, exfiltration, or untrusted remote code execution is present.
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:22
source=("UniFi-${pkgver}.zip::https://dl.ui.com/unifi/${pkgver}/UniFi.unix.zip"
PKGBUILD
1 offending line(s) highlighted# Maintainer: Maxwell Pray <synthead@gmail.com>
# Contributor: Frederik Schwan <freswa at archlinux dot org>
# Contributor: Sébastien "Seblu" Luttringer <seblu@archlinux.org>
_pkgname=unifi
pkgname=$_pkgname-no-ads
pkgver=10.5.67
pkgrel=1
pkgdesc='Centralized management system for Ubiquiti UniFi AP'
arch=('x86_64' 'armv7h' 'aarch64')
url='https://unifi-network.ui.com'
# We are allowed to ship the software in our repository
# https://mailman.archlinux.org/mailman/private/arch-dev/2014-August/015690.html
license=('custom')
depends=(
'fontconfig'
'java-runtime-headless=25'
'mongodb'
)
conflicts=('tomcat-native' 'unifi')
provides=('unifi')
source=("UniFi-${pkgver}.zip::https://dl.ui.com/unifi/${pkgver}/UniFi.unix.zip"
mongod
unifi.service
unifi.sysusers
unifi.tmpfiles
LICENSE)
b2sums=('c483e6e40afc2cd565b6d268c5a4b210da0dd4a8518449dedd7dd399acfae3e353de1f68db2cdfc91390f39262906ff44eecedc4035d664c1321d0c13c119f27'
'2c8d535aabe8e738a9ba375fc4ab7aaa1713c9aefffc3e652fd49bc6288d0b7d24cae64d04ded5d5052486a377edca190818874a80bafb33cf2ac94742540106'
'753d4f24793ca65c9f554bedfbc22d6507474d835986cdba435538ec6518bd14769a64485a5f4bab1fc879378ff4c4b64ec323fa362dac32f739ed119cb2647c'
'5474a726a8a222f463f47cdca44988889406e2bee7b3c7875d45b20dc283d1d9737772d8cb63cd35c75517f3606feaadcf02c00b73e5bbab40f459d78d066c3e'
'bd254ddbd4b52acca50b41dffe7ae1e2e5250f15574fc371d36dc133215f3a268623b0b5b12e73932c856bf90a69a178ba91530ffa8b08c0da51f51911b2ef92'
'84f2a201143b3e44ba09d1009818db507d8f261d495a86ce239bcbacee059aad5c63af1b43638b126be743ff7c660f0871eb2b4efe2031e2f64bc23f172052e0')
package() {
# lib
install -dm755 "${pkgdir}"/usr/lib/unifi
cp -r UniFi/{bin,dl,lib,webapps} "${pkgdir}"/usr/lib/unifi
case ${CARCH} in
x86_64)
rm -r "${pkgdir}"/usr/lib/unifi/lib/native/Linux/aarch64
;;
aarch64)
rm -r "${pkgdir}"/usr/lib/unifi/lib/native/Linux/x86_64
;;
*)
rm -r "${pkgdir}"/usr/lib/unifi/lib/native/Linux
;;
esac
# fix incompatibility with mongodb >= 3.6
rm "${pkgdir}"/usr/lib/unifi/bin/mongod
install -Dm755 "${srcdir}"/mongod "${pkgdir}"/usr/lib/unifi/bin/mongod
# data
install -dm750 "${pkgdir}"/var/lib/unifi
for _d in {data,run,work}; do
ln -s ../../../var/lib/unifi/${_d} "${pkgdir}"/usr/lib/unifi/${_d}
done
# log
ln -s ../../../var/log/unifi "${pkgdir}"/usr/lib/unifi/logs
# readme
install -Dm644 UniFi/readme.txt "${pkgdir}"/usr/share/doc/${_pkgname}/README
# license
install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${_pkgname}/LICENSE
# systemd
install -Dm644 ${_pkgname}.service "${pkgdir}"/usr/lib/systemd/system/${_pkgname}.service
install -Dm644 ${_pkgname}.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/${_pkgname}.conf
install -Dm644 ${_pkgname}.sysusers "${pkgdir}"/usr/lib/sysusers.d/${_pkgname}.conf
# Remove JS that presents ads to the user.
sed -Ei '/return n&&r\?.+\.aF\.Root/s/return n/return !1/' "$pkgdir/usr/lib/unifi/webapps/ROOT/app-unifi/react/js"/swai.*.js
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-18 05:41:37 | LOW | 3 |
| 2026-08-18 05:38:33 | MEDIUM | 2 |