{"id":39496276,"url":"https://github.com/nekrassov01/tlc3","last_synced_at":"2026-04-19T14:11:47.037Z","repository":{"id":208558992,"uuid":"721418137","full_name":"nekrassov01/tlc3","owner":"nekrassov01","description":"TLS cert checker CLI","archived":false,"fork":false,"pushed_at":"2024-12-13T05:16:40.000Z","size":73,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-18T15:18:17.917Z","etag":null,"topics":["cert","cli","go","golang","tableview","tls"],"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/nekrassov01.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-11-21T02:41:16.000Z","updated_at":"2024-12-28T17:28:40.000Z","dependencies_parsed_at":"2023-12-11T02:41:06.244Z","dependency_job_id":"0a1cc9a0-6bba-40ce-aad9-d4fb88b550a6","html_url":"https://github.com/nekrassov01/tlc3","commit_stats":null,"previous_names":["nekrassov01/tlc3"],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/nekrassov01/tlc3","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nekrassov01%2Ftlc3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nekrassov01%2Ftlc3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nekrassov01%2Ftlc3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nekrassov01%2Ftlc3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nekrassov01","download_url":"https://codeload.github.com/nekrassov01/tlc3/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nekrassov01%2Ftlc3/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28756433,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T16:32:25.380Z","status":"ssl_error","status_checked_at":"2026-01-25T16:32:09.189Z","response_time":113,"last_error":"SSL_read: 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":["cert","cli","go","golang","tableview","tls"],"created_at":"2026-01-18T05:42:38.148Z","updated_at":"2026-04-19T14:11:47.024Z","avatar_url":"https://github.com/nekrassov01.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ch2 align=\"center\"\u003eTLC3\u003c/h2\u003e\n  \u003cp align=\"center\"\u003eTLS cert checker CLI\u003c/p\u003e\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/nekrassov01/tlc3/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://github.com/nekrassov01/tlc3/actions/workflows/ci.yml/badge.svg?branch=main\" alt=\"CI\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://pkg.go.dev/github.com/nekrassov01/tlc3\"\u003e\u003cimg src=\"https://pkg.go.dev/badge/github.com/nekrassov01/tlc3.svg\" alt=\"Go Reference\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://goreportcard.com/report/github.com/nekrassov01/tlc3\"\u003e\u003cimg src=\"https://goreportcard.com/badge/github.com/nekrassov01/tlc3\" alt=\"Go Report Card\" /\u003e\u003c/a\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/nekrassov01/tlc3\" alt=\"LICENSE\" /\u003e\n    \u003ca href=\"https://deepwiki.com/nekrassov01/tlc3\"\u003e\u003cimg src=\"https://deepwiki.com/badge.svg\" alt=\"Ask DeepWiki\" /\u003e\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n## Overview\n\nThis is a small, simple CLI tool that allows you to quickly retrieve HTTPS certificate information from multiple sites.\n\n## Features\n\n- Retrieve information from multiple certificates concurrency\n- Supports diverse output formats (ASCII table, JSON, TSV)\n- Flexible configuration\n  - Time zone\n  - Connection timeout\n  - Minimum TLS version\n  - Verification skip\n- Pass connection address information via file\n- Support [SSLKEYLOGFILE](https://datatracker.ietf.org/doc/draft-ietf-tls-keylogfile/)\n\n## Usage\n\n```text\nNAME:\n   tlc3 - TLS cert checker CLI\n\nUSAGE:\n   tlc3 [global options]\n\nVERSION:\n   0.0.0 (revision: xxxxxxx)\n\nDESCRIPTION:\n   CLI application for checking TLS certificate informations\n\nGLOBAL OPTIONS:\n   --log-level string, -l string                                set log level (default: \"INFO\") [$TLC3_LOG_LEVEL]\n   --address string, -a string [ --address string, -a string ]  domain:port separated by commas\n   --file string, -f string                                     path to newline-delimited list of addresses\n   --output string, -o string                                   set output type (default: \"text\") [$TLC3_OUTPUT_TYPE]\n   --timeout duration, -t duration                              set network timeout duration (default: 5s) [$TLC3_TIMEOUT]\n   --insecure, -i                                               skip verification of the cert chain and host name\n   --static, -s                                                 hide fields related to the current time in table output\n   --timezone string, -z string                                 time zone for datetime fields (default: \"Local\") [$TLC3_TIMEZONE]\n   --tls-version string, -m string                              tls minimum version to use (default: \"1.2\") [$TLC3_TLS_VERSION]\n   --help, -h                                                   show help\n   --version, -v                                                print the version\n```\n\n## Example\n\n```bash\n# Pass domains separated by commas. Return in JSON by default\ntlc3 -a example.com,www.example.com\n\n# Pass by file path of newline-delimited list of domains.\ntlc3 -f ./list.txt\n\n# Return in non-escape text format table\ntlc3 -a example.com,www.example.com -o table\n\n# Return in markdown format table\ntlc3 -a example.com,www.example.com -o markdown\n\n# Return in backlog format table\ntlc3 -a example.com,www.example.com -o backlog\n\n# Hide fields related to the current time. Ignored for JSON format\ntlc3 -a example.com,www.example.com -o markdown -n\n\n# Override timeout value for TLS connection and IP lookup. Default is 5 seconds\ntlc3 -a example.com,www.example.com -t 10s\n\n# Change timezone from local to specified location\ntlc3 -a example.com,www.example.com -z \"Asia/Tokyo\"\n\n# Change TLS minimum version\ntlc3 -a example.com,www.example.com -m \"1.3\"\n```\n\n## Benchmark\n\n[A quick benchmark](./benchmark_test.go) after improvement using connection pool\n\n```text\n$ make bench\ngo test -bench . -benchmem -count 5 -benchtime 10000x -cpuprofile cpu.prof -memprofile mem.prof .\ngoos: darwin\ngoarch: arm64\npkg: github.com/nekrassov01/tlc3\ncpu: Apple M2\nBenchmark_Single-8         10000               857.9 ns/op          1176 B/op         16 allocs/op\nBenchmark_Single-8         10000               845.2 ns/op          1177 B/op         16 allocs/op\nBenchmark_Single-8         10000               923.5 ns/op          1176 B/op         16 allocs/op\nBenchmark_Single-8         10000               889.3 ns/op          1176 B/op         16 allocs/op\nBenchmark_Single-8         10000               918.0 ns/op          1176 B/op         16 allocs/op\nBenchmark_Multiple-8       10000              6199 ns/op            2794 B/op         38 allocs/op\nBenchmark_Multiple-8       10000              5662 ns/op            2770 B/op         38 allocs/op\nBenchmark_Multiple-8       10000              5776 ns/op            2770 B/op         38 allocs/op\nBenchmark_Multiple-8       10000              5746 ns/op            2770 B/op         38 allocs/op\nBenchmark_Multiple-8       10000              5745 ns/op            2770 B/op         38 allocs/op\nPASS\nok      github.com/nekrassov01/tlc3     6.502s\n```\n\n## Warning\n\n`--insecure`,`-i` option can be used to skip verification of the certificate chain and host name. However, this risks exposure to man-in-the-middle attacks and should not be used unless it is clear that there is no problem.\n\nIf this option is used, y/n must be returned for the next question.\n\n```bash\n$ tlc3 -a example.com,www.example.com -i\n? [WARNING] insecure flag skips verification of the certificate chain and hostname. skip it? [y/N]\n```\n\nIf automation is required, this restriction can be removed by setting the environment variable.\n\n```bash\nexport TLC3_NON_INTERACTIVE=true\n```\n\nThe same applies when the minimum TLS version is set to 1.1 or lower using the `--tls-version` `-m` flag.\n\n```bash\n$ tlc3 -a example.com,www.example.com -m 1.1\n? [WARNING] We recommend using TLS version 1.2 or higher. Do you wish to proceed despite the risk? [y/N]\n```\n\n## Installation\n\nInstall with homebrew\n\n```sh\nbrew install nekrassov01/tap/tlc3\n```\n\nInstall with go\n\n```sh\ngo install github.com/nekrassov01/tlc3\n```\n\nOr download binary from [releases](https://github.com/nekrassov01/tlc3/releases)\n\n## Shell completion\n\nSupported Shells are as follows:\n\n- bash\n- zsh\n- fish\n- pwsh\n\n```sh\ntlc3 completion bash|zsh|fish|pwsh\n```\n\n## Author\n\n[nekrassov01](https://github.com/nekrassov01)\n\n## License\n\n[MIT](https://github.com/nekrassov01/tlc3/blob/main/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnekrassov01%2Ftlc3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnekrassov01%2Ftlc3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnekrassov01%2Ftlc3/lists"}