{"id":23718369,"url":"https://github.com/bradsec/gofindmyfonts","last_synced_at":"2026-01-31T16:10:21.254Z","repository":{"id":306738049,"uuid":"1026923238","full_name":"bradsec/gofindmyfonts","owner":"bradsec","description":"GoFindMyFonts is a local Go-based web application that helps you discover, preview, and manage fonts on your system.","archived":false,"fork":false,"pushed_at":"2025-07-26T23:07:13.000Z","size":422,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-27T10:32:03.968Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bradsec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-26T23:06:14.000Z","updated_at":"2025-07-26T23:08:15.000Z","dependencies_parsed_at":"2025-07-27T10:42:10.522Z","dependency_job_id":null,"html_url":"https://github.com/bradsec/gofindmyfonts","commit_stats":null,"previous_names":["bradsec/gofindmyfonts"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/bradsec/gofindmyfonts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradsec%2Fgofindmyfonts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradsec%2Fgofindmyfonts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradsec%2Fgofindmyfonts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradsec%2Fgofindmyfonts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bradsec","download_url":"https://codeload.github.com/bradsec/gofindmyfonts/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradsec%2Fgofindmyfonts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28947570,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T14:26:55.697Z","status":"ssl_error","status_checked_at":"2026-01-31T14:26:52.545Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-30T21:20:14.115Z","updated_at":"2026-01-31T16:10:21.248Z","avatar_url":"https://github.com/bradsec.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GoFindMyFonts\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/bradsec/gofindmyfonts)](https://goreportcard.com/report/github.com/bradsec/gofindmyfonts)\n\nGoFindMyFonts is a local Go-based web application that helps you discover, preview, and manage fonts on your system. This tool allows you to browse your local font files, generate previews, and convert fonts to both True Type Fonts (TTF) and Web Open Font Format 2.0 (WOFF2) formats. It's especially useful for managing large font collections and finding the ideal font for your projects.\n\n![preview](preview.png) \n\n## Features\n\n- Scan and discover fonts in specified directories\n- Support for TTF, OTF, WOFF, and WOFF2 formats\n- Real-time font preview generation\n- Customizable preview text and font size\n- Format conversion using Google WOFF2 Tools (TTF/OTF to WOFF2)\n- Cached conversion results for better performance\n- Dark/light theme toggle\n- Fast, concurrent font processing with progress feedback\n- Real-time font search and filtering\n- Customizable grid layout (1-4 columns)\n- Alphabetical sorting (A-Z, Z-A)\n- Batch download all fonts (or filtered selection) as a ZIP file\n- Virtual scrolling for handling large font collections (5000+ fonts)\n- Paginated loading with infinite scroll\n\n## Prerequisites\n\nBefore installing the application, ensure you have:\n\n- Go 1.23.4 or later (https://go.dev/doc/install).\n- WOFF2 Tools (`woff2_compress` and `woff2_decompress`) (https://github.com/google/woff2)\n\n## Installation\n\n### Option 1 Download the pre-built Binary files from [Releases](https://github.com/bradsec/gofindmyfonts/releases)\n\n```bash\n# You will need to make the binary executable on macOS and Linux:\n\n# Linux\nchmod +x gofindmyfonts-linux-amd64\n./gofindmyfonts-linux-amd64\n\n# macOS\nchmod +x gofindmyfonts-darwin-amd64 \n./gofindmyfonts-darwin-amd64 \n\n# Windows just open run the executable \ngofindmyfonts-windows-amd64.exe \n\n\n  ██████╗  ██████╗     ███████╗██╗███╗   ██╗██████╗                  \n ██╔════╝ ██╔═══██╗    ██╔════╝██║████╗  ██║██╔══██╗                 \n ██║  ███╗██║   ██║    █████╗  ██║██╔██╗ ██║██║  ██║                 \n ██║   ██║██║   ██║    ██╔══╝  ██║██║╚██╗██║██║  ██║                 \n ╚██████╔╝╚██████╔╝    ██║     ██║██║ ╚████║██████╔╝                 \n  ╚═════╝  ╚═════╝     ╚═╝     ╚═╝╚═╝  ╚═══╝╚═════╝                  \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n ███╗   ███╗██╗   ██╗    ███████╗ ██████╗ ███╗   ██╗████████╗███████╗\n ████╗ ████║╚██╗ ██╔╝    ██╔════╝██╔═══██╗████╗  ██║╚══██╔══╝██╔════╝\n ██╔████╔██║ ╚████╔╝     █████╗  ██║   ██║██╔██╗ ██║   ██║   ███████╗\n ██║╚██╔╝██║  ╚██╔╝      ██╔══╝  ██║   ██║██║╚██╗██║   ██║   ╚════██║\n ██║ ╚═╝ ██║   ██║       ██║     ╚██████╔╝██║ ╚████║   ██║   ███████║\n ╚═╝     ╚═╝   ╚═╝       ╚═╝      ╚═════╝ ╚═╝  ╚═══╝   ╚═╝   ╚══════╝\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n```\n\n### Option 2 Clone and Build\n\n- Clone the repository:\n```bash\ngit clone https://github.com/bradsec/gofindmyfonts.git\ncd gofindmyfonts\n```\n\n- Install dependencies:\n```bash\ngo mod tidy\n```\n\n- Build the application:\n```bash\ngo build -o gofindmyfonts cmd/server/main.go\n```\n\n\n## Configuration\n\nThe application can be configured using environment variables:\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `PORT` | `8080` | HTTP server port |\n| `MAX_CONCURRENT` | `4` | Maximum concurrent font processing operations |\n| `MAX_FILE_SIZE` | `52428800` | Maximum font file size in bytes (default 50MB) |\n\n### Running on a Different Port\n\n```bash\n# Linux/macOS\nPORT=3000 ./gofindmyfonts\n\n# Windows (Command Prompt)\nset PORT=3000 \u0026\u0026 gofindmyfonts.exe\n\n# Windows (PowerShell)\n$env:PORT=\"3000\"; .\\gofindmyfonts.exe\n```\n\n### Example with Multiple Options\n\n```bash\n# Run on port 3000 with 8 concurrent workers\nPORT=3000 MAX_CONCURRENT=8 ./gofindmyfonts\n```\n\n## Notes\n\n- The application will automatically open in your default web browser\n- You can manually navigate to `http://localhost:8080` (or your configured port)\n- The application creates `static` and `logs` directories where the executable is launched\n- Font conversions are cached for better performance\n- Directory scans are cached for 30 seconds to improve responsiveness\n\n## Acknowledgments\n\n- Google [WOFF2 Tools](https://github.com/google/woff2) for font conversion","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbradsec%2Fgofindmyfonts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbradsec%2Fgofindmyfonts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbradsec%2Fgofindmyfonts/lists"}