From ba8b51d1c65996f15b06e4ac52ba884075f99564 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 11 Mar 2026 18:21:53 -0400 Subject: [PATCH] v0.1.31 - Add MIME/extension + nginx fallback support for html/js/mjs/css blob uploads and retrieval --- .roo/commands/push.md | 2 +- build/admin_api.o | Bin 34368 -> 35128 bytes build/bud08.o | Bin 9344 -> 10096 bytes build/ginxsom-fcgi | Bin 1071224 -> 1071224 bytes build/main.o | Bin 123816 -> 124448 bytes config/local-nginx.conf | 4 +- remote.nginx.config | 2 +- src/admin_api.c | 8 + src/bud08.c | 8 + src/ginxsom.h | 4 +- src/main.c | 8 + tests/production_file_put_html_tmp.sh | 266 ++++++++++++++++++++++++++ tests/test_upload.html | 11 ++ tests/upload_html_test.sh | 128 +++++++++++++ 14 files changed, 435 insertions(+), 6 deletions(-) create mode 100755 tests/production_file_put_html_tmp.sh create mode 100644 tests/test_upload.html create mode 100755 tests/upload_html_test.sh diff --git a/.roo/commands/push.md b/.roo/commands/push.md index b9569b4..5bdf1ad 100644 --- a/.roo/commands/push.md +++ b/.roo/commands/push.md @@ -2,4 +2,4 @@ description: "increment and push" --- -Run increment_and_push.sh adding a good comment on the command line following the command. \ No newline at end of file +Run increment_and_push.sh adding a good comment on the command line following the command. Don't run any other git commands. \ No newline at end of file diff --git a/build/admin_api.o b/build/admin_api.o index 9efa6ca1b4eeb6d5af968d77da4483ecfe81706b..a710538c425ecffbbdcee85f9561d9540646d04f 100644 GIT binary patch delta 7455 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 B;`9Ij delta 6559 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 diff --git a/build/ginxsom-fcgi b/build/ginxsom-fcgi index b84cfa570cd8ab25ebf41fc95adcaa1446c111e7..faab8cfda1a164b30764b3eae38f62b97a16f07e 100755 GIT binary patch delta 130608 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 AYXATM diff --git a/build/main.o b/build/main.o index 134d0c09c91c7b2d627e7e5aeb186475f5f63a10..26156482c5a1a7becfe2b4d44f64ab491636da88 100644 GIT binary patch delta 33891 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 delta 32829 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 X)tELg( diff --git a/config/local-nginx.conf b/config/local-nginx.conf index c865d8f..cbc8f4d 100644 --- a/config/local-nginx.conf +++ b/config/local-nginx.conf @@ -298,7 +298,7 @@ http { } # GET requests - serve files directly with extension fallback - try_files /$1.txt /$1.jpg /$1.jpeg /$1.png /$1.webp /$1.gif /$1.pdf /$1.mp4 /$1.mp3 /$1.md =404; + try_files /$1.html /$1.js /$1.mjs /$1.css /$1.txt /$1.jpg /$1.jpeg /$1.png /$1.webp /$1.gif /$1.pdf /$1.mp4 /$1.mp3 /$1.md =404; # Cache headers for blob content add_header Cache-Control "public, max-age=31536000, immutable"; @@ -678,7 +678,7 @@ http { } # GET requests - serve files directly with extension fallback - try_files /$1.txt /$1.jpg /$1.jpeg /$1.png /$1.webp /$1.gif /$1.pdf /$1.mp4 /$1.mp3 /$1.md =404; + try_files /$1.html /$1.js /$1.mjs /$1.css /$1.txt /$1.jpg /$1.jpeg /$1.png /$1.webp /$1.gif /$1.pdf /$1.mp4 /$1.mp3 /$1.md =404; # Cache headers for blob content add_header Cache-Control "public, max-age=31536000, immutable"; diff --git a/remote.nginx.config b/remote.nginx.config index b500ca3..563ae1b 100644 --- a/remote.nginx.config +++ b/remote.nginx.config @@ -184,7 +184,7 @@ server { return 405; } - try_files /$1.txt /$1.jpg /$1.jpeg /$1.png /$1.webp /$1.gif /$1.pdf /$1.mp4 /$1.mp3 /$1.md =404; + try_files /$1.html /$1.js /$1.mjs /$1.css /$1.txt /$1.jpg /$1.jpeg /$1.png /$1.webp /$1.gif /$1.pdf /$1.mp4 /$1.mp3 /$1.md =404; # Cache headers add_header Cache-Control "public, max-age=31536000, immutable"; diff --git a/src/admin_api.c b/src/admin_api.c index d4f2b07..8c734f2 100644 --- a/src/admin_api.c +++ b/src/admin_api.c @@ -112,6 +112,14 @@ static const char* admin_mime_to_extension(const char* mime_type) { return ".ogg"; } else if (strstr(mime_type, "text/plain")) { return ".txt"; + } else if (strstr(mime_type, "text/html")) { + return ".html"; + } else if (strstr(mime_type, "text/css")) { + return ".css"; + } else if (strstr(mime_type, "application/javascript")) { + return ".js"; + } else if (strstr(mime_type, "text/javascript")) { + return ".mjs"; } else if (strstr(mime_type, "application/pdf")) { return ".pdf"; } else { diff --git a/src/bud08.c b/src/bud08.c index 932dea7..27f22f5 100644 --- a/src/bud08.c +++ b/src/bud08.c @@ -119,6 +119,14 @@ const char* mime_to_extension(const char* mime_type) { return ".ogg"; } else if (strstr(mime_type, "text/plain")) { return ".txt"; + } else if (strstr(mime_type, "text/html")) { + return ".html"; + } else if (strstr(mime_type, "text/css")) { + return ".css"; + } else if (strstr(mime_type, "application/javascript")) { + return ".js"; + } else if (strstr(mime_type, "text/javascript")) { + return ".mjs"; } else if (strstr(mime_type, "application/pdf")) { return ".pdf"; } else { diff --git a/src/ginxsom.h b/src/ginxsom.h index b6c351c..36ce3e4 100644 --- a/src/ginxsom.h +++ b/src/ginxsom.h @@ -10,8 +10,8 @@ // Version information (auto-updated by build system) #define VERSION_MAJOR 0 #define VERSION_MINOR 1 -#define VERSION_PATCH 30 -#define VERSION "v0.1.30" +#define VERSION_PATCH 31 +#define VERSION "v0.1.31" #include #include diff --git a/src/main.c b/src/main.c index 4dbc294..916ea62 100644 --- a/src/main.c +++ b/src/main.c @@ -1508,6 +1508,14 @@ void handle_delete_request_with_validation(const char *sha256, nostr_request_res extension = ".ogg"; } else if (strstr(blob_type_copy, "text/plain")) { extension = ".txt"; + } else if (strstr(blob_type_copy, "text/html")) { + extension = ".html"; + } else if (strstr(blob_type_copy, "text/css")) { + extension = ".css"; + } else if (strstr(blob_type_copy, "application/javascript")) { + extension = ".js"; + } else if (strstr(blob_type_copy, "text/javascript")) { + extension = ".mjs"; } else { extension = ".bin"; } diff --git a/tests/production_file_put_html_tmp.sh b/tests/production_file_put_html_tmp.sh new file mode 100755 index 0000000..f5a3d57 --- /dev/null +++ b/tests/production_file_put_html_tmp.sh @@ -0,0 +1,266 @@ +#!/bin/bash + +# file_put_production.sh - Test script for production Ginxsom Blossom server +# Tests upload functionality on blossom.laantungir.net + +set -e # Exit on any error + +# Configuration +SERVER_URL="https://blossom.laantungir.net" +UPLOAD_ENDPOINT="${SERVER_URL}/upload" +TEST_FILE="test_blob_$(date +%s).html" +CLEANUP_FILES=() + +# Colors for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' # No Color + +# Cleanup function +cleanup() { + echo -e "${YELLOW}Cleaning up temporary files...${NC}" + for file in "${CLEANUP_FILES[@]}"; do + if [[ -f "$file" ]]; then + rm -f "$file" + echo "Removed: $file" + fi + done +} + +# Set up cleanup on exit +trap cleanup EXIT + +# Helper functions +log_info() { + echo -e "${BLUE}[INFO]${NC} $1" +} + +log_success() { + echo -e "${GREEN}[SUCCESS]${NC} $1" +} + +log_error() { + echo -e "${RED}[ERROR]${NC} $1" +} + +log_warning() { + echo -e "${YELLOW}[WARNING]${NC} $1" +} + +# Check prerequisites +check_prerequisites() { + log_info "Checking prerequisites..." + + # Check if nak is installed + if ! command -v nak &> /dev/null; then + log_error "nak command not found. Please install nak first." + log_info "Install with: go install github.com/fiatjaf/nak@latest" + exit 1 + fi + log_success "nak is installed" + + # Check if curl is available + if ! command -v curl &> /dev/null; then + log_error "curl command not found. Please install curl." + exit 1 + fi + log_success "curl is available" + + # Check if sha256sum is available + if ! command -v sha256sum &> /dev/null; then + log_error "sha256sum command not found." + exit 1 + fi + log_success "sha256sum is available" + + # Check if base64 is available + if ! command -v base64 &> /dev/null; then + log_error "base64 command not found." + exit 1 + fi + log_success "base64 is available" +} + +# Check if server is running +check_server() { + log_info "Checking if server is running..." + + if curl -s -f "${SERVER_URL}/health" > /dev/null 2>&1; then + log_success "Server is running at ${SERVER_URL}" + else + log_error "Server is not responding at ${SERVER_URL}" + exit 1 + fi +} + +# Create test file +create_test_file() { + log_info "Creating test file: ${TEST_FILE}" + + # Create test content with timestamp and random data + cat > "${TEST_FILE}" << EOF +Test blob content for Ginxsom Blossom server (PRODUCTION) +Timestamp: $(date -Iseconds) +Random data: $(openssl rand -hex 32) +Test message: Hello from production test! + +This file is used to test the upload functionality +of the Ginxsom Blossom server on blossom.laantungir.net +EOF + + CLEANUP_FILES+=("${TEST_FILE}") + log_success "Created test file with $(wc -c < "${TEST_FILE}") bytes" +} + +# Calculate file hash +calculate_hash() { + log_info "Calculating SHA-256 hash..." + + HASH=$(sha256sum "${TEST_FILE}" | cut -d' ' -f1) + + log_success "Data to hash: ${TEST_FILE}" + log_success "File hash: ${HASH}" +} + +# Generate nostr event +generate_nostr_event() { + log_info "Generating kind 24242 nostr event with nak using WSB's private key..." + + # Calculate expiration time (1 hour from now) + EXPIRATION=$(date -d '+1 hour' +%s) + + # Generate the event using nak with WSB's private key + EVENT_JSON=$(nak event -k 24242 -c "" \ + --sec "22cc83aa57928a2800234c939240c9a6f0f44a33ea3838a860ed38930b195afd" \ + -t "t=upload" \ + -t "x=${HASH}" \ + -t "expiration=${EXPIRATION}") + + if [[ -z "$EVENT_JSON" ]]; then + log_error "Failed to generate nostr event" + exit 1 + fi + + log_success "Generated nostr event" + echo "Event JSON: $EVENT_JSON" +} + +# Create authorization header +create_auth_header() { + log_info "Creating authorization header..." + + # Base64 encode the event (without newlines) + AUTH_B64=$(echo -n "$EVENT_JSON" | base64 -w 0) + AUTH_HEADER="Nostr ${AUTH_B64}" + + log_success "Created authorization header" + echo "Auth header length: ${#AUTH_HEADER} characters" +} + +# Perform upload +perform_upload() { + log_info "Performing upload to ${UPLOAD_ENDPOINT}..." + + # Create temporary file for response + RESPONSE_FILE=$(mktemp) + CLEANUP_FILES+=("${RESPONSE_FILE}") + + # Perform the upload with verbose output + HTTP_STATUS=$(curl -s -w "%{http_code}" \ + -X PUT \ + -H "Authorization: ${AUTH_HEADER}" \ + -H "Content-Type: text/plain" \ + -H "Content-Disposition: attachment; filename=\"${TEST_FILE}\"" \ + --data-binary "@${TEST_FILE}" \ + "${UPLOAD_ENDPOINT}" \ + -o "${RESPONSE_FILE}") + + echo "HTTP Status: ${HTTP_STATUS}" + echo "Response body:" + cat "${RESPONSE_FILE}" + echo + + # Check response + case "${HTTP_STATUS}" in + 200) + log_success "Upload successful!" + ;; + 201) + log_success "Upload successful (created)!" + ;; + 400) + log_error "Bad request - check the event format" + ;; + 401) + log_error "Unauthorized - authentication failed" + ;; + 405) + log_error "Method not allowed - check nginx configuration" + ;; + 413) + log_error "Payload too large" + ;; + 501) + log_warning "Upload endpoint not yet implemented (expected for now)" + ;; + *) + log_error "Upload failed with HTTP status: ${HTTP_STATUS}" + ;; + esac +} + +# Test file retrieval +test_retrieval() { + log_info "Testing file retrieval..." + + RETRIEVAL_URL="${SERVER_URL}/${HASH}" + + if curl -s -f "${RETRIEVAL_URL}" > /dev/null 2>&1; then + log_success "File can be retrieved at: ${RETRIEVAL_URL}" + + # Download and verify + DOWNLOADED_FILE=$(mktemp) + CLEANUP_FILES+=("${DOWNLOADED_FILE}") + curl -s "${RETRIEVAL_URL}" -o "${DOWNLOADED_FILE}" + + DOWNLOADED_HASH=$(sha256sum "${DOWNLOADED_FILE}" | cut -d' ' -f1) + if [[ "${DOWNLOADED_HASH}" == "${HASH}" ]]; then + log_success "Downloaded file hash matches! Verification successful." + else + log_error "Hash mismatch! Expected: ${HASH}, Got: ${DOWNLOADED_HASH}" + fi + else + log_warning "File not yet available for retrieval" + fi +} + +# Main execution +main() { + echo "=== Ginxsom Blossom Production Upload Test ===" + echo "Server: ${SERVER_URL}" + echo "Timestamp: $(date -Iseconds)" + echo + + check_prerequisites + check_server + create_test_file + calculate_hash + generate_nostr_event + create_auth_header + perform_upload + test_retrieval + + echo + log_info "Test completed!" + echo "Summary:" + echo " Test file: ${TEST_FILE}" + echo " File hash: ${HASH}" + echo " Server: ${SERVER_URL}" + echo " Upload endpoint: ${UPLOAD_ENDPOINT}" + echo " Retrieval URL: ${SERVER_URL}/${HASH}" +} + +# Run main function +main "$@" \ No newline at end of file diff --git a/tests/test_upload.html b/tests/test_upload.html new file mode 100644 index 0000000..31aae12 --- /dev/null +++ b/tests/test_upload.html @@ -0,0 +1,11 @@ + + + + Ginxsom Test + + +

