#!/bin/bash
pkill -f "/tmp/bwtest.sh" 2>/dev/null
pkill -f "up1m.bin" 2>/dev/null
pkill -f "cloudflare.com/__up" 2>/dev/null
sleep 1
dd if=/dev/urandom of=/tmp/up2m.bin bs=1M count=2 2>/dev/null
echo "=== A: 2MB upload speed.cloudflare IPv4 ==="
curl -4 -s -o /dev/null -X POST --data-binary @/tmp/up2m.bin https://speed.cloudflare.com/__up -w "v4: %{speed_upload} B/s in %{time_total}s\n" --max-time 90
echo "=== B: 2MB upload speed.cloudflare IPv6 ==="
curl -6 -s -o /dev/null -X POST --data-binary @/tmp/up2m.bin https://speed.cloudflare.com/__up -w "v6: %{speed_upload} B/s in %{time_total}s\n" --max-time 90
echo "=== C: 2MB upload via own tunnel ==="
curl -s -o /dev/null -X POST -H "X-Token: x" --data-binary @/tmp/up2m.bin https://assignment-struggle-blind-followed.trycloudflare.com/run -w "tunnel: %{speed_upload} B/s in %{time_total}s\n" --max-time 90
echo "=== D: 20MB domestic download (aliyun) ==="
curl -s -o /dev/null http://mirrors.aliyun.com/ubuntu/ls-lR.gz -w "aliyun-down: %{speed_download} B/s in %{time_total}s\n" --max-time 60
echo "=== E: egress meta ==="
curl -s --max-time 10 https://speed.cloudflare.com/meta | head -c 300
echo
echo "BW2-DONE"
