tranalyzer

LOW
maintainer AlphaJack 0 votes scanned 2026-11-01 00:21:48.120785
View on AUR
Why flagged

The source is downloaded from the project's official website (tranalyzer.com), which is a plausible project-owned host; building from official project sources is normal AUR packaging, even if the domain is not on a whitelist.

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-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The source is downloaded from the project's official website (tranalyzer.com), which is a plausible project-owned host; building from official project sources is normal AUR packaging, even if the domain is not on a whitelist.

1 higher static finding superseded - not the current verdict (shown for transparency)
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:43 source=("${pkgname}-${pkgver}.tar.gz::https://tranalyzer.com/download/tranalyzer/tranalyzer2-${pkgver}${_pkgver}.tar.gz")

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: AlphaJack <alphajack at tuta dot io>
2# Contributor: Dimitris Kiziridis <ragouel at outlook dot com>
3
4pkgname=tranalyzer
5pkgver=0.9.4
6_pkgver=lmw1
7pkgrel=1
8pkgdesc='Lightweight flow generator and packet analyzer'
9arch=('x86_64' 'aarch64')
10url='https://tranalyzer.com'
11license=('GPL3')
12depends=('libpcap'
13 'postgresql-libs'
14 'mariadb-libs'
15 'sqlite'
16 'libbsd'
17 'pcre'
18 'gawk')
19optdepends=('graphviz: Required by some plugins'
20 'gnuplot: Required by gpq3x, plot_monitoring'
21 'p0f: Required by osStat'
22 'rrdtool: Required by rrdmonitor, rrdplot'
23 'inotify-tools: Required by t2dmon'
24 'hyperscan: Required by regexHyperscan'
25 'librdkafka: Required by kafkaSink'
26 'libgcrypt: Required by nDPI'
27 'clickhouse-cpp: Required by clickhouseSink'
28 'cre2: Required by regex_re2'
29 'ndpi: Required by nDPI')
30makedepends=('hyperscan'
31 'ndpi'
32 'librdkafka'
33 'libgcrypt'
34 'clickhouse-cpp'
35 'cre2'
36 'libtool'
37 'cmake'
38 # regexHyperscan builds its bundled hyperscan
39 'boost'
40 'ragel'
41 # default build backend of autogen.sh
42 'meson')
43source=("${pkgname}-${pkgver}.tar.gz::https://tranalyzer.com/download/tranalyzer/tranalyzer2-${pkgver}${_pkgver}.tar.gz")
44b2sums=('0c34fd46c3ee2551c54e3376af9cd8b8ea2a52e98eba00010f7e1e2154ff0c18d1e4e3d202a757849b90aedab5890e03c69a527fa787a65575a318e0437904a8')
45
46prepare() {
47 cd "${pkgname}2-${pkgver}"
48 sed -i 's|^#define PLUGIN_FOLDER "\.tranalyzer/plugins/"|#define PLUGIN_FOLDER "/usr/lib/tranalyzer/plugins"|' tranalyzer2/src/tranalyzer.h
49 sed -i 's|^T2FMDIR="$(dirname "${0}")"$|T2FMDIR=/usr/share/tranalyzer/scripts/t2fm|' scripts/t2fm/t2fm
50 # the cre2 bundled with regex_re2 uses strlen without including <cstring>
51 sed -i '0,/^#include/s//#include <cstring>\n#include/' plugins/regex_re2/src/cre2/src/cre2.cpp
52 # meson looks for liblibhs.so otherwise
53 sed -i "s|find_library('libhs'|find_library('hs'|" plugins/regexHyperscan/meson.build
54 sed -i "7s|\$(dirname \"$\0\")|/usr/share/tranalyzer/scripts/tawk|" scripts/tawk/tawk
55
56 for script in b64ex fpsGplt gpq3x osStat plot_monitoring protStat statGplt t2alive t2caplist t2dmon t2flowstat t2plot t2stat t2timeline t2viz topNStat; do
57 sed -i "s|\$(dirname \"$\0\")|/usr/share/tranalyzer/scripts|" scripts/${script} || true
58 done
59}
60
61build() {
62 cd "${pkgname}2-${pkgver}"
63 # mongoSink includes <bson.h> and <mongoc.h>, mongo-c-driver 2 moved them to <bson/bson.h> and <mongoc/mongoc.h>
64 printf 'mongoSink\n' > ignored_plugins.txt
65 echo y | ./autogen.sh -a -I ignored_plugins.txt -p "${srcdir}/${pkgname}2-${pkgver}/build/plugins"
66 make -C utils/t2b2t
67 gzip --force tranalyzer2/man/tranalyzer.1
68 gzip --force scripts/t2conf/man/t2conf.1
69 gzip --force scripts/t2fm/man/t2fm.1
70 gzip --force scripts/tawk/man/t2nfdump.1
71 gzip --force scripts/tawk/man/tawk.1
72}
73
74package() {
75 cd "${pkgname}2-${pkgver}"
76 install -d "${pkgdir}/usr/lib/${pkgname}/"
77 cp -avR build/plugins "${pkgdir}/usr/lib/${pkgname}/"
78 install -Dm755 tranalyzer2/build/tranalyzer -t "${pkgdir}/usr/bin"
79 install -Dm755 utils/t2b2t/t2b2t -t "${pkgdir}/usr/bin"
80 install -Dm755 utils/t2whois/t2whois -t "${pkgdir}/usr/bin"
81
82 install -Dm644 doc/tutorials/splunk.pdf -t "${pkgdir}/usr/share/doc/${pkgname}"
83 install -Dm644 doc/tutorials/custom_plugin.pdf -t "${pkgdir}/usr/share/doc/${pkgname}"
84 install -Dm644 doc/documentation.pdf -t "${pkgdir}/usr/share/doc/${pkgname}"
85 install -Dm644 scripts/doc/scripts.pdf -t "${pkgdir}/usr/share/doc/${pkgname}"
86 install -Dm644 scripts/tawk/doc/tawk.pdf -t "${pkgdir}/usr/share/doc/${pkgname}/tawk"
87 install -Dm644 scripts/t2fm/doc/t2fm.pdf -t "${pkgdir}/usr/share/doc/${pkgname}/t2fm"
88
89 install -d "${pkgdir}/usr/share/doc/${pkgname}/plugins"
90 for doc in $(ls plugins/*/doc/*.pdf | xargs); do
91 install -Dm644 ${doc} -t "${pkgdir}/usr/share/doc/${pkgname}/plugins"
92 done
93
94 install -Dm644 tranalyzer2/man/tranalyzer.1.gz -t "${pkgdir}/usr/share/man/man1"
95 install -Dm644 scripts/t2conf/man/t2conf.1.gz -t "${pkgdir}/usr/share/man/man1"
96 install -Dm644 scripts/t2fm/man/t2fm.1.gz -t "${pkgdir}/usr/share/man/man1"
97 install -Dm644 scripts/tawk/man/t2nfdump.1.gz -t "${pkgdir}/usr/share/man/man1"
98 install -Dm644 scripts/tawk/man/tawk.1.gz -t "${pkgdir}/usr/share/man/man1"
99
100 rm -rf scripts/tawk/man scripts/t2fm/man scripts/t2conf/man
101
102 install -d "${pkgdir}/usr/share/${pkgname}"
103 cp -avR scripts/ "${pkgdir}/usr/share/${pkgname}/"
104
105 install -Dm644 scripts/completions/bash/* -t "${pkgdir}/usr/share/bash-completion/completions/"
106 install -Dm644 scripts/completions/zsh/* -t "${pkgdir}/usr/share/zsh/site-functions/"
107 install -Dm644 scripts/t2_aliases -t "${pkgdir}/usr/share/bash-completion/completions/"
108
109 for script in b64ex fpsGplt gpq3x osStat plot_monitoring protStat statGplt t2alive t2caplist t2dmon t2flowstat t2plot t2stat t2timeline t2viz topNStat; do
110 ln -s /usr/share/tranalyzer/scripts/${script} "${pkgdir}/usr/bin/" || true
111 done
112
113 ln -s /usr/share/tranalyzer/scripts/tawk/tawk "${pkgdir}/usr/bin/"
114 ln -s /usr/share/tranalyzer/scripts/t2fm/t2fm "${pkgdir}/usr/bin/"
115
116 sed -i 's|^ T2HOME="$(${readlink_f} "${T2HOME}")"$| T2HOME=/usr/share/tranalyzer|' "${pkgdir}/usr/share/${pkgname}/scripts/t2utils.sh"
117 # sed -i '114,133d' "${pkgdir}/usr/share/${pkgname}/scripts/t2doc"
118 # sed -i "88s|.*|folder=\"/usr/share/doc/tranalyzer/\$name/\"|" "${pkgdir}/usr/share/${pkgname}/scripts/t2doc"
119 # sed -i "82s|.*|folder=\"/usr/share/doc/tranalyzer/\"|" "${pkgdir}/usr/share/${pkgname}/scripts/t2doc"
120 # sed -i "79s|.*|folder=\"/usr/share/doc/tranalyzer/\"|" "${pkgdir}/usr/share/${pkgname}/scripts/t2doc"
121 # sed -i "91s|.*|folder=\"/usr/share/doc/tranalyzer/plugins/\"|" "${pkgdir}/usr/share/${pkgname}/scripts/t2doc"
122}
123

Changes since previous scan

--- PKGBUILD @ 2026-10-29 17:53
+++ PKGBUILD @ 2026-11-01 00:21
@@ -2,9 +2,9 @@
# Contributor: Dimitris Kiziridis <ragouel at outlook dot com>
pkgname=tranalyzer
-pkgver=0.9.3
+pkgver=0.9.4
_pkgver=lmw1
-pkgrel=6
+pkgrel=1
pkgdesc='Lightweight flow generator and packet analyzer'
arch=('x86_64' 'aarch64')
url='https://tranalyzer.com'
@@ -26,7 +26,6 @@
'libgcrypt: Required by nDPI'
'clickhouse-cpp: Required by clickhouseSink'
'cre2: Required by regex_re2'
- 'mongo-c-driver: Required by mongoSink'
'ndpi: Required by nDPI')
makedepends=('hyperscan'
'ndpi'
@@ -34,20 +33,22 @@
'libgcrypt'
'clickhouse-cpp'
'cre2'
- 'mongo-c-driver'
'libtool'
'cmake'
+ # regexHyperscan builds its bundled hyperscan
+ 'boost'
+ 'ragel'
# default build backend of autogen.sh
'meson')
source=("${pkgname}-${pkgver}.tar.gz::https://tranalyzer.com/download/tranalyzer/tranalyzer2-${pkgver}${_pkgver}.tar.gz")
-b2sums=('af51a2699896fadb93515c31faa6c4474647328faee621dd240ecf1b37ccfaaeb1c991f7b32f8416aa6f6a3c252fa7407805d52f8359873b9f8708f495c92294')
+b2sums=('0c34fd46c3ee2551c54e3376af9cd8b8ea2a52e98eba00010f7e1e2154ff0c18d1e4e3d202a757849b90aedab5890e03c69a527fa787a65575a318e0437904a8')
prepare() {
cd "${pkgname}2-${pkgver}"
- sed -i "29s|\.tranalyzer/plugins/|/usr/lib/tranalyzer/plugins|" tranalyzer2/src/tranalyzer.h
- sed -i "43s|.*|T2FMDIR=/usr/share/tranalyzer/scripts/t2fm|" scripts/t2fm/t2fm
- # Arch has mongo-c-driver 2, which renamed libmongoc-1.0 to mongoc2
- sed -i "s|dependency('libmongoc-1.0')|dependency('mongoc2')|" plugins/mongoSink/meson.build
+ sed -i 's|^#define PLUGIN_FOLDER "\.tranalyzer/plugins/"|#define PLUGIN_FOLDER "/usr/lib/tranalyzer/plugins"|' tranalyzer2/src/tranalyzer.h
+ sed -i 's|^T2FMDIR="$(dirname "${0}")"$|T2FMDIR=/usr/share/tranalyzer/scripts/t2fm|' scripts/t2fm/t2fm
+ # the cre2 bundled with regex_re2 uses strlen without including <cstring>
+ sed -i '0,/^#include/s//#include <cstring>\n#include/' plugins/regex_re2/src/cre2/src/cre2.cpp
# meson looks for liblibhs.so otherwise
sed -i "s|find_library('libhs'|find_library('hs'|" plugins/regexHyperscan/meson.build
sed -i "7s|\$(dirname \"$\0\")|/usr/share/tranalyzer/scripts/tawk|" scripts/tawk/tawk
@@ -59,7 +60,10 @@
build() {
cd "${pkgname}2-${pkgver}"
- echo y | ./autogen.sh -a -p "${srcdir}/${pkgname}2-${pkgver}/build/plugins"
+ # mongoSink includes <bson.h> and <mongoc.h>, mongo-c-driver 2 moved them to <bson/bson.h> and <mongoc/mongoc.h>
+ printf 'mongoSink\n' > ignored_plugins.txt
+ echo y | ./autogen.sh -a -I ignored_plugins.txt -p "${srcdir}/${pkgname}2-${pkgver}/build/plugins"
+ make -C utils/t2b2t
gzip --force tranalyzer2/man/tranalyzer.1
gzip --force scripts/t2conf/man/t2conf.1
gzip --force scripts/t2fm/man/t2fm.1
@@ -71,7 +75,7 @@
cd "${pkgname}2-${pkgver}"
install -d "${pkgdir}/usr/lib/${pkgname}/"
cp -avR build/plugins "${pkgdir}/usr/lib/${pkgname}/"
- install -Dm755 tranalyzer2/src/tranalyzer -t "${pkgdir}/usr/bin"
+ install -Dm755 tranalyzer2/build/tranalyzer -t "${pkgdir}/usr/bin"
install -Dm755 utils/t2b2t/t2b2t -t "${pkgdir}/usr/bin"
install -Dm755 utils/t2whois/t2whois -t "${pkgdir}/usr/bin"
@@ -98,8 +102,8 @@
install -d "${pkgdir}/usr/share/${pkgname}"
cp -avR scripts/ "${pkgdir}/usr/share/${pkgname}/"
- install -Dm644 scripts/completions/* -t "${pkgdir}/usr/share/bash-completion/completions/"
- install -Dm644 scripts/completions/* -t "${pkgdir}/usr/share/zsh/site-functions/"
+ install -Dm644 scripts/completions/bash/* -t "${pkgdir}/usr/share/bash-completion/completions/"
+ install -Dm644 scripts/completions/zsh/* -t "${pkgdir}/usr/share/zsh/site-functions/"
install -Dm644 scripts/t2_aliases -t "${pkgdir}/usr/share/bash-completion/completions/"
for script in b64ex fpsGplt gpq3x osStat plot_monitoring protStat statGplt t2alive t2caplist t2dmon t2flowstat t2plot t2stat t2timeline t2viz topNStat; do
@@ -109,7 +113,7 @@
ln -s /usr/share/tranalyzer/scripts/tawk/tawk "${pkgdir}/usr/bin/"
ln -s /usr/share/tranalyzer/scripts/t2fm/t2fm "${pkgdir}/usr/bin/"
- sed -i "641s|.*|T2HOME=/usr/share/tranalyzer|" "${pkgdir}/usr/share/${pkgname}/scripts/t2utils.sh"
+ sed -i 's|^ T2HOME="$(${readlink_f} "${T2HOME}")"$| T2HOME=/usr/share/tranalyzer|' "${pkgdir}/usr/share/${pkgname}/scripts/t2utils.sh"
# sed -i '114,133d' "${pkgdir}/usr/share/${pkgname}/scripts/t2doc"
# sed -i "88s|.*|folder=\"/usr/share/doc/tranalyzer/\$name/\"|" "${pkgdir}/usr/share/${pkgname}/scripts/t2doc"
# sed -i "82s|.*|folder=\"/usr/share/doc/tranalyzer/\"|" "${pkgdir}/usr/share/${pkgname}/scripts/t2doc"

Scan history

Scanned at (UTC)SeverityRules
2026-11-01 00:21:48 Low 2
2026-10-31 00:07:41 Low 2
2026-10-30 00:29:30 Low 2
2026-10-29 19:53:24 Medium 1
2026-10-29 17:53:05 Medium 1
2026-10-29 15:52:51 Medium 1
2026-10-29 00:13:55 Low 2
2026-10-28 00:06:54 Low 2
2026-10-27 00:23:28 Low 2
2026-10-26 00:12:40 Low 2
2026-10-25 00:20:48 Low 2
2026-10-24 00:14:55 Low 2
2026-10-23 00:02:19 Low 2
2026-10-22 00:13:10 Low 2
2026-10-21 00:12:50 Low 2
2026-10-20 00:10:31 Low 2
2026-10-19 00:03:55 Low 2
2026-10-18 00:06:55 Low 2
2026-10-17 00:21:55 Low 2
2026-10-16 00:12:47 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