Ginxsom HTML Upload Test

+

This is a small test file to verify HTML uploads on blossom.laantungir.net.

+

Timestamp: 2026-03-11T21:55:00Z

+ + diff --git a/tests/upload_html_test.sh b/tests/upload_html_test.sh new file mode 100755 index 0000000..8d5df53 --- /dev/null +++ b/tests/upload_html_test.sh @@ -0,0 +1,128 @@ +#!/bin/bash + +# upload_html_test.sh - Test script for uploading HTML to production Ginxsom Blossom server +# Tests upload functionality on blossom.laantungir.net + +set -e # Exit on any error + +# Configuration +SERVER_URL="https://blossom.laantungir.net" +UPLOAD_ENDPOINT="${SERVER_URL}/upload" +TEST_FILE="tests/test_upload.html" + +# Colors for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' # No Color + +# Helper functions +log_info() { + echo -e "${BLUE}[INFO]${NC} $1" +} + +log_success() { + echo -e "${GREEN}[SUCCESS]${NC} $1" +} + +log_error() { + echo -e "${RED}[ERROR]${NC} $1" +} + +log_warning() { + echo -e "${YELLOW}[WARNING]${NC} $1" +} + +# Calculate file hash +calculate_hash() { + log_info "Calculating SHA-256 hash..." + HASH=$(sha256sum "${TEST_FILE}" | cut -d' ' -f1) + log_success "File hash: ${HASH}" +} + +# Generate nostr event +generate_nostr_event() { + log_info "Generating kind 24242 nostr event..." + EXPIRATION=$(date -d '+1 hour' +%s) + EVENT_JSON=$(nak event -k 24242 -c "" \ + --sec "22cc83aa57928a2800234c939240c9a6f0f44a33ea3838a860ed38930b195afd" \ + -t "t=upload" \ + -t "x=${HASH}" \ + -t "expiration=${EXPIRATION}") + + if [[ -z "$EVENT_JSON" ]]; then + log_error "Failed to generate nostr event" + exit 1 + fi + log_success "Generated nostr event" +} + +# Create authorization header +create_auth_header() { + log_info "Creating authorization header..." + AUTH_B64=$(echo -n "$EVENT_JSON" | base64 -w 0) + AUTH_HEADER="Nostr ${AUTH_B64}" + log_success "Created authorization header" +} + +# Perform upload +perform_upload() { + log_info "Performing upload to ${UPLOAD_ENDPOINT}..." + RESPONSE_FILE=$(mktemp) + + HTTP_STATUS=$(curl -s -w "%{http_code}" \ + -X PUT \ + -H "Authorization: ${AUTH_HEADER}" \ + -H "Content-Type: text/html" \ + --data-binary "@${TEST_FILE}" \ + "${UPLOAD_ENDPOINT}" \ + -o "${RESPONSE_FILE}") + + echo "HTTP Status: ${HTTP_STATUS}" + echo "Response body:" + cat "${RESPONSE_FILE}" + echo + rm -f "${RESPONSE_FILE}" + + if [[ "${HTTP_STATUS}" == "200" || "${HTTP_STATUS}" == "201" ]]; then + log_success "Upload successful!" + else + log_error "Upload failed with HTTP status: ${HTTP_STATUS}" + exit 1 + fi +} + +# Test file retrieval +test_retrieval() { + log_info "Testing file retrieval..." + + # Try with .html extension + RETRIEVAL_URL_EXT="${SERVER_URL}/${HASH}.html" + log_info "Trying retrieval with extension: ${RETRIEVAL_URL_EXT}" + if curl -s -f -I "${RETRIEVAL_URL_EXT}" > /dev/null 2>&1; then + log_success "File found with .html extension!" + else + log_warning "File NOT found with .html extension" + fi + + # Try without extension + RETRIEVAL_URL="${SERVER_URL}/${HASH}" + log_info "Trying retrieval without extension: ${RETRIEVAL_URL}" + if curl -s -f -I "${RETRIEVAL_URL}" > /dev/null 2>&1; then + log_success "File found without extension!" + else + log_warning "File NOT found without extension" + fi +} + +# Main execution +main() { + calculate_hash + generate_nostr_event + create_auth_header + perform_upload + test_retrieval +} + +main "$@"