{"id":16549904,"url":"https://github.com/shaftoe/sslexpired","last_synced_at":"2025-08-24T13:40:56.249Z","repository":{"id":137705153,"uuid":"83990936","full_name":"shaftoe/sslexpired","owner":"shaftoe","description":"An HTTP(S) service to check if an SSL certificate will expire soon","archived":false,"fork":false,"pushed_at":"2017-03-06T09:27:02.000Z","size":11,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-14T19:14:03.305Z","etag":null,"topics":["faas","openwhisk-getting-started","serverless","ssl"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shaftoe.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2017-03-05T18:04:16.000Z","updated_at":"2018-04-10T17:48:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"e7f5dca4-8a78-4b89-a70f-07ee25ad34b3","html_url":"https://github.com/shaftoe/sslexpired","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shaftoe%2Fsslexpired","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shaftoe%2Fsslexpired/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shaftoe%2Fsslexpired/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shaftoe%2Fsslexpired/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shaftoe","download_url":"https://codeload.github.com/shaftoe/sslexpired/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241869961,"owners_count":20034186,"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","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":["faas","openwhisk-getting-started","serverless","ssl"],"created_at":"2024-10-11T19:32:05.643Z","updated_at":"2025-03-04T15:24:34.280Z","avatar_url":"https://github.com/shaftoe.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sslexpired: an HTTP(S) service to check if an SSL certificate will expire soon\n[![Build Status](https://travis-ci.org/shaftoe/sslexpired.svg?branch=master)](https://travis-ci.org/shaftoe/sslexpired)\n[![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0)\n[![Go Report Card](https://goreportcard.com/badge/github.com/shaftoe/sslexpired)](https://goreportcard.com/report/github.com/shaftoe/sslexpired)\n[![Issue Count](https://codeclimate.com/github/shaftoe/sslexpired/badges/issue_count.svg)](https://codeclimate.com/github/shaftoe/sslexpired)\n\n[_sslexpired_][5] is a small [serverless][4] project written in [Go][1] for the [OpenWhisk][2] platform to quickly verify if an SSL certificate hosted at `https://\u003cyour_domain_here\u003e` is going to expire any soon.\n\n## Usage\n\nBy default, response will contain an `alert:true` key if the certificate is expiring in less then 30 days (or if the host is not mentioned between the valid ones):\n\n    $ curl https://sslexpired.info/google.com\n    {\n      \"notAfter\": \"2017-05-17 08:58:00 +0000 UTC\",\n      \"daysTolerance\": 30,\n      \"host\": \"google.com\",\n      \"response\": \"SSL certificate for google.com will expire in 72 days\",\n      \"validHosts\": [\"*.android.com\", [...cut...],\n      \"daysLeft\": 72\n    }\n\nThe `days` parameter can be used to tweak the check tolerance, for example this request will alert because the certificate is expiring in 72 days and we ask for at least 100 days of validity:\n\n    $ curl https://sslexpired.info/google.com?days=100\n    {\n      \"notAfter\": \"2017-05-17 08:58:00 +0000 UTC\",\n      \"daysTolerance\": 100,\n      \"alert\": true,\n      \"host\": \"google.com\",\n      \"response\": \"SSL certificate for google.com will expire in 72 days\",\n      \"validHosts\": [\"*.android.com\", [...cut...],\n      \"daysLeft\": 72\n    }\n\n## Current limitations\n\n- checks for expiration timestamp only, doesn't actual verify SSL validity\n- only DNS names supported (i.e. no IP addresses)\n\n## Develop on OpenWhisk\n\nFetch the development environment installing [OpenWhisk development Vagrant box][3] and set up credentials for `wsk` tool as suggested\n\n### Deploy sslexpired action and api gateway\n\n    $ ./build.sh create\n    # ... edit code ...\n    $ ./build.sh update\n\n### Invoke sslexpired action\n\n    $ ./build.sh run \u003cproject_name\u003e\n\nor fetch the api URL and use an http client\n\n    $ wsk -i api-experimental list /sslexpired\n    $ curl \u003chttps url\u003e/?project=\u003cproject_name\u003e\n\n### Destroy sslexpired\n\n    $ ./build.sh delete\n\n[1]: https://golang.org/ \"Go\"\n[2]: http://openwhisk.org/ \"OpenWhisk\"\n[3]: https://github.com/openwhisk/openwhisk#quick-start \"OpenWhisk devel quick start\"\n[4]: https://en.wikipedia.org/wiki/Serverless_computing\n[5]: https://sslexpired.info/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshaftoe%2Fsslexpired","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshaftoe%2Fsslexpired","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshaftoe%2Fsslexpired/lists"}