{"id":13545731,"url":"https://github.com/srvrco/checkssl","last_synced_at":"2025-09-23T13:22:07.318Z","repository":{"id":130400936,"uuid":"47462167","full_name":"srvrco/checkssl","owner":"srvrco","description":"checks ssl certs for a set of domains","archived":false,"fork":false,"pushed_at":"2019-03-20T17:05:19.000Z","size":69,"stargazers_count":97,"open_issues_count":0,"forks_count":39,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-06T19:38:31.664Z","etag":null,"topics":["check","expiry","renewal","ssl","ssl-certificates","ssl-support","test-automation","validate"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/srvrco.png","metadata":{"files":{"readme":"README","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}},"created_at":"2015-12-05T15:58:03.000Z","updated_at":"2025-02-14T20:00:46.000Z","dependencies_parsed_at":"2023-06-26T10:16:36.999Z","dependency_job_id":null,"html_url":"https://github.com/srvrco/checkssl","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/srvrco/checkssl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srvrco%2Fcheckssl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srvrco%2Fcheckssl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srvrco%2Fcheckssl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srvrco%2Fcheckssl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/srvrco","download_url":"https://codeload.github.com/srvrco/checkssl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srvrco%2Fcheckssl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276582346,"owners_count":25667857,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-23T02:00:09.130Z","response_time":73,"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":["check","expiry","renewal","ssl","ssl-certificates","ssl-support","test-automation","validate"],"created_at":"2024-08-01T11:01:12.722Z","updated_at":"2025-09-23T13:22:07.302Z","avatar_url":"https://github.com/srvrco.png","language":"Shell","readme":"With the good work by \"Let’s Encrypt\" in providing free SSL certs for users, I wanted a quick way to check all the domains I look after to determine which ones have correct SSL certs, and which ones are in need of updating etc. \n\nThis bash file is the first draft of a program to do that.  It can either be run against a list of file names, from the directories in your Lets Encrypt live directory or on a single server with  the aim of getting all the domain names from the server.   \n\nThe output looks like:\n\nDomain       cert for     valid until            cert issued by    possible issues?\ndomain1.com  domain1.com  Dec 22 09:19:00 2016   Let's Encrypt   - certificate near renewal date\ndomain2.com  domain2.com  Dec 22 11:42:00 2016   Let's Encrypt   - certificate near renewal date\ndomain3.net  domain3.net  Mar  4 10:10:00 2016   Let's Encrypt \ndomain4.net  domain1.net  Mar  2 12:23:00 2016   Let's Encrypt   - possible name mismatch\n\n\nYou can also get a list of domains that need to be renewed, to list the domains requiring renewal in the nest 20 days;\n\ncheckssl -l /etc/letsencrypt/live/ -e 20 -r \ndomain7.com\ndomain12.com\n\nYou can also get it to run a specific command if domains need renewal, for example \n\ncheck -i ISPconfig -e 20 -c ~/scripts/renewssl\n\nwill run the renewssl command with the domain name passed as an argument.   If there are more than one domain that needs renewal it will call the command multiple times.   This can then easily be run as a cron to regularly check and update SSL certs.\n\n\nrunning checkssl with no arguments gives help;\n\ncheckssl ver. 1.15\nChecks ssl certs for a set of domains\n\nUsage: checkssl [-h|--help] [-d|--debug] [-f|--file filename] [-s|--server stype] [-l|--location directory] \n                [-e|--expires days] [-r|--renew] [-u|--update] [-U|--nocheck] [-c|--command command] [domain]\n\nOptions:\n  -h, --help      Display this help message and exit.\n  -d, --debug     Outputs debug information\n  -f, --file  filename\n                  Where 'filename' is a file containing a list of domain names\n  -s, --server server_type\n                  Where 'server_type' is the server type (cpanel, ISPconfig, apache2 ...)\n  -l, --location directory\n                  Where 'directory' is where your lets encrypt live directory is\n                  (typically /etc/letsencrypt/live/)\n  -e, --expires days\n                  Where 'days' is the number of days to alert if cert expires in that time period\n  -r, --renew     This just lists domain names that need to be renewed.\n                  This list could be used by an auto renew script, or to email you.\n  -p, --problems  This just lists the domains that have possible issues.\n                  This list could be used to email you only if there is something to take care of.\n  -u, --upgrade   Upgrade checkssl if a more recent version is available\n  -U, --nocheck   Do not check if a more recent version is available\n  -c, --command run_command\n                  Where 'run_command' is a command which will be run (with domain name passed)\n                  for any certs due for renewal\n\n                  A domain name can also be specified on the command line\n\n\n\nIf a file is provided, with a list of domains then each domain can include a port / service for testing i.e.\n\nexample.com\nexample.com:pop3s\nexample.com:587\n","funding_links":[],"categories":["Shell"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrvrco%2Fcheckssl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsrvrco%2Fcheckssl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrvrco%2Fcheckssl/lists"}