v2ray-desktop

maintainer Dr-Incognito · 7 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The flagged download is a legitimate geolocation check via ipinfo.io to conditionally switch submodule sources for users in China, which is a common practice for accessibility; it does not execute remote code or exfiltrate sensitive data, and the main source is from the project's own GitHub repository.

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 flagged download is a legitimate geolocation check via ipinfo.io to conditionally switch submodule sources for users in China, which is a common practice for accessibility; it does not execute remote code or exfiltrate sensitive data, and the main source is from the project's own GitHub repository.

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:19 country=$(curl -s https://ipinfo.io/ | jq -r '.country')

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Dr-Incognito <v2ray.dev at gmail dot com>
2pkgname=v2ray-desktop
3pkgver=2.3.1
4pkgrel=1
5pkgdesc="A cross-platform GUI proxy client that supports Shadowsocks(R), V2Ray, and Trojan protocols (Stable Release)"
6arch=("x86_64")
7url="https://github.com/Dr-Incognito/V2Ray-Desktop"
8license=("GPL3")
9depends=("clash>=1.5.0" "qt5-base>=5.15.0" "qt5-quickcontrols>=5.15.0" "qt5-quickcontrols2>=5.15.0" "qt5-svg>=5.15.0")
10makedepends=("git" "jq" "qt5-tools>=5.15.0" "qt5-declarative>=5.15.0")
11provides=(v2ray-desktop)
12source=("V2Ray-Desktop::git+${url}#tag=${pkgver}")
13sha512sums=("SKIP")
14
15prepare() {
16 cd "${srcdir}/V2Ray-Desktop"
17
18 echo "Detecting your country ... Please wait ..."
19 country=$(curl -s https://ipinfo.io/ | jq -r '.country')
20 echo "Your country: $country"
21
22 if [ "$country" = "CN" ]; then
23 echo "Use qzxing@gitee.com for Chinese users ..."
24 sed -i "s/github.com\/ftylitak/gitee.com\/Dr-Incognito/" .gitmodules
25 fi
26 echo "Initialize submodules. This may take a long time ..."
27 git submodule init
28 git submodule update --progress
29}
30
31build() {
32 cd "${srcdir}/V2Ray-Desktop"
33 sed -ie "s/V2RAY_USE_LOCAL_INSTALL[[:space:]]*= true/V2RAY_USE_LOCAL_INSTALL=false/" src/constants.h
34 sed -i "s/Exec=%1/Exec=\/opt\/v2ray-desktop\/v2ray-desktop/" src/misc/tpl-linux-autostart.desktop
35 sed -i "s/Icon=v2ray-desktop/Icon=\/opt\/v2ray-desktop\/v2ray-desktop.png/" src/misc/tpl-linux-autostart.desktop
36 lrelease src/locales/zh-CN.ts
37 mkdir -p build && cd build
38 qmake PREFIX=/usr ../src
39 make -j$nproc
40}
41
42package() {
43 cd "${srcdir}/V2Ray-Desktop"
44 install -Dm755 build/V2Ray-Desktop "${pkgdir}/opt/v2ray-desktop/v2ray-desktop"
45 install -Dm644 src/images/v2ray.png "${pkgdir}/opt/v2ray-desktop/v2ray-desktop.png"
46 install -Dm644 src/locales/zh-CN.qm "${pkgdir}/opt/v2ray-desktop/locales/zh-CN.qm"
47 install -Dm644 src/misc/tpl-linux-autostart.desktop "${pkgdir}/usr/share/applications/v2ray-desktop.desktop"
48}
49

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