Files
hmac-file-server/cleanup_dev_files.sh
Alexander Renz da403de111 Add test script for large file asynchronous post-processing
- Implemented a comprehensive test script to validate the new asynchronous handling of large file uploads (>1GB).
- The script checks for immediate HTTP responses, verifies server configurations for deduplication and virus scanning, and ensures server responsiveness during rapid uploads.
- Included checks for relevant response headers and session tracking.
- Documented the problem being solved, implementation details, and next steps for deployment and monitoring.
2025-08-26 20:20:05 +00:00

245 lines
9.1 KiB
Bash
Executable File

#!/bin/bash
# 🧹 HMAC File Server 3.3.0 "Nexus Infinitum" - Developer File Cleanup
# Carefully removes development and test files while preserving production assets
# Date: August 26, 2025
set -euo pipefail
# Colors
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
RED='\033[0;31m'
PURPLE='\033[0;35m'
NC='\033[0m'
echo -e "${BLUE}🧹 HMAC FILE SERVER 3.3.0 DEVELOPER CLEANUP${NC}"
echo "=============================================="
echo "Carefully cleaning development files while preserving production assets"
echo ""
# Files to keep (important production files)
KEEP_FILES=(
"hmac-file-server-network-fixed" # Main enhanced server binary
"hmac-file-server-desktop-fixed" # Desktop client enhanced binary
"config-mobile-resilient.toml" # Production mobile config
"config-production-enhanced.toml" # Production config
"config-production-validated.toml" # Validated production config
"README.md" # Main documentation
"WIKI.MD" # Wiki documentation
"LICENSE" # License file
"go.mod" # Go module file
"go.sum" # Go dependencies
"RELEASE_NOTES_3.3.0.md" # Current release notes
"install-manager.sh" # Production installer
"installer.sh" # Alternative installer
"builddebian.sh" # Debian package builder
"builddocker.sh" # Docker builder
"build-multi-arch.sh" # Multi-architecture builder
"docker-multiarch-build.sh" # Docker multi-arch builder
"fix_xmpp_clients.sh" # Client troubleshooting tool
"verify_network_resilience.sh" # Network verification tool
"NETWORK_RESILIENCE_COMPLETE.md" # Network feature documentation
"DESKTOP_XMPP_CLIENT_FIX.md" # Desktop client fix documentation
"XMPP_CLIENT_ECOSYSTEM_ANALYSIS.md" # Client analysis
"xmpp_client_upload_diagnosis.ipynb" # Diagnostic notebook
"test-large-file-multiupload.sh" # Large file multi-upload test
"test-large-file-async-processing.sh" # Async processing test
"large-file-performance-fix-summary.sh" # Performance fix summary
"compilation_summary.sh" # Build compilation summary
)
# Directories to keep
KEEP_DIRS=(
"cmd/" # Source code
"dashboard/" # Monitoring dashboard
"dockerenv/" # Docker configurations
"ejabberd-module/" # XMPP module
"templates/" # Configuration templates
"tests/" # Test framework
"uploads/" # Upload directory
".git/" # Git repository
)
# Files to remove (development/testing artifacts)
REMOVE_FILES=(
"hmac-file-server" # Old binary
"hmac-file-server-ejabberd" # Development binary
"hmac-file-server-fixed" # Old fixed binary
"hmac-file-server-mobile-resilient" # Development binary
"hmac-file-server-3.3.0-enhanced" # Development binary
"hmac-file-server-3.3.0-test" # Test binary
"hmac-file-server-enhanced-security" # Development binary
"hmac-file-server-gajim-fix" # Development binary
"hmac-file-server-gajim-fix-v2" # Development binary
"hmac-file-server-gajim-multiupload-fix" # Development binary
"hmac-file-server-test" # Test binary
"monitor" # Test monitor
"server" # Test server
"quick-test" # Development test
"test" # Old test script
"test-file.txt" # Test file
"test_enhanced_mime.go" # Development test
"test_mime.go" # Development test
"test_mime_integration.go" # Development test
"router-test.log" # Test log
"server-test.log" # Test log
"test-server.log" # Test log
)
# Config files to remove (development/testing configs)
REMOVE_CONFIGS=(
"test-config.toml" # Test config
"test-config-network-resilience.toml" # Test config
"test-config-resilience.toml" # Test config
"test-final.toml" # Test config
"test-minimal.toml" # Test config
"test-simple-config.toml" # Test config
"test-simple.toml" # Test config
"test-startup.toml" # Test config
"test-success.toml" # Test config
"config-client-multiinterface.toml" # Development config
)
# Scripts to remove (development/testing scripts)
REMOVE_SCRIPTS=(
"comprehensive_upload_test.sh" # Development test
"debug-uploads.sh" # Development debug
"monitor_nginx.sh" # Development monitor
"monitor_server.sh" # Development monitor
"monitor_uploads.sh" # Development monitor
"test-network-resilience.sh" # Development test
"test_network_resilience_complete.sh" # Development test
"test_network_switching.sh" # Development test
"test_build_network_switching.sh" # Development test
"test_enhanced_security.sh" # Development test
"test-gajim-cors-fix.sh" # Development test
"test-gajim-multiupload-fix.sh" # Development test
"simple_revalidation.sh" # Development validation
"revalidate_all_features.sh" # Development validation
"check-configs.sh" # Development check
)
# Documentation to remove (outdated/development docs)
REMOVE_DOCS=(
"ADAPTIVE_IO_INTEGRATION.md" # Development doc
"CHANGELOG.MD" # Old changelog
"DUAL_STACK_IMPROVEMENTS.md" # Development doc
"EJABBERD_MODULE_PROPOSAL.md" # Development proposal
"GIT_RELEASE_NOTES_3.2.2.md" # Old release notes
"IMPROVEMENT_SUMMARY.md" # Development summary
"MIME_TYPE_ENHANCEMENT_REPORT.md" # Development report
"MULTI_INTERFACE_INTEGRATION_COMPLETE.md" # Development doc
"NETWORK_RESILIENCE_FIX_REPORT.md" # Development report
"RELEASE_NOTES_3.2.2.md" # Old release notes
"STABILITY_AUDIT_PLAN.md" # Development audit
)
# Directories to remove (development/testing dirs)
REMOVE_DIRS=(
"temp/" # Temporary files
"test-uploads/" # Test uploads
"dedup_store/" # Development dedup store (empty)
)
# Function to safely remove files
safe_remove() {
local item="$1"
local type="$2"
if [ "$type" = "file" ] && [ -f "$item" ]; then
echo -e "${YELLOW}📄 Removing file: $item${NC}"
rm -f "$item"
return 0
elif [ "$type" = "dir" ] && [ -d "$item" ]; then
if [ -z "$(ls -A "$item" 2>/dev/null)" ]; then
echo -e "${YELLOW}📁 Removing empty directory: $item${NC}"
rmdir "$item"
else
echo -e "${YELLOW}📁 Removing directory: $item${NC}"
rm -rf "$item"
fi
return 0
fi
return 1
}
# Count removed items
REMOVED_COUNT=0
echo -e "${BLUE}🗑️ REMOVING DEVELOPMENT FILES${NC}"
echo "==============================="
# Remove development files
for file in "${REMOVE_FILES[@]}"; do
if safe_remove "$file" "file"; then
((REMOVED_COUNT++))
fi
done
# Remove development configs
for config in "${REMOVE_CONFIGS[@]}"; do
if safe_remove "$config" "file"; then
((REMOVED_COUNT++))
fi
done
# Remove development scripts
for script in "${REMOVE_SCRIPTS[@]}"; do
if safe_remove "$script" "file"; then
((REMOVED_COUNT++))
fi
done
# Remove development documentation
for doc in "${REMOVE_DOCS[@]}"; do
if safe_remove "$doc" "file"; then
((REMOVED_COUNT++))
fi
done
# Remove development directories
for dir in "${REMOVE_DIRS[@]}"; do
if safe_remove "$dir" "dir"; then
((REMOVED_COUNT++))
fi
done
echo ""
echo -e "${GREEN}✅ PRESERVED PRODUCTION FILES${NC}"
echo "============================"
# Show kept files
echo -e "${GREEN}📦 Key production files preserved:${NC}"
for file in "${KEEP_FILES[@]}"; do
if [ -f "$file" ]; then
echo -e "$file"
fi
done
echo ""
echo -e "${GREEN}📁 Production directories preserved:${NC}"
for dir in "${KEEP_DIRS[@]}"; do
if [ -d "$dir" ]; then
echo -e "$dir"
fi
done
echo ""
echo -e "${PURPLE}📊 CLEANUP SUMMARY${NC}"
echo "=================="
echo -e "Items removed: ${REMOVED_COUNT}"
echo -e "Production files preserved: ${#KEEP_FILES[@]}"
echo -e "Production directories preserved: ${#KEEP_DIRS[@]}"
echo ""
echo -e "${GREEN}🎯 PRODUCTION-READY STRUCTURE${NC}"
echo "============================="
echo "The HMAC File Server 3.3.0 'Nexus Infinitum' is now clean and"
echo "ready for production deployment with all development artifacts removed."
echo ""
echo -e "${BLUE}🚀 Ready to deploy:${NC}"
echo " ./hmac-file-server-network-fixed -config config-mobile-resilient.toml"
echo ""
echo "Cleanup completed at $(date)"