eddie-cli

maintainer Eddie.website · 1 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The external download in build() is a changelog fetched via curl from the project's official website and compressed for packaging; it is not executed and poses no code execution risk.

Triggered rules

LOW AI review downgraded a static finding llm_review

The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The external download in build() is a changelog fetched via curl from the project's official website and compressed for packaging; it is not executed and poses no code execution risk.

1 higher static finding superseded - not the current verdict (shown for transparency)
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:112 curl "https://eddie.website/changelog/?software=client&format=debian&hidden=yes" -o "changelog"

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

Scan history

Scanned at (UTC)SeverityRules
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 2
2026-07-29 00:25:53 LOW 2
2026-07-28 00:07:28 LOW 2
2026-07-27 00:24:32 LOW 2
2026-07-26 00:07:32 LOW 2
2026-07-25 00:13:44 LOW 2
2026-07-24 00:02:28 LOW 2
2026-07-23 00:14:47 LOW 2
2026-07-22 00:29:32 LOW 2
2026-07-21 00:24:15 LOW 2
2026-07-20 00:19:49 LOW 2
2026-07-19 00:17:08 LOW 2
2026-07-18 00:14:48 LOW 2
2026-07-17 00:06:16 LOW 2
2026-07-16 00:05:41 LOW 2
2026-07-15 00:09:25 LOW 2

Report a package

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

0 / 4000
Your suggestion