jagex-launcher-bin
maintainer pajlada
· 1 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
Downloads a prebuilt AppImage from rs-launcher-updates.runescape.com, which is plausibly Jagex/RuneScape's own official update infrastructure, with a pinned sha256 checksum; the host is non-standard but consistent with the official product domain, making this a low-risk official binary distribution rather than an unverifiable third-party source.
Triggered rules
LOW
AI review downgraded a static finding
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 70%): Downloads a prebuilt AppImage from rs-launcher-updates.runescape.com, which is plausibly Jagex/RuneScape's own official update infrastructure, with a pinned sha256 checksum; the host is non-standard but consistent with the official product domain, making this a low-risk official binary distribution rather than an unverifiable third-party source.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
source=() URL on a non-standard host
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:19
source=("${_appimage}::https://rs-launcher-updates.runescape.com/production/linux/x64/latest/jagex-launcher-beta-linux-x86_64.AppImage")
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2
#
3
# Based on https://daveparrish.net/posts/2019-11-16-Better-AppImage-PKGBUILD-template.html
4
5
_pkgname=jagex-launcher
6
pkgname=${_pkgname}-bin
7
pkgver=0.0.26
8
pkgrel=1
9
pkgdesc='Jagex Launcher for Linux'
10
arch=('x86_64')
11
url="https://osrs.runescape.com/download"
12
# TODO: Figure out proper license
13
# electron & chromium licenses are included, but no package license
14
license=('custom:Unlicense')
15
depends=('zlib' 'hicolor-icon-theme')
16
provides=('jagex-launcher')
17
options=(!strip)
18
_appimage="${pkgname}-${pkgver}.AppImage"
19
source=("${_appimage}::https://rs-launcher-updates.runescape.com/production/linux/x64/latest/jagex-launcher-beta-linux-x86_64.AppImage")
20
sha256sums=('e54675e5f2e8254903085ee250f5e87aa87cd8a12c5e715158d2c0261d37c5ba')
21
22
prepare() {
23
chmod +x "${_appimage}"
24
"./${_appimage}" --appimage-extract >/dev/null
25
}
26
27
build() {
28
# Adjust .desktop so it will work outside of AppImage container
29
sed -i -E "s|Exec=AppRun|Exec=env DESKTOPINTEGRATION=false /usr/bin/${_pkgname}|"\
30
"squashfs-root/${_pkgname}.desktop"
31
32
# Fix permissions; .AppImage permissions are 700 for all directories
33
chmod -R a-x+rX squashfs-root/usr
34
}
35
36
package() {
37
# AppImage
38
install -Dm755 "${srcdir}/${_appimage}" "${pkgdir}/opt/${_pkgname}/${_pkgname}.AppImage"
39
install -Dm644 "${srcdir}/squashfs-root/LICENSE.electron.txt" "${pkgdir}/opt/${_pkgname}/LICENSE.electron.txt"
40
install -Dm644 "${srcdir}/squashfs-root/LICENSES.chromium.html" "${pkgdir}/opt/${_pkgname}/LICENSES.chromium.html"
41
42
# Desktop file
43
install -Dm644 "${srcdir}/squashfs-root/${_pkgname}.desktop"\
44
"${pkgdir}/usr/share/applications/${_pkgname}.desktop"
45
46
# Icon images
47
install -dm755 "${pkgdir}/usr/share/"
48
cp -a "${srcdir}/squashfs-root/usr/share/icons" "${pkgdir}/usr/share/"
49
50
# Symlink executable
51
install -dm755 "${pkgdir}/usr/bin"
52
ln -s "/opt/${_pkgname}/${_pkgname}.AppImage" "${pkgdir}/usr/bin/${_pkgname}"
53
54
# Symlink license
55
install -dm755 "${pkgdir}/usr/share/licenses/${_pkgname}/"
56
ln -s "/opt/$_pkgname/LICENSE.electron.txt" "$pkgdir/usr/share/licenses/$_pkgname"
57
ln -s "/opt/$_pkgname/LICENSEs.chromium.html" "$pkgdir/usr/share/licenses/$_pkgname"
58
}
59
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 3 |
| 2026-07-29 00:25:53 | LOW | 3 |
| 2026-07-28 00:07:28 | LOW | 3 |
| 2026-07-27 00:24:32 | LOW | 3 |
| 2026-07-26 00:07:32 | LOW | 3 |
| 2026-07-25 00:13:44 | LOW | 3 |
| 2026-07-24 00:02:28 | LOW | 3 |
| 2026-07-23 00:14:47 | LOW | 3 |
| 2026-07-22 00:29:32 | LOW | 3 |
| 2026-07-21 00:24:15 | LOW | 3 |
| 2026-07-20 00:19:49 | LOW | 3 |
| 2026-07-19 00:17:08 | LOW | 3 |
| 2026-07-18 00:14:48 | LOW | 3 |
| 2026-07-17 00:06:16 | LOW | 3 |
| 2026-07-16 13:54:55 | LOW | 3 |
| 2026-07-16 13:51:33 | MEDIUM | 2 |