ts-warp-git

LOW
maintainer alireza6677 0 votes scanned 2026-10-27 07:47:02.942332
View on AUR
Why flagged

Package builds from a legitimate upstream Git repository, uses standard build steps, and installs configuration files and binaries with proper path adjustments; the low severity is due to few votes and recent upload, not malicious content.

Triggered rules

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.

Low AI review llm_review

An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is LOW (confidence 90%): Package builds from a legitimate upstream Git repository, uses standard build steps, and installs configuration files and binaries with proper path adjustments; the low severity is due to few votes and recent upload, not malicious content.

PKGBUILD

1# Maintainer: Alireza S.N. <alireza6677 at gmail dot com>
2
3pkgname=ts-warp-git
4pkgver=1.5.12.r6.gff90081
5pkgrel=1
6pkgdesc="Transparent proxy server and traffic wrapper (SOCKS4/5, HTTP) with GUI frontend"
7arch=("x86_64")
8url="https://github.com/mezantrop/ts-warp"
9license=("BSD-2-Clause")
10depends=("glibc")
11optdepends=("tk: gui-warp.py frontend" "iptables: transparent redirection" "nftables: transparent redirection")
12backup=("etc/ts-warp.ini" "etc/gui-warp.ini" "etc/ts-warp_iptables.sh" "etc/ts-warp_nftables.sh")
13makedepends=("git" "gcc")
14provides=("ts-warp")
15conflicts=("ts-warp")
16source=("${pkgname}::git+https://github.com/mezantrop/ts-warp")
17md5sums=('SKIP')
18
19pkgver() {
20 cd "${pkgname}"
21 ( set -o pipefail
22 git describe --long --tags 2>/dev/null | sed 's/\([^-]*-g\)/r\1/;s/-/./g' ||
23 printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
24 )
25}
26
27prepare() {
28 cd "${pkgname}"
29 # Upstream derives every path from PREFIX (config under $PREFIX/etc, etc.).
30 # Keep binaries and data under /usr, but use the FHS locations for state/config.
31 sed -i \
32 -e 's|PREFIX"/etc/|"/etc/|' \
33 -e 's|PREFIX"/var/run/|"/run/|' \
34 -e 's|PREFIX"/var/|"/var/|' \
35 ts-warp.h
36 sed -i \
37 -e 's|\$tswarp_prefix/etc|/etc|g' \
38 -e 's|"\$tswarp_prefix"/etc|/etc|g' \
39 -e 's|\$tswarp_prefix/var/run|/run|g' \
40 -e 's|\$tswarp_prefix/var|/var|g' \
41 ts-warp.sh.in ts-warp_autofw.sh.in
42 sed -i \
43 -e "s|prefix + '/etc|'/etc|g" \
44 -e "s|prefix + '/var/run|'/run|g" \
45 -e "s|prefix + '/var|'/var|g" \
46 -e "s|prefix + ('/etc|('/etc|" \
47 -e "s|'/usr/local/var/run/|'/run/|" \
48 -e "s|'/usr/local/etc/|'/etc/|" \
49 -e "s|'/usr/local/var/|'/var/|" \
50 gui/gui-warp.py.in
51 # The GUI ini paths are relative to prefix, which would undo the above
52 sed -i -E 's/^(prefix|runcmd|inifile|logfile|pidfile|actfile) *=/# \0/' gui/gui-warp.ini.in
53}
54
55build() {
56 cd "${pkgname}"
57 PREFIX=/usr ./configure
58 make
59 make -C gui PREFIX=/usr
60}
61
62package() {
63 cd "${pkgname}"
64 make install PREFIX="$pkgdir/usr" USER="$(id -un)"
65 make -C gui install PREFIX="$pkgdir/usr"
66
67 # Upstream has no DESTDIR support: strip the staging path baked into scripts
68 grep -rIl --null -F "$pkgdir" "$pkgdir" | xargs -0 -r sed -i "s|$pkgdir||g"
69
70 # Relocate to Arch standard locations
71 if [ -d "$pkgdir/usr/lib64" ]; then
72 mv "$pkgdir/usr/lib64" "$pkgdir/usr/lib"
73 fi
74 if [ -d "$pkgdir/usr/etc" ]; then
75 mv "$pkgdir/usr/etc" "$pkgdir/etc"
76 fi
77 # /run is provided by the system; keep only the spool directory
78 install -d "$pkgdir/var/spool"
79 mv "$pkgdir/usr/var/spool/ts-warp" "$pkgdir/var/spool/ts-warp"
80 rm -rf "$pkgdir/usr/var"
81 if [ -d "$pkgdir/usr/man" ]; then
82 install -d "$pkgdir/usr/share"
83 mv "$pkgdir/usr/man" "$pkgdir/usr/share/man"
84 fi
85}
86

Scan history

Scanned at (UTC)SeverityRules
2026-10-27 07:47:02 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