bash_tdp/gen_tdp

53 lines
1.9 KiB
Plaintext
Raw Normal View History

2019-11-04 23:38:05 +00:00
#!/bin/bash
2019-11-04 23:48:48 +00:00
###############################################################################
#
# $0 A bash script to generate the tilde.json file as described by
# http://protocol.club/~datagrok/beta-wiki/tdp.html
#
# This command takes no arguments, and sends outputs to stdout.
# Version 1.0
#
# Licensed under a the AGPL 3.0 or later, by Ubergeek (ubergeek@thunix.net)
# https://www.gnu.org/licenses/gpl-3.0.en.html
#
###############################################################################
2019-11-04 23:38:05 +00:00
cat << _EOF
{
"name" : "thunix",
"url" : "https://thunix.net",
"want_users":true,
"admin_email": "root@thunix.net",
"signup_url": "https://www.thunix.net/signup",
"description": "Thunix is a community, centered around access to a public *nix system. Thunix offers shell accounts with complete set of programming tools, and follows a continuous integration-continuous deployment of system configuration.",
_EOF
echo -ne "\t\"user_count\":"
echo $(for i in $(members tilde); do echo $i; done | sort | uniq | wc -l)","
echo -e "\t\"generated_at\" : \"$(date)\","
echo -e "\t\"uptime\" : \"$(uptime | cut -f1 -d,)\","
member_count=$(for i in $(members tilde); do echo $i; done | sort | uniq | wc -l)
echo -e "\t\"users\": ["
for i in $(for i in $(members tilde); do echo $i; done | sort | uniq); do
let count=$count+1
echo -e "\t{\n\t\t\"user_name\": \"$i\","
set mod_time= "$(stat -c '%Y' /home/$i/public_html/index.* 2> /dev/null | head -n1)"
if [ ! "$mod_time" == "" ]; then
echo -e "\t\t\"mtime\" : \"0\","
else
echo -e "\t\t\"mtime\" : \"$(stat -c '%Y' /home/$i/public_html/index.* 2> /dev/null | head -n1)\","
fi
echo -e "\t\t\"title\" : \""$(curl -L https://www.thunix.net/~$i -so - |grep -iPo '(?<=<title>)(.*)(?=</title>)')"\""
if [ $count -eq $(for i in $(members tilde); do echo $i; done | sort | uniq | wc -l) ]; then
echo -e "\t}"
else
echo -e "\t},"
fi
done
echo -e "\t]"
echo "}"