on master help sign in
Merge branch 'filtron' of https://github.com/return42/searx into filtron
commitc2b27d91204305aaef16ed2feba6db12e5eb0b11 authorMarkus Heiser <markus.heiser@darmarit.de> dateMon 13 Jan 2020, 18:39 (7 years ago) parentb5449ecfe64274
3 files changed+44−15
docs/admin/filtron.rst+7 utils/filtron.sh+36−14 utils/lib.sh+1−1
docs/admin/filtron.rst+7
@@ -17,6 +17,13 @@ filtron & go
1717.. _Go: https://golang.org/
1818.. _filtron README: https://github.com/asciimoo/filtron/blob/master/README.md
1919
20+
21+.. sidebar:: init system
22+
23+ ATM the ``filtron.sh`` supports only systemd init process used by debian,
24+ ubuntu and many other dists. If you have a working init.d file to start/stop
25+ filtron service, please contribute.
26+
2027Filtron needs Go_ installed. If Go_ is preinstalled, filtron_ is simply
2128installed by ``go get`` package management (see `filtron README`_). If you use
2229filtron as middleware, a more isolated setup is recommended.
utils/filtron.sh+36−14
@@ -12,8 +12,12 @@ source "$(dirname "${BASH_SOURCE[0]}")/lib.sh"
1212FILTRON_ETC="/etc/filtron"
1313
1414FILTRON_RULES="$FILTRON_ETC/rules.json"
15+
16+# shellcheck disable=SC2034
1517FILTRON_API="127.0.0.1:4005"
18+# shellcheck disable=SC2034
1619FILTRON_LISTEN="127.0.0.1:4004"
20+# shellcheck disable=SC2034
1721FILTRON_TARGET="127.0.0.1:8888"
1822
1923SERVICE_NAME="filtron"
@@ -28,6 +32,7 @@ GO_ENV="${SERVICE_HOME}/.go_env"
2832GO_PKG_URL="https://dl.google.com/go/go1.13.5.linux-amd64.tar.gz"
2933GO_TAR=$(basename "$GO_PKG_URL")
3034
35+# shellcheck disable=SC2034
3136CONFIG_FILES=(
3237 "${FILTRON_RULES}"
3338 "${SERVICE_SYSTEMD_UNIT}"
@@ -44,6 +49,7 @@ usage:
4449
4550 $(basename "$0") shell
4651 $(basename "$0") install [all|user]
52+ $(basename "$0") update [filtron]
4753 $(basename "$0") remove [all]
4854 $(basename "$0") activate [service]
4955 $(basename "$0") deactivate [service]
@@ -51,8 +57,10 @@ usage:
5157
5258shell
5359 start interactive shell from user ${SERVICE_USER}
54−install / remove all
60+install / remove all
5561 complete setup of filtron service
62+update filtron
63+ Update filtron installation of user ${SERVICE_USER}
5664activate
5765 activate and start service daemon (systemd unit)
5866deactivate service
@@ -71,33 +79,39 @@ main(){
7179 local _usage="ERROR: unknown or missing $1 command $2"
7280
7381 case $1 in
74− --source-only) ;;
82+ --source-only) ;;
7583 -h|--help) usage; exit 0;;
7684
77− shell)
78− sudo_or_exit
79− interactive_shell
80− ;;
85+ shell)
86+ sudo_or_exit
87+ interactive_shell
88+ ;;
8189 show)
8290 case $2 in
8391 service)
84− sudo_or_exit
85− show_service
86− ;;
92+ sudo_or_exit
93+ show_service
94+ ;;
8795 *) usage "$_usage"; exit 42;;
8896 esac ;;
8997 install)
9098 sudo_or_exit
9199 case $2 in
92100 all) install_all ;;
93− user) assert_user ;;
101+ user) assert_user ;;
102+ *) usage "$_usage"; exit 42;;
103+ esac ;;
104+ update)
105+ sudo_or_exit
106+ case $2 in
107+ filtron) update_filtron ;;
94108 *) usage "$_usage"; exit 42;;
95109 esac ;;
96110 remove)
97111 sudo_or_exit
98112 case $2 in
99113 all) remove_all;;
100− user) remove_user ;;
114+ user) remove_user ;;
101115 *) usage "$_usage"; exit 42;;
102116 esac ;;
103117 activate)
@@ -242,16 +256,24 @@ EOF
242256 install_template --no-eval "$FILTRON_RULES" root root 644
243257}
244258
259+update_filtron() {
260+ rst_title "Update filtron" section
261+ echo
262+ tee_stderr <<EOF | sudo -i -u "$SERVICE_USER" 2>&1 | prefix_stdout "$_service_prefix"
263+go get -v -u github.com/asciimoo/filtron
264+EOF
265+}
266+
245267show_service () {
246268 rst_title "service status & log"
247269 echo
248270 systemctl status filtron.service
249271 echo
250− read -s -n1 -t 5 -p "// use CTRL-C to stop monitoring the log"
272+ read -r -s -n1 -t 5 -p "// use CTRL-C to stop monitoring the log"
251273 echo
252274 while true; do
253− trap break 2
254− journalctl -f -u filtron
275+ trap break 2
276+ journalctl -f -u filtron
255277 done
256278 return 0
257279}
utils/lib.sh+1−1
@@ -75,7 +75,7 @@ info_msg() { echo -e "INFO: $*"; }
7575
7676clean_stdin() {
7777 if [[ $(uname -s) != 'Darwin' ]]; then
78− while $(read -n1 -t 0.1); do : ; done
78+ while read -n1 -t 0.1; do : ; done
7979 fi
8080}
8181