1- #! /bin/bash
1+ #! /bin/sh
22
33MY_INFO=" \
44###########################################
@@ -11,65 +11,90 @@ Starting services
1111
1212echo " $MY_INFO "
1313
14- # exit script if any command fails (non-zero value)
14+ # Exit on any command failure
1515set -e
16- params_ndpisrvd=()
17- params_ndpid=()
16+
17+ params_ndpisrvd=" "
18+ params_ndpid=" "
1819
1920# ##########################################
2021# ## Create params for nDPIsrvd ###
2122# ##########################################
2223
23- [[ $MAX_BUFFERED_LINES -gt 0 ]] && params_ndpisrvd+=(-C $MAX_BUFFERED_LINES )
24+ if [ " $MAX_BUFFERED_LINES " -gt 0 ] 2> /dev/null; then
25+ params_ndpisrvd=" $params_ndpisrvd -C $MAX_BUFFERED_LINES "
26+ fi
2427
2528# ##########################################
2629# ## Create params for nDPId ###
2730# ##########################################
2831
29- regex= ' (https? |ftp|file)://[-[:alnum:]\+&@#/%?=~_|!:,.;]*[-[:alnum:]\+&@#/%=~_|] '
32+ url_regex= " ^\ (https\?\ |ftp\ |file\ )://"
3033
31- if [[ $JA3_URL =~ $regex ]]; then
32- curl " $JA3_URL " > /root/ja3_fingerprints.csv
33- params_ndpid+=(-J /root/ja3_fingerprints.csv)
34- fi
34+ case " $JA3_URL " in
35+ http://* | https://* | ftp://* | file://* )
36+ curl " $JA3_URL " > /root/ja3_fingerprints.csv
37+ params_ndpid=" $params_ndpid -J /root/ja3_fingerprints.csv"
38+ ;;
39+ esac
3540
36- if [[ $SSL_SHA1_URL =~ $regex ]]; then
37- curl " $SSL_SHA1_URL " > /root/sslblacklist.csv
38- params_ndpid+=(-S /root/sslblacklist.csv)
41+ case " $SSL_SHA1_URL " in
42+ http://* | https://* | ftp://* | file://* )
43+ curl " $SSL_SHA1_URL " > /root/sslblacklist.csv
44+ params_ndpid=" $params_ndpid -S /root/sslblacklist.csv"
45+ ;;
46+ esac
47+
48+ if [ -n " $INTERFACE " ]; then
49+ params_ndpid=" $params_ndpid -i $INTERFACE "
3950fi
4051
41- [[ -n $INTERFACE ]] && params_ndpid+=(-i $INTERFACE )
52+ if [ " $FLOW_ANALYSIS " = " 1" ]; then
53+ params_ndpid=" $params_ndpid -A"
54+ fi
4255
43- [[ $FLOW_ANALYSIS = 1 ]] && params_ndpid+=(-A)
56+ if [ -n " $TUNE_PARAM " ]; then
57+ OLD_IFS=" $IFS "
58+ IFS=' ,'
4459
45- if [[ -n $TUNE_PARAM ]]; then
46- for word in $( echo $TUNE_PARAM | tr " ," " \n" ) ; do
47- params_ndpid+=(-o $word )
60+ for word in $TUNE_PARAM ; do
61+ params_ndpid=" $params_ndpid -o $word "
4862 done
63+
64+ IFS=" $OLD_IFS "
4965fi
5066
51- [[ -n $PCAP_FILTER ]] && params_ndpid+=(-B $PCAP_FILTER )
67+ if [ -n " $PCAP_FILTER " ]; then
68+ params_ndpid=" $params_ndpid -B $PCAP_FILTER "
69+ fi
5270
53- [[ -n $NDPI_CUSTOM_PROTOCOLS ]] && params_ndpid+=(-P $NDPI_CUSTOM_PROTOCOLS )
71+ if [ -n " $NDPI_CUSTOM_PROTOCOLS " ]; then
72+ params_ndpid=" $params_ndpid -P $NDPI_CUSTOM_PROTOCOLS "
73+ fi
5474
55- [[ -n $NDPI_CUSTOM_CATEGORIES ]] && params_ndpid+=(-C $NDPI_CUSTOM_CATEGORIES )
75+ if [ -n " $NDPI_CUSTOM_CATEGORIES " ]; then
76+ params_ndpid=" $params_ndpid -C $NDPI_CUSTOM_CATEGORIES "
77+ fi
5678
57- [[ -n $HOSTNAME ]] && params_ndpid+=(-a $HOSTNAME )
79+ if [ -n " $HOSTNAME " ]; then
80+ params_ndpid=" $params_ndpid -a $HOSTNAME "
81+ fi
5882
5983# ##########################################
6084# ## Start nDPIsrvd ###
6185# ##########################################
6286
6387echo " Start nDPIsrvd..."
6488
65- /root/nDPIsrvd -p /tmp/nDPIsrvd-daemon.pid \
66- -c /tmp/nDPIsrvd-daemon-collector.sock \
67- -s /tmp/nDPIsrvd-daemon-distributor.sock \
68- -S 0.0.0.0:$PORT \
69- -u root \
70- -d \
71- -L /tmp/nDPIsrvd.log \
72- " ${params_ndpisrvd[@]} "
89+ # Use eval to expand parameter string correctly
90+ eval /root/nDPIsrvd -p /tmp/nDPIsrvd-daemon.pid \
91+ -c /tmp/nDPIsrvd-daemon-collector.sock \
92+ -s /tmp/nDPIsrvd-daemon-distributor.sock \
93+ -S 0.0.0.0:$PORT \
94+ -u root \
95+ -d \
96+ -L /tmp/nDPIsrvd.log \
97+ $params_ndpisrvd
7398
7499# ##########################################
75100# ## Start nDPId ###
@@ -78,7 +103,7 @@ echo "Start nDPIsrvd..."
78103echo " Start nDPId..."
79104
80105exec /root/nDPId -p /tmp/nDPId-daemon.pid \
81- -c /tmp/nDPIsrvd-daemon-collector.sock \
82- -u root \
83- -L /tmp/nDPId.log \
84- " ${ params_ndpid[@]} "
106+ -c /tmp/nDPIsrvd-daemon-collector.sock \
107+ -u root \
108+ -L /tmp/nDPId.log \
109+ $ params_ndpid
0 commit comments