#!/bin/bash # Helper function to print test results print_result() { if [ $1 -eq 0 ]; then echo -e "[PASS] $2" else echo -e "[FAIL] $2" fi } # Upload test with status code check upload_test() { local file=$1 local label=$2 status=$(curl -s -o /dev/null -w "%{http_code}" -X POST https://matisa.grinwald.net/upload-mock.php -F "file=@$file") if [ "$status" -eq 200 ]; then echo -e "[PASS] Upload $label file" else echo -e "[FAIL] Upload $label file (HTTP $status)" fi } echo "=== Connection & API Test Script ===" # 1. Ping test ping -c 4 matisa.grinwald.net > /dev/null 2>&1 print_result $? "Ping matisa.grinwald.net" # 2. Port check with netcat nc -vz grinwald.net 22 > /dev/null 2>&1 print_result $? "Port check grinwald.net:22" # 3. GET IP curl -s -X GET https://matisa.grinwald.net/get-ip.php > /dev/null print_result $? "GET /get-ip.php" # 4. GET large response curl -s -X GET https://matisa.grinwald.net/get-large-response.php > /dev/null print_result $? "GET /get-large-response.php" # 5. POST dummy curl -s -X POST https://matisa.grinwald.net/post-dummy.php -d "name=John&email=john@example.com" > /dev/null print_result $? "POST /post-dummy.php" # 6. PUT dummy curl -s -X PUT https://matisa.grinwald.net/put-dummy.php -H "Content-Type: application/json" -d '{"username":"john_doe","role":"admin"}' > /dev/null print_result $? "PUT /put-dummy.php" # 7. Upload 1B file dd if=/dev/urandom of=random_1B.bin bs=1 count=1 > /dev/null 2>&1 upload_test "random_1B.bin" "1B" # 8. Upload 1KB file dd if=/dev/urandom of=random_1KB.bin bs=1K count=1 > /dev/null 2>&1 upload_test "random_1KB.bin" "1KB" # 9. Upload 1MB file dd if=/dev/urandom of=random_1MB.bin bs=1M count=1 > /dev/null 2>&1 upload_test "random_1MB.bin" "1MB" dd if=/dev/urandom of=random_10MB.bin bs=10M count=1 > /dev/null 2>&1 upload_test "random_1MB.bin" "10MB" dd if=/dev/urandom of=random_20MB.bin bs=20M count=1 > /dev/null 2>&1 upload_test "random_1MB.bin" "20MB" echo "=== Test Completed ==="