slitaz-tools annotate sdt/sdt @ rev 1017

sdt/sdt: simplify...
author Aleksej Bobylev <al.bobylev@gmail.com>
date Tue Mar 14 02:36:18 2017 +0200 (2017-03-14)
parents 29dd24939396
children 491239328786
rev   line source
pankso@1011 1 #!/bin/sh
pankso@1011 2 #
pankso@1011 3 # SDT - SliTaz Distro Tracker Cmdline client
pankso@1011 4 #
pankso@1011 5 # (C) SliTaz GNU/Linux 2017 - BSD License
pankso@1011 6 #
pankso@1011 7 . /lib/libtaz.sh
pankso@1011 8
pankso@1011 9 version="0.1"
pankso@1011 10 url="http://scn.slitaz.org/"
pankso@1011 11 date="$(date +%Y%m%d)"
al@1017 12 mark="$HOME/.cache/slitaz/sdt.log"
pankso@1011 13
pankso@1011 14 get_geoloc() {
al@1017 15 # freegeoip.net/<format>/[<ip_or_hostname>]
al@1017 16 # Example: wget freegeoip.net/csv/$ip -O /tmp/geoloc
al@1017 17 wget -q http://freegeoip.net/csv/ -O- | cut -d, -f3
pankso@1011 18 }
pankso@1011 19
pankso@1011 20 get_mode() {
pankso@1011 21 if grep -q "root=/dev/null" /proc/cmdline; then
pankso@1011 22 echo "live"
pankso@1011 23 else
pankso@1011 24 echo "install"
pankso@1011 25 fi
pankso@1011 26 }
pankso@1011 27
pankso@1011 28 case "$1" in
pankso@1011 29 get-stats)
pankso@1011 30 # Get some info from the DB
al@1017 31 title "SDT Stats"
al@1017 32 if wget -q -T 5 --spider $url; then
paul@1014 33 echo "Tracker is online..."
al@1017 34 wget -q "$url?sdt=raw" -O-
pankso@1011 35 else
paul@1014 36 echo "Tracker is unreachable..."
pankso@1011 37 fi
al@1017 38 footer
al@1017 39 ;;
pankso@1011 40 send)
pankso@1011 41 # Send stats to online DB
al@1017 42 if [ -f "$mark" ]; then
paul@1014 43 echo "It looks like you already sent this distro to the DB"
pankso@1013 44 exit 0
pankso@1013 45 fi
pankso@1011 46 user="$2"
al@1017 47 [ -n "$user" ] || user="anonymous"
pankso@1011 48 country=$(get_geoloc)
pankso@1011 49 release=$(cat /etc/slitaz-release)
pankso@1011 50 kernel=$(uname -r)
pankso@1011 51 mode=$(get_mode)
al@1017 52 cat <<EOT
pankso@1011 53
al@1017 54 $(boldify "Information that will be sent to the SliTaz Distro Tracker")
pankso@1011 55 $(separator)
al@1017 56 User : $user
al@1017 57 Country : $country
al@1017 58 Release : SliTaz $release
al@1017 59 Kernel : $kernel
al@1017 60 Running : $mode
pankso@1011 61 EOT
al@1017 62 footer
al@1017 63 echo "Send this data to SliTaz Distro Tracker?"
pankso@1011 64 echo -n "Press 'c' then ENTER to continue or any other key to quit: "
al@1017 65 read answer; newline
al@1017 66 [ "$answer" == 'c' ] || exit 0
al@1017 67
al@1017 68 echo "Sending data to $url"; newline
pankso@1011 69 wget -q --user-agent "SliTaz/SDT" \
al@1017 70 "$url?sdt=add&user=$user&country=$country&release=$release&kernel=$kernel&mode=$mode" \
al@1017 71 -O-
al@1017 72 mkdir -p $(dirname $mark)
al@1017 73 echo "sent" > $mark
al@1017 74 ;;
pankso@1011 75 *)
pankso@1011 76 newline
pankso@1011 77 echo "$(boldify 'Usage:') $(basename $0) [get-stats|send] [username]"
al@1017 78 newline
al@1017 79 ;;
pankso@1011 80 esac
pankso@1011 81 exit 0