eddie-ui-git

maintainer Eddie.website · 14 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged The build downloads a mkbundle target at runtime using 'mkbundle --fetch-target' from an untrusted host, which is not listed in source=(), posing a supply-chain risk if the target is compromised.

Triggered rules

MEDIUM External download from an untrusted host, not in source=() external_download_not_in_source

curl/wget fetches a URL on a non-allowlisted host that is not part of source=(), so it is not checksum-verified by makepkg.

  • PKGBUILD:123 curl "https://eddie.website/changelog/?software=client&format=debian&hidden=yes" -o "changelog"
MEDIUM AI review llm_review

An AI model (qwen/qwen3-235b-a22b-07-25) reviewed this and agrees it is MEDIUM (confidence 90%): The build downloads a mkbundle target at runtime using 'mkbundle --fetch-target' from an untrusted host, which is not listed in source=(), posing a supply-chain risk if the target is compromised.

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Eddie.website <maintainer@eddie.website>
2# Based on work by Uncle Hunto <unclehunto äτ ÝãΗ00 Ð0τ ÇÖΜ> and Beini <bane aτ iki dot fi>
3
4
5pkgname=eddie-ui-git
6pkgver=2.26.2
7pkgrel=1
8pkgdesc='Eddie - VPN tunnel - UI'
9arch=('x86_64' 'aarch64' 'armv7l')
10url=https://eddie.website
11license=(GPLv3)
12depends=(mono curl openvpn sudo polkit libnotify libayatana-appindicator)
13optdepends=('stunnel: VPN over SSL' 'openssh: VPN over SSH')
14makedepends=(git cmake patchelf 'dotnet-runtime>=10' 'dotnet-sdk>=10' mono-msbuild mono desktop-file-utils)
15provides=('eddie-ui')
16conflicts=('airvpn' 'airvpn-beta-bin' 'airvpn-git')
17install=eddie-ui.install
18source=('git+https://github.com/AirVPN/Eddie.git')
19sha1sums=('SKIP')
20options=('!strip') # Incompatible with net10
21
22LINE="l"
23
24
25ARCH=$CARCH
26RID=linux-$CARCH
27if [ "$RID" = "linux-x86_64" ]; then
28 ARCH=x64
29 RID=linux-x64
30elif [ "$RID" = "linux-aarch64" ]; then
31 RID=linux-arm64
32elif [ "$RID" = "linux-armv7l" ]; then
33 RID=linux-arm
34fi
35
36build() {
37
38 CONFIG=Release
39
40 cd "Eddie"
41
42 # CLI
43 if true; then
44
45 chmod +x src/App.CLI.Linux/postbuild.sh
46 chmod +x src/Lib.Platform.Linux.Native/build.sh
47
48 cd "src/App.CLI.Linux/"
49
50 dotnet publish App.CLI.Linux.net10.csproj --configuration ${CONFIG} --runtime ${RID} --self-contained true -p:PublishTrimmed=true -p:EnableCompressionInSingleFile=true
51
52 cd "../../"
53 fi
54
55 # UI
56 if [ "ui" = "ui" ]; then
57 if [ "$LINE" = "u" ]; then
58 mkdir -p src/App.UI.Linux/bin
59 g++ \
60 src/App.UI.Linux/src/main.cpp \
61 src/App.UI.Linux/src/appgtk.cpp \
62 src/App.UI.Linux/src/iapplinux.cpp \
63 src/Lib.UI/src/iappposix.cpp \
64 src/Lib.UI/src/iapp.cpp \
65 -std=c++17 \
66 -o src/App.UI.Linux/bin/eddie-ui \
67 $(pkg-config --cflags --libs gtk+-3.0 ayatana-appindicator3-0.1 webkit2gtk-4.1)
68
69 strip -S --strip-unneeded src/App.UI.Linux/bin/eddie-ui
70 patchelf --set-rpath '$ORIGIN' src/App.UI.Linux/bin/eddie-ui
71 chmod a+x src/App.UI.Linux/bin/eddie-ui
72 elif [ "$LINE" = "l" ]; then
73
74 # Note: x64 in path hardcoded, correct, net4 build are CIL
75
76 export TERM=xterm # Fix Mono bug "Magic number is wrong".
77 TARGETFRAMEWORK="v4.8"; # Mono does not support TargetFrameworkVersion v4.8.1.
78 RULESETPATH="src/ruleset/norules.ruleset"
79 SOLUTIONPATH="src/App.Forms.Linux//App.Forms.Linux.sln"
80
81 # clean temporary files from net10 compilation above, otherwise throw 'Your project does not reference ".NETFramework,Version=v4.8"'
82 rm -rf "src/Lib.Core/bin"
83 rm -rf "src/Lib.Core/obj"
84 rm -rf "src/Lib.Platform.Linux/bin"
85 rm -rf "src/Lib.Platform.Linux/obj"
86
87 # msbuild is available when monodevelop is installed (reccomended)
88 # xbuild is available when mono-complete is installed (deprecated)
89 msbuild /verbosity:minimal /p:Configuration=${CONFIG} /p:Platform=x64 /p:TargetFrameworkVersion=${TARGETFRAMEWORK} /t:Rebuild "${SOLUTIONPATH}" /p:DefineConstants="EDDIEMONO4LINUX"
90
91 # msbuild/Mono under Linux don't honor the postbuild event, called manually
92 "src/App.Forms.Linux/postbuild.sh" "src/App.Forms.Linux/bin/x64/${CONFIG}/" ${ARCH} ${CONFIG}
93
94 # mkbundle
95 if [ $ARCH = "x64" ]; then
96 MKBUNDLECROSSTARGET="mono-6.8.0-debian-10-x64"
97 elif [ $ARCH = "armv7l" ]; then
98 MKBUNDLECROSSTARGET="mono-6.0.0-raspbian-9-arm"
99 elif [ $ARCH = "aarch64" ]; then
100 MKBUNDLECROSSTARGET="mono-6.6.0-debian-10-arm64"
101 else
102 MKBUNDLECROSSTARGET="mono-6.8.0-debian-10-${ARCH}"
103 fi
104
105 # Issue here, check with 'mkbundle --list-targets'
106 #mkdir -p /home/pi/.mono/targets/${MKBUNDLECROSSTARGET}/lib/mono # Not sure if need
107 if [[ ! -d ${HOME}/.mono/targets/${MKBUNDLECROSSTARGET} ]]; then
108 echo Download mkbundle target. If break here, check with 'mkbundle --list-targets' and fix build.sh MKBUNDLECROSSTARGET
109 mkbundle --fetch-target ${MKBUNDLECROSSTARGET}
110 fi
111
112 # Update config
113 cp ${HOME}/.mono/targets/${MKBUNDLECROSSTARGET}/etc/mono/config src/App.Forms.Linux/bin/x64/Release/mkbundle.config
114 sed -i 's/\$mono_libdir\///g' src/App.Forms.Linux/bin/x64/Release/mkbundle.config
115
116 cd src/App.Forms.Linux/bin/x64/Release/
117 mkbundle App.Forms.Linux.exe -o eddie-ui --cross ${MKBUNDLECROSSTARGET} --i18n all --config mkbundle.config --library ../../../../../repository/linux_portable/mkbundle/${ARCH}/libMonoPosixHelper.so --library ../../../../../repository/linux_portable/mkbundle/${ARCH}/libgdiplus.so.0 --library /usr/lib/libmono-native.so
118 cd ../../../../..
119 fi
120 fi
121
122 # Generate changelog
123 curl "https://eddie.website/changelog/?software=client&format=debian&hidden=yes" -o "changelog"
124 gzip -n -9 -f "changelog"
125
126 if [ "ui" = "cli" ]; then
127 # Generate man
128 "src/App.CLI.Linux/bin/Release/net10.0/${RID}/publish/eddie-cli" --path.resources="../../../../../../resources" --help --help.format=man >"eddie-cli.8"
129 gzip -n -9 -f "eddie-cli.8"
130 fi
131
132}
133
134package() {
135 cd "Eddie"
136
137 install -Dm755 "repository/linux_arch/bundle/eddie-ui/usr/bin/eddie-ui" "$pkgdir/usr/bin/eddie-ui"
138
139 install -Dm644 "resources/eddie-vpn.txt" "$pkgdir/usr/share/eddie-ui/eddie-vpn.txt"
140 install -Dm644 "resources/manifest.json" "$pkgdir/usr/share/eddie-ui/manifest.json"
141 install -Dm644 "resources/libraries.txt" "$pkgdir/usr/share/eddie-ui/libraries.txt"
142 install -Dm644 "resources/gpl3.txt" "$pkgdir/usr/share/eddie-ui/gpl3.txt"
143 install -Dm644 "resources/cacert.pem" "$pkgdir/usr/share/eddie-ui/cacert.pem"
144 install -Dm644 "resources/iso-3166.json" "$pkgdir/usr/share/eddie-ui/iso-3166.json"
145
146 install -Dm644 "resources/locales/inv.json" "$pkgdir/usr/share/eddie-ui/locales/inv.json"
147
148 install -Dm644 "resources/icons/appindicator.png" "$pkgdir/usr/share/eddie-ui/icons/appindicator.png"
149 install -Dm644 "resources/icons/appindicator-gray.png" "$pkgdir/usr/share/eddie-ui/icons/appindicator-gray.png"
150 install -Dm644 "resources/icons/notifyicon.ico" "$pkgdir/usr/share/eddie-ui/icons/notifyicon.ico"
151 install -Dm644 "resources/icons/notifyicon-gray.ico" "$pkgdir/usr/share/eddie-ui/icons/notifyicon-gray.ico"
152 install -Dm644 "resources/icons/icon.png" "$pkgdir/usr/share/eddie-ui/icons/icon.png"
153 install -Dm644 "resources/icons/icon-gray.png" "$pkgdir/usr/share/eddie-ui/icons/icon-gray.png"
154
155 if [ "$LINE" = "u" ]; then
156 mkdir -p "$pkgdir/usr/share/eddie-ui/webui"
157 cp -a "resources/webui/." "$pkgdir/usr/share/eddie-ui/webui/"
158 fi
159
160 install -Dm644 "resources/providers/OpenVPN.json" "$pkgdir/usr/share/eddie-ui/providers/OpenVPN.json"
161 install -Dm644 "resources/providers/WireGuard.json" "$pkgdir/usr/share/eddie-ui/providers/WireGuard.json"
162 install -Dm644 "resources/providers/AirVPN.json" "$pkgdir/usr/share/eddie-ui/providers/AirVPN.json"
163
164 install -Dm644 "repository/linux_arch/bundle/eddie-ui/usr/share/doc/eddie-ui/copyright" "$pkgdir/usr/share/doc/eddie-ui/copyright"
165 install -Dm644 "repository/linux_arch/bundle/eddie-ui/usr/share/polkit-1/actions/org.airvpn.eddie.ui.elevated.policy" "$pkgdir/usr/share/polkit-1/actions/org.airvpn.eddie.ui.elevated.policy"
166
167 install -Dm644 "changelog.gz" "$pkgdir/usr/share/doc/eddie-ui/changelog.gz"
168
169 install -Dm755 "src/App.CLI.Linux/bin/Release/net10.0/${RID}/libLib.Platform.Linux.Native.so" "$pkgdir/usr/lib/eddie-ui/libLib.Platform.Linux.Native.so"
170 install -Dm755 "src/App.CLI.Linux/bin/Release/net10.0/${RID}/eddie-cli-elevated" "$pkgdir/usr/lib/eddie-ui/eddie-cli-elevated"
171 install -Dm755 "src/App.CLI.Linux/bin/Release/net10.0/${RID}/eddie-cli-elevated-service" "$pkgdir/usr/lib/eddie-ui/eddie-cli-elevated-service"
172 install -Dm755 "src/App.CLI.Linux/bin/Release/net10.0/${RID}/publish/eddie-cli" "$pkgdir/usr/lib/eddie-ui/eddie-cli"
173
174 if [ "ui" = "cli" ]; then
175 install -Dm644 "eddie-cli.8.gz" "$pkgdir/usr/share/man/man8/eddie-cli.8.gz"
176 elif [ "ui" = "ui" ]; then
177 if [ "$LINE" = "u" ]; then
178 install -Dm755 "src/App.UI.Linux/bin/eddie-ui" "$pkgdir/usr/lib/eddie-ui/eddie-ui"
179 elif [ "$LINE" = "l" ]; then
180 install -Dm755 "src/App.Forms.Linux.Tray/bin/eddie-tray" "$pkgdir/usr/lib/eddie-ui/eddie-tray"
181 install -Dm755 "src/App.Forms.Linux/bin/x64/Release/eddie-ui" "$pkgdir/usr/lib/eddie-ui/eddie-ui"
182 fi
183
184 install -Dm644 "repository/linux_arch/bundle/eddie-ui/usr/share/pixmaps/eddie-ui.png" "$pkgdir/usr/share/pixmaps/eddie-ui.png"
185 fi
186
187
188 # Unknown if this is need today, 2023-12-12
189 if [ "ui" = "ui" ]; then
190 ## Fix .desktop file for KDE
191 _desktop_session=$(printf "%s" "$DESKTOP_SESSION" | awk -F "/" '{print $NF}')
192 if [ "$_desktop_session" = "plasma" ]; then
193 msg2 "Installing desktop file for KDE..."
194 desktop-file-install -m 644 --set-comment="OpenVPN UI" \
195 --dir="$pkgdir/usr/share/applications/" \
196 --set-icon="/usr/share/pixmaps/eddie-ui.png" \
197 "repository/linux_arch/bundle/eddie-ui/usr/share/applications/eddie-ui.desktop"
198 else
199 msg2 "Installing desktop file..."
200 desktop-file-install -m 644 --set-comment="OpenVPN UI" \
201 --dir="$pkgdir/usr/share/applications/" \
202 "repository/linux_arch/bundle/eddie-ui/usr/share/applications/eddie-ui.desktop"
203 fi
204 fi
205}
206
207

Scan history

Scanned at (UTC)SeverityRules
2026-08-03 00:08:14 MEDIUM 2
2026-08-02 00:16:08 MEDIUM 2
2026-08-01 00:11:18 MEDIUM 2
2026-07-31 00:14:10 MEDIUM 2
2026-07-30 00:17:23 MEDIUM 2
2026-07-29 00:25:53 MEDIUM 2
2026-07-28 00:07:28 MEDIUM 2
2026-07-27 00:24:32 MEDIUM 2
2026-07-26 00:07:32 MEDIUM 2
2026-07-25 00:13:44 MEDIUM 2
2026-07-24 00:02:28 MEDIUM 2
2026-07-23 00:14:47 MEDIUM 2
2026-07-22 00:29:32 MEDIUM 2
2026-07-21 00:24:15 MEDIUM 2
2026-07-20 00:19:49 MEDIUM 2
2026-07-19 00:17:08 MEDIUM 2
2026-07-18 00:14:48 MEDIUM 2
2026-07-17 00:06:16 MEDIUM 2
2026-07-16 00:05:41 MEDIUM 2
2026-07-15 00:09:25 MEDIUM 2

Report a package

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

0 / 4000
Your suggestion