{"id":48753436,"url":"https://github.com/mrtoadie/go-check-cert","last_synced_at":"2026-05-30T23:00:44.546Z","repository":{"id":350928509,"uuid":"1204184038","full_name":"mrtoadie/go-check-cert","owner":"mrtoadie","description":"simple validity checker for website certificates with web dashboard","archived":false,"fork":false,"pushed_at":"2026-05-26T19:41:56.000Z","size":40381,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-26T21:21:19.421Z","etag":null,"topics":["certificates","go","linux","terminal-app"],"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/mrtoadie.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-07T19:13:45.000Z","updated_at":"2026-05-26T19:42:00.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mrtoadie/go-check-cert","commit_stats":null,"previous_names":["mrtoadie/go-check-cert"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/mrtoadie/go-check-cert","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrtoadie%2Fgo-check-cert","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrtoadie%2Fgo-check-cert/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrtoadie%2Fgo-check-cert/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrtoadie%2Fgo-check-cert/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mrtoadie","download_url":"https://codeload.github.com/mrtoadie/go-check-cert/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrtoadie%2Fgo-check-cert/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33712579,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-30T02:00:06.278Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["certificates","go","linux","terminal-app"],"created_at":"2026-04-12T22:58:29.634Z","updated_at":"2026-05-30T23:00:44.541Z","avatar_url":"https://github.com/mrtoadie.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"![assets/header.png](assets/header.png)\n\n# *Stay secure, stay informed*\n![Go](https://img.shields.io/badge/go-%2300ADD8.svg?style=flat\u0026logo=go\u0026logoColor=white) ![GitHub License](https://img.shields.io/github/license/mrtoadie/go-check-cert) ![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/mrtoadie/go-check-cert/total) ![GitHub Release](https://img.shields.io/github/v/release/mrtoadie/go-check-cert) ![GitHub Repo stars](https://img.shields.io/github/stars/mrtoadie/go-check-cert?style=flat\u0026label=Stars)   \n\n**Cert-Checker** is a *privacy-focused* [Go](https://go.dev/) tool that monitors **SSL/TLS certificates** on domains and local files, analyzes expiration dates, and alerts users if any issues are detected.\nIt offers both a powerful **command-line** interface for automation and an interactive **web dashboard**.\n## Latest Release\nMay 30, 2026 [Version 1.4.0](https://github.com/mrtoadie/go-check-cert/releases/tag/v1.4.0)\n\n## Features\n- **Certificate Verification**\n   - Hybrid Scanning: Supports remote domains (https://example.com) and local certificate files (.pem, .crt, .key).\n   - Chain Validation: Verifies certificate chains, detects self-signed certificates, and identifies missing intermediates.\n   - CI/CD Ready: Returns specific exit codes (0=OK, 1=Warning, 2=Error) for integration into pipelines.\n\n- **Interactive Web Dashboard**\n   - Real-Time Visualization: Responsive UI with Dark Mode support.\n   - Filtering: Filter by status, search by domain/issuer, and sort by expiration date.\n   - Auto-Refresh: Configurable background updates (e.g., every 15 mins) to keep data fresh.\n\n- **Security \u0026 Privacy**\n   - Local Storage: No external databases or cloud dependencies required.\n   - HTTPS Dashboard: Built-in support for self-signed or Let's Encrypt certificates to secure the dashboard connection.\n\n- **Automation \u0026 Management**\n   - Cron Job Manager: Built-in interactive CLI to create, list, and remove scheduled scans.\n   - Reporting: Exports detailed JSON reports with timestamps for archival or external processing.\n   - Save Certificates: Download valid certificates (optional)\n\n## Quick Start\n### Build from source\n```bash\ngit clone https://github.com/mrtoadie/go-check-cert.git\ncd go-check-cert\ngo build -o cert-checker\n```\n### Run directly (without build)\n```bash\ngo run .\n```\n### Arch Linux\nInstall from [AUR](https://aur.archlinux.org/packages/cert-checker)\n```bash\nyay -S cert-checker\n```\n### Launch with Dashboard\n```bash\n# Without HTTPS\n./cert-checker -web\n\n# With HTTPS and self-signed certificate\n./cert-checker -web -cert ./certs/cert.pem -key ./certs/key.pem\n```\nOpen http://localhost:8080 or https://localhost:8080 in your browser.\n## Screenshots\n![assets/dashboard_01.png](assets/dashboard_01.png)\n\n![assets/dashboard_02.png](assets/dashboard_02.png)\n\n## Command Line Options\n\n| Flag | Alias | Description |\n| --- | --- | --- |\n| -a | -advanced | Show advanced certificate details |\n| -f | -file\t| Path to a local .pem, .crt, .cer, or .key file |\n| -c | -cron |\tInteractive Cron setup |\n| -dl | -download | Download valid certificates to certs folder |\n| -md | -markdown | Saves results in Markdown format |\n| -ls | -list | List and manage Cron jobs |\n| -l | -log | Show cron job log file |\n| -ci |\t-ci-mode | CI/CD Mode (non-interactive, uses urls.txt) |\n| -w | -web | Start web dashboard on localhost:8080 |\n| -cert | | Path to SSL certificate file (.pem/.crt) |\n| -key | | Path to SSL private key file (.pem) |\n| -h | -help |\tDisplay help message |\n\n## Examples\nCheck a single certificate:\n```bash\n./cert-checker -f ./server.crt\n```\n\nSet up cron job(s):\n```bash\n./cert-checker -c\n```\nList active Cron jobs:\n```bash\n./cert-checker -ls\n```\n## Configuration\nThe tool automatically creates a configuration file on the first run.\n\nLocation: `~/.config/cert-checker/urls.txt`\n\nFormat: One URL per line. Comments starting with # are supported.\n\n## Output Examples\nText Output (Default)\n```bash\n=== RESULTS ===\n\n1. forum.linuxguides.de\n   Days:  44 | Valid: 26.02.26 → 27.05.26\n   Issuer: R12\n------------------------------------\n2. github.com\n   Days:  52 | Valid: 06.03.26 → 03.06.26\n   Issuer: Sectigo Public Server Authentication CA DV E36\n------------------------------------\n=== SUMMARY ===\nOK: 0 | Warn: 2 | Exp: 0 | Err: 0\n```\n\nJSON Output \n```json\n{\n  \"generated_at\": \"2026-05-03T14:47:42Z\",\n  \"total_count\": 1,\n  \"results\": [\n    {\n      \"url\": \"https://github.com\",\n      \"status\": \"OK\",\n      \"days_remaining\": 180,\n      \"is_chain_complete\": true,\n      \"key_algorithm\": \"RSA\",\n      \"key_size\": 2048\n    }\n  ]\n}\n```\n\n## Cron Job Management\nInteractive Menu\n\n```bash\n./cert-checker -cron\n```\n\nOptions:\n\n1. Set up cron job – Create a new automated check\n2. List \u0026 manage jobs – View/delete existing jobs\n3. Exit – Quit the program\n\nList Cron Jobs\n\n```bash\n./cert-checker -list\n``\n\nOutput:\n```bash\n=== CERTIFICATE CHECK CRON JOBS ===\n\n1. # cert-checker - 2026-05-03 14:47:42\n   0 8 * * * /home/user/cert-checker -ci \u003e\u003e /tmp/cert-check.log 2\u003e\u00261\n\n2. # cert-checker - 2026-05-03 15:00:00\n   0 */6 * * * /home/user/cert-checker -ci \u003e\u003e /tmp/cert-check.log 2\u003e\u00261\n\nTotal: 2 job(s) found.\n```\n\n#### Delete Individual Jobs\n- Run ./cert-checker -list\n- Select \"Delete individual jobs\"\n- Mark jobs with Spacebar\n- Confirm with Enter\n\n## Usage\nThe input is interactive and automatically detects the correct format.\n\n- Press **Enter** to use the default list of URLs (~/.config/cert-checker/urls.txt)\n\n- To check individual URLs: *github.com* or *github.com*, *ubuntu.com*, *example.org*\n\n- Check local certificate file: '~/github.pem'\n\n- Certificate files can also be checked using a flag: cert-checker --file ~/github.pem\n\nCertificate files with the following extensions work: .pem, .cer, .crt, .key\n\n## Tested on\n:white_check_mark: [Arch Linux](https://archlinux.org/)\n\n:white_check_mark: [Solus](https://getsol.us/)\n\n:white_check_mark: WSL2 (Ubuntu)\n\n## License\ngo-check-cert is licensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrtoadie%2Fgo-check-cert","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrtoadie%2Fgo-check-cert","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrtoadie%2Fgo-check-cert/lists"}