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 |