epic-games-launcher-proton-bin

MEDIUM
maintainer Adiker 0 votes scanned 2026-10-17 13:19:51.964758
View on AUR
Why flagged

The AppImage is downloaded from Epic's own CDN (content-download-egs.distro.on.epicgames.com) with a pinned SHA-256, which is plausibly official; however, the second source tarball comes from a personal GitHub account (Adiker/egl-arch) with few votes and is a recently uploaded package containing build scripts and a prebuilt shared library (libayatana-appindicator3.so.1) installed via 'tray/build.sh', making it an unverifiable third-party binary from a low-trust source that could be silently swapped.

Triggered rules

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:24 "EpicGamesLauncher-${pkgver}+g${_epic_gitrev}-${CARCH}.AppImage::https://content-download-egs.distro.on.epicgames.com/Builds/EGLv2/${pkgver}%2Bg${_epic_gitrev}/Linux/EpicGamesLauncher-${CARCH}.AppImage"
Low Few votes, recently uploaded zero_votes_recent

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

Medium AI review llm_review

An AI model (anthropic/claude-sonnet-4.6) reviewed this and agrees it is MEDIUM (confidence 65%): The AppImage is downloaded from Epic's own CDN (content-download-egs.distro.on.epicgames.com) with a pinned SHA-256, which is plausibly official; however, the second source tarball comes from a personal GitHub account (Adiker/egl-arch) with few votes and is a recently uploaded package containing build scripts and a prebuilt shared library (libayatana-appindicator3.so.1) installed via 'tray/build.sh', making it an unverifiable third-party binary from a low-trust source that could be silently swapped.

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Adiker (https://aur.archlinux.org/account/Adiker)
2# Unofficial native Epic Games Launcher Preview; upstream binaries are unmodified.
3pkgname=epic-games-launcher-proton-bin
4pkgver=0.97.0
5pkgrel=4
6_epic_gitrev=4f63cc1
7pkgdesc='Native Epic Games Launcher Preview with per-game Proton selection'
8arch=('x86_64')
9url='https://github.com/Adiker/egl-arch'
10license=('MIT' 'LicenseRef-Proprietary')
11depends=(
12 'bash' 'cairo' 'coreutils' 'dbus' 'dconf' 'gawk' 'gdk-pixbuf2' 'glib2'
13 'glibc' 'gtk3' 'gtk4' 'hicolor-icon-theme' 'libadwaita'
14 'libayatana-appindicator' 'libgcc' 'libnotify' 'libsoup3' 'libstdc++'
15 'libx11' 'systemd' 'util-linux' 'webkit2gtk-4.1' 'xdg-utils'
16)
17makedepends=('rust' 'squashfs-tools' 'patchelf')
18checkdepends=('desktop-file-utils')
19provides=("epic-games-launcher=$pkgver")
20conflicts=('epic-games-launcher' 'epic-games-launcher-bin')
21# Preserve Epic's ELF bytes, debug information and original RUNPATHs.
22options=('!strip' '!debug')
23source=(
24 "EpicGamesLauncher-${pkgver}+g${_epic_gitrev}-${CARCH}.AppImage::https://content-download-egs.distro.on.epicgames.com/Builds/EGLv2/${pkgver}%2Bg${_epic_gitrev}/Linux/EpicGamesLauncher-${CARCH}.AppImage"
25 "https://github.com/Adiker/egl-arch/releases/download/v${pkgver}-${pkgrel}/egl-arch-sources-${pkgver}-${pkgrel}.tar.xz"
26)
27noextract=("EpicGamesLauncher-${pkgver}+g${_epic_gitrev}-${CARCH}.AppImage")
28sha256sums=(
29 '5cf8607bb0a8f29a9887249d491c3c41ea3d0e8ed06a86695aa8e3b6000edae6'
30 'd32a7e7bc7e87934ccbc3e0664c3abe38d71218eac2ee5cbc6749f1e8fea3a68' # port sources
31)
32
33prepare() {
34 local image="EpicGamesLauncher-${pkgver}+g${_epic_gitrev}-${CARCH}.AppImage"
35 local offset
36 offset=$(LC_ALL=C readelf -h "$image" | awk '
37 /Start of section headers/ {s = $5}
38 /Size of section headers/ {z = $5}
39 /Number of section headers/ {n = $5}
40 END {print s + z * n}')
41 [[ $offset =~ ^[1-9][0-9]*$ ]]
42 rm -rf -- "$srcdir/appdir"
43 unsquashfs -q -no-xattrs -o "$offset" -d appdir "$image" \
44 usr/bin/EpicGamesLauncher usr/lib/libEOSSDK-Linux-Shipping.so \
45 usr/lib/epic-games-launcher usr/share/icons
46 grep -aqF "EpicGamesLauncher/${pkgver}+g${_epic_gitrev}" appdir/usr/bin/EpicGamesLauncher
47
48 cd egl-arch/proton-gui
49 export CARGO_HOME="$srcdir/cargo-home"
50 cargo fetch --locked --target "${CARCH}-unknown-linux-gnu"
51}
52
53build() {
54 cd egl-arch
55 tray/build.sh tray-build
56 cd proton-gui
57 export CARGO_HOME="$srcdir/cargo-home"
58 cargo build --release --offline --locked
59}
60
61check() {
62 cd egl-arch
63 tests/proton-hook-test.sh
64 tests/launcher-wrapper-test.sh
65 export CARGO_HOME="$srcdir/cargo-home"
66 cargo test --manifest-path proton-gui/Cargo.toml --release --offline --locked
67 desktop-file-validate data/applications/*.desktop
68}
69
70package() {
71 local epic="$pkgdir/opt/epic-games-launcher"
72 install -Dm755 appdir/usr/bin/EpicGamesLauncher "$epic/bin/EpicGamesLauncher"
73 install -Dm755 appdir/usr/lib/libEOSSDK-Linux-Shipping.so "$epic/lib/libEOSSDK-Linux-Shipping.so"
74 install -dm755 "$epic/lib/epic-games-launcher"
75 cp -a appdir/usr/lib/epic-games-launcher/. "$epic/lib/epic-games-launcher/"
76 chmod 755 "$epic/lib/epic-games-launcher/libEOSSDK-Linux-Shipping.so"
77 local icon
78 for icon in appdir/usr/share/icons/hicolor/*/apps/EpicGamesLauncher.png; do
79 install -Dm644 "$icon" "$pkgdir/usr/share/${icon#appdir/usr/share/}"
80 done
81
82 cd egl-arch
83 install -Dm755 libexec/egl-launch "$pkgdir/usr/bin/epic-games-launcher"
84 ln -s epic-games-launcher "$pkgdir/usr/bin/EpicGamesLauncher"
85 local script
86 for script in egl-proton-hook egl-proton-router; do
87 install -Dm755 "libexec/$script" "$pkgdir/usr/lib/epic-games-launcher/$script"
88 done
89 install -Dm755 proton-gui/target/release/egl-proton "$pkgdir/usr/bin/egl-proton"
90 install -Dsm755 tray-build/libayatana-appindicator3.so.1 \
91 "$pkgdir/usr/lib/epic-games-launcher/tray/libayatana-appindicator3.so.1"
92 local unit
93 for unit in data/systemd/user/*; do
94 install -Dm644 "$unit" "$pkgdir/usr/lib/systemd/user/${unit##*/}"
95 done
96 local desktop
97 for desktop in data/applications/EpicGamesLauncher.desktop data/applications/io.github.dxvsi.EglProton.desktop; do
98 install -Dm644 "$desktop" "$pkgdir/usr/share/applications/${desktop##*/}"
99 done
100 # Native Wayland lookup uses EpicGamesLauncher.desktop. Keep the former ID
101 # as a hidden alias so existing pinned launchers and MIME associations work.
102 sed '/^Type=Application$/a NoDisplay=true' data/applications/EpicGamesLauncher.desktop \
103 > "$pkgdir/usr/share/applications/epic-games-launcher.desktop"
104 chmod 644 "$pkgdir/usr/share/applications/epic-games-launcher.desktop"
105 install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
106 install -Dm644 "$epic/lib/epic-games-launcher/resources/ThirdPartyNotices.txt" \
107 "$pkgdir/usr/share/licenses/$pkgname/ThirdPartyNotices.txt"
108 install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
109 install -Dm644 docs/arch-port.md "$pkgdir/usr/share/doc/$pkgname/arch-port.md"
110}
111

Scan history

Scanned at (UTC)SeverityRules
2026-10-17 13:19:51 Medium 3
2026-10-17 13:18:05 Medium 3

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion