|
@@ -1,17 +1,35 @@
|
|
|
-#!/bin/bash
|
|
|
+#!/usr/bin/env bash
|
|
|
+
|
|
|
+async="true"
|
|
|
+interval="0.1"
|
|
|
+if [ "$1" = "-s" ]; then
|
|
|
+ async=""
|
|
|
+ shift
|
|
|
+elif [ "$1" = "-i" ]; then
|
|
|
+ interval="$2"
|
|
|
+ shift 2
|
|
|
+fi
|
|
|
host="$1"
|
|
|
-if [ -z "$host" ]; then
|
|
|
- echo "Usage: $0 <host>"
|
|
|
+shift
|
|
|
+if [ -z "$host" ] || [ ! -z "$@" ]; then
|
|
|
+ echo "Usage: $0 [-s | -i <interval>] <host uri>"
|
|
|
exit 1
|
|
|
fi
|
|
|
-dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
|
-rm -f "$dir/../skins/"*.png || exit 1
|
|
|
-for uuid in `cat "$dir/uuids.txt"`; do
|
|
|
- uuid=`echo "$uuid" | tr -d "\r"`
|
|
|
- size=$(( ((RANDOM<<15)|RANDOM) % 514 - 1 )) # random number from -1 to 513
|
|
|
- helm=""
|
|
|
- if [ "$(( ((RANDOM<<15)|RANDOM) % 2 ))" -eq "1" ]; then
|
|
|
- helm="&helm"
|
|
|
- fi
|
|
|
- curl -sSL -o /dev/null -w "%{url_effective} %{http_code} %{time_total}s\\n" "http://$host/avatars/$uuid?size=$size$helm"
|
|
|
-done
|
|
|
+
|
|
|
+# insert newline after uuids
|
|
|
+id_file="$(echo | cat 'uuids.txt' - 'usernames.txt')"
|
|
|
+mapfile ids <<< $id_file
|
|
|
+
|
|
|
+bulk() {
|
|
|
+ trap return INT
|
|
|
+ for id in $ids; do
|
|
|
+ if [ -z "$async" ]; then
|
|
|
+ curl -sSL -o /dev/null -w "%{url_effective} %{http_code} %{time_total}s\\n" -- "$host/avatars/$id?helm"
|
|
|
+ else
|
|
|
+ curl -sSL -o /dev/null -w "%{url_effective} %{http_code} %{time_total}s\\n" -- "$host/avatars/$id?helm" &
|
|
|
+ sleep "$interval"
|
|
|
+ fi
|
|
|
+ done
|
|
|
+}
|
|
|
+
|
|
|
+time bulk
|