mirror of
https://github.com/Dvorinka/Trackeep.git
synced 2026-06-04 04:22:57 +00:00
b083dac3f0
Add real API support in demo mode with credential checking, implement build-time version injection from package.json, and refactor update checking with 24-hour caching. Migrate landing page from Vue to Astro with comprehensive UI components including Hero, Features, Benefits, and Tech Stack sections. Update CI/CD workflow with expanded cache paths and security scanner version pinned.
77 lines
2.1 KiB
Go
77 lines
2.1 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"time"
|
|
|
|
"github.com/trackeep/backend/services"
|
|
)
|
|
|
|
func main() {
|
|
if len(os.Args) < 2 {
|
|
fmt.Println("Usage: go run favicon_test.go <URL>")
|
|
fmt.Println("Example: go run favicon_test.go https://github.com")
|
|
os.Exit(1)
|
|
}
|
|
|
|
url := os.Args[1]
|
|
fmt.Printf("Testing favicon fetching for: %s\n\n", url)
|
|
|
|
// Test the enhanced favicon fetcher
|
|
fetcher := services.NewFaviconFetcher()
|
|
|
|
fmt.Println("=== Enhanced Favicon Fetcher ===")
|
|
start := time.Now()
|
|
favicon, err := fetcher.FetchFavicon(url)
|
|
duration := time.Since(start)
|
|
|
|
if err != nil {
|
|
fmt.Printf("❌ Error: %v\n", err)
|
|
} else if favicon == "" {
|
|
fmt.Printf("❌ No favicon found\n")
|
|
} else {
|
|
fmt.Printf("✅ Favicon found: %s (took %v)\n", favicon, duration)
|
|
}
|
|
|
|
fmt.Println("\n=== Multiple Favicon Candidates ===")
|
|
start = time.Now()
|
|
favicons := fetcher.FetchMultipleFavicons(url, 5)
|
|
duration = time.Since(start)
|
|
|
|
fmt.Printf("Found %d favicon candidates (took %v):\n", len(favicons), duration)
|
|
for i, f := range favicons {
|
|
fmt.Printf(" %d. %s\n", i+1, f)
|
|
}
|
|
|
|
fmt.Println("\n=== Original Metadata Service ===")
|
|
start = time.Now()
|
|
metadata, err := services.FetchWebsiteMetadata(url)
|
|
duration = time.Since(start)
|
|
|
|
if err != nil {
|
|
fmt.Printf("❌ Error: %v\n", err)
|
|
} else {
|
|
fmt.Printf("✅ Metadata fetched (took %v):\n", duration)
|
|
fmt.Printf(" Title: %s\n", metadata.Title)
|
|
fmt.Printf(" Description: %s\n", metadata.Description)
|
|
fmt.Printf(" Favicon: %s\n", metadata.Favicon)
|
|
fmt.Printf(" Site Name: %s\n", metadata.SiteName)
|
|
}
|
|
|
|
fmt.Println("\n=== Comparison ===")
|
|
if favicon != "" && metadata != nil && metadata.Favicon != "" {
|
|
if favicon == metadata.Favicon {
|
|
fmt.Println("✅ Both methods returned the same favicon")
|
|
} else {
|
|
fmt.Println("⚠️ Different favicons returned:")
|
|
fmt.Printf(" Enhanced: %s\n", favicon)
|
|
fmt.Printf(" Original: %s\n", metadata.Favicon)
|
|
}
|
|
} else if metadata == nil {
|
|
fmt.Println("⚠️ Original metadata service failed, enhanced method succeeded")
|
|
} else {
|
|
fmt.Println("⚠️ Could not compare favicon results")
|
|
}
|
|
}
|