forge-server-unstable
The package downloads the official Forge installer from Maven, which is the project's legitimate distribution infrastructure, and runs it to build the server; this is normal for Forge packaging and poses no additional risk despite the host not being on a whitelist.
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 the official Forge installer from Maven, which is the project's legitimate distribution infrastructure, and runs it to build the server; this is normal for Forge packaging and poses no additional risk despite the host not being on a whitelist.
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:32
"https://maven.minecraftforge.net/net/minecraftforge/forge/${_minecraftver}-${pkgver}/forge-${_minecraftver}-${pkgver}-installer.jar"
PKGBUILD
1 offending line(s) highlighted# Maintainer: Brian Elder <gth747m@gmail.com>
pkgname=forge-server-unstable
pkgdesc="Forge is a free, open-source modding API all of your favourite mods use!"
url="https://minecraftforge.net"
pkgver=65.1.3
pkgrel=1
_minecraftver=26.2
_licensever=26.2
_srvpath="/opt"
arch=("any")
license=("custom")
depends=("jdk-openjdk")
optdepends=("tar: needed in order to create world backups")
provides=("forge-server-unstable=65.1.3")
backup=("opt/forge-server-unstable/banned-ips.json"
"opt/forge-server-unstable/banned-players.json"
"opt/forge-server-unstable/config"
"opt/forge-server-unstable/eula.txt"
"opt/forge-server-unstable/logs"
"opt/forge-server-unstable/mods"
"opt/forge-server-unstable/ops.json"
"opt/forge-server-unstable/server.properties"
"opt/forge-server-unstable/usercache.json"
"opt/forge-server-unstable/user_jvm_args.txt"
"opt/forge-server-unstable/whitelist.json"
"opt/forge-server-unstable/world")
install="forge-server-unstable.install"
source=("https://raw.githubusercontent.com/MinecraftForge/MinecraftForge/${_licensever}/LICENSE.txt"
"https://maven.minecraftforge.net/net/minecraftforge/forge/${_minecraftver}-${pkgver}/forge-${_minecraftver}-${pkgver}-installer.jar"
"forge-server-unstable.service"
"eula.txt")
noextract=("forge-${_minecraftver}-${pkgver}-installer.jar")
sha512sums=("1f30ec90fae7f3b450affdd73cf3dce738287eecc274fd6d066a575bf75b19d6988b482144a33c80603326485d6b69b0cac866dc5ab25feccfce912d920712fa"
"201bb659624c9d97f740c33904e5cd9c05e6d4927503feac153e349f8eb6f329f8a6ce7b0356ae1013a9564def535f24e4975df6528a31512cdfa3f1c9b46c8c"
"bfda8a268b2fcb9877fe716d2d3f68b6bc11ba056d8890178c40e51995fa067b2b4f2e1865c0dcc7489dd037f22fe95ae8b5d50b9cb7000ce4854c48072c042d"
"68205ffc60327c67a5ebe778598c3350d64b48aad9dacf52fcde435a535a074ba2056db30dff1b18e3c8e38510acd6ececa298b13cd4c4203636560fa4cf70cb")
prepare() {
mkdir -p forge-server-unstable || exit
}
build() {
java -jar "./forge-${_minecraftver}-${pkgver}-installer.jar" --installServer ./forge-server-unstable
}
package() {
install -d "${pkgdir}/${_srvpath}/${pkgname}"
install -Dm444 "LICENSE.txt" "${pkgdir}/${_srvpath}/${pkgname}"
install -Dm644 "eula.txt" "${pkgdir}/${_srvpath}/${pkgname}"
cp -r "./${pkgname}" "${pkgdir}/${_srvpath}"
ln -s "forge-${_minecraftver}-${pkgver}-shim.jar" "${pkgdir}/${_srvpath}/${pkgname}/forge-server-unstable.jar"
install -Dm644 "${srcdir}/forge-server-unstable.service" "${pkgdir}/usr/lib/systemd/system/forge-server-unstable.service"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Low | 2 |
| 2026-09-16 00:03:17 | Low | 2 |
| 2026-09-15 00:25:31 | Low | 2 |
| 2026-09-14 00:27:57 | Low | 2 |
| 2026-09-13 00:19:54 | Low | 2 |
| 2026-09-12 00:25:17 | Low | 2 |
| 2026-09-11 00:19:22 | Low | 2 |
| 2026-09-10 00:22:44 | Low | 2 |
| 2026-09-09 00:04:09 | Low | 2 |
| 2026-09-08 00:18:08 | Low | 2 |
| 2026-09-07 00:30:15 | Low | 2 |
| 2026-09-06 00:17:06 | Low | 2 |
| 2026-09-05 00:16:27 | Low | 2 |
| 2026-09-04 00:03:13 | Low | 2 |
| 2026-09-03 00:15:47 | Low | 2 |
| 2026-09-02 00:02:31 | Low | 2 |
| 2026-09-01 00:11:19 | Low | 2 |
| 2026-08-31 00:19:57 | Low | 2 |
| 2026-08-30 00:04:14 | Low | 2 |
| 2026-08-29 00:29:17 | Low | 2 |