forked from team/makeuser
63 lines
1.9 KiB
Bash
Executable File
63 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
###############################################################################
|
|
#
|
|
# $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.2
|
|
#
|
|
# Licensed under a the AGPL 3.0 or later, by Ubergeek (ubergeek@thunix.net)
|
|
# https://www.gnu.org/licenses/gpl-3.0.en.html
|
|
#
|
|
###############################################################################
|
|
|
|
CONFIG=./setenv
|
|
|
|
if [ ! -f "$CONFIG" ]; then
|
|
echo "Config file does not exist, or not at the location specified. Please create the file, or correct the location."
|
|
exit 1
|
|
fi
|
|
|
|
. $CONFIG
|
|
|
|
cat << _EOF
|
|
{
|
|
"name" : "$SITE_TITLE",
|
|
"url" : "$SITE",
|
|
"want_users":$WANT_USERS,
|
|
"admin_email": "$ADMIN_EMAIL",
|
|
"signup_url": "$SIGNUP_URL",
|
|
"description": "$DESCRIPTION",
|
|
_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 $SITE/~$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 -e "\t\"generated_by\":\"bash_tdp\""
|
|
echo "}"
|
|
|