{"id":17300872,"url":"https://github.com/chtjonas/uptime-mon","last_synced_at":"2025-07-05T10:34:55.927Z","repository":{"id":64318849,"uuid":"427120298","full_name":"CHTJonas/uptime-mon","owner":"CHTJonas","description":"Monitors the uptime of your websites and HTTP APIs!","archived":false,"fork":false,"pushed_at":"2023-03-10T00:52:39.000Z","size":53,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-05T03:41:24.427Z","etag":null,"topics":["alerting","application-monitoring","go","golang","http","monitoring","uptime","uptime-monitor","uptime-monitoring","website-monitoring"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CHTJonas.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}},"created_at":"2021-11-11T19:34:19.000Z","updated_at":"2024-10-17T22:25:56.000Z","dependencies_parsed_at":"2023-12-08T10:47:48.329Z","dependency_job_id":null,"html_url":"https://github.com/CHTJonas/uptime-mon","commit_stats":{"total_commits":24,"total_committers":1,"mean_commits":24.0,"dds":0.0,"last_synced_commit":"a6b976f01342fb9adf875d0c0fcb9a20ae5e6b0e"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CHTJonas%2Fuptime-mon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CHTJonas%2Fuptime-mon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CHTJonas%2Fuptime-mon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CHTJonas%2Fuptime-mon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CHTJonas","download_url":"https://codeload.github.com/CHTJonas/uptime-mon/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236615467,"owners_count":19177564,"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":["alerting","application-monitoring","go","golang","http","monitoring","uptime","uptime-monitor","uptime-monitoring","website-monitoring"],"created_at":"2024-10-15T11:30:44.587Z","updated_at":"2025-07-05T10:34:55.921Z","avatar_url":"https://github.com/CHTJonas.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Uptime Monitor\n\nuptime-mon is a small application written in Go that contacts your HTTP services and ensures they're working correctly. It sends a request and checks that the response matches the criteria you set based on a combination of request time, status code, headers and body content. Tests can be made over IPv4, IPv6 or both, and alerting is via Slack.\n\n## Usage\n\nuptime-mon loads its configuration settings by looking for a `config.yml` file in either `/etc/uptime-mon/`, `$HOME/.config/uptime-mon/` or the current working directory in that order of precedence. An example of a config file is included below:\n\n```yaml\nsettings:\n  slack-webhook: https://hooks.slack.com/services/foo/bar\n\ntests:\n  - name: Google homepage\n    url: https://www.google.co.uk/\n    method: GET\n    max-response-time: 3000\n    notify-error-count: 4\n    status-code: 200\n    header-regexps:\n      Content-Type: text\\/html; charset=ISO-8859-1\n      Set-Cookie: .*\n    content-regexp: Google Search\n    network: tcp4\n```\n\nThe contents of headers are matched based on standard regular expressions, ditto the response body. Note that sometimes you may need to use quotation marks to force the YAML parser to interpret a particular value as a string. The `network` field allows you to specify whether you want to run the test over IPv4 (`tcp4`), IPv6 (`tcp6`), both (`both`) or use [Happy Eyeballs](https://en.wikipedia.org/wiki/Happy_Eyeballs) (leave blank).\n\n## Installation\n\nPre-built binaries for a variety of operating systems and architectures are available to download from [GitHub Releases](https://github.com/CHTJonas/uptime-mon/releases). If you wish to compile from source then you will need a suitable [Go toolchain installed](https://golang.org/doc/install). After that just clone the project using Git and run Make! Cross-compilation is easy in Go so by default we build for all targets and place the resulting executables in `./bin`:\n\n```bash\ngit clone https://github.com/CHTJonas/uptime-mon.git\ncd uptime-mon\nmake clean \u0026\u0026 make all\n```\n\n## Copyright\n\nuptime-mon is licensed under the [BSD 2-Clause License](https://opensource.org/licenses/BSD-2-Clause).\n\nCopyright (c) 2021 Charlie Jonas.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchtjonas%2Fuptime-mon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchtjonas%2Fuptime-mon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchtjonas%2Fuptime-mon/lists"}