{"id":18388552,"url":"https://github.com/jmcph4/dms","last_synced_at":"2025-04-12T04:25:33.232Z","repository":{"id":26265046,"uuid":"29712327","full_name":"jmcph4/dms","owner":"jmcph4","description":"dms is a dead man's switch for Windows.","archived":false,"fork":false,"pushed_at":"2015-01-23T02:24:14.000Z","size":108,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-16T00:44:46.602Z","etag":null,"topics":["c-plus-plus","cpp","dms","security","tool"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jmcph4.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-23T02:23:18.000Z","updated_at":"2015-01-23T02:27:09.000Z","dependencies_parsed_at":"2022-08-26T17:30:25.581Z","dependency_job_id":null,"html_url":"https://github.com/jmcph4/dms","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmcph4%2Fdms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmcph4%2Fdms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmcph4%2Fdms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmcph4%2Fdms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jmcph4","download_url":"https://codeload.github.com/jmcph4/dms/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248515422,"owners_count":21117174,"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":["c-plus-plus","cpp","dms","security","tool"],"created_at":"2024-11-06T01:34:47.571Z","updated_at":"2025-04-12T04:25:33.202Z","avatar_url":"https://github.com/jmcph4.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dms - The Dead Man's Switch #\n---\n\ndms is a dead man's switch for Windows. I was inspired to write it by [an article](http://blog.viktorpetersson.com/post/108852454049/a-dead-mans-switch-for-your-computer) I found while on [Hacker News](https://news.ycombinator.com/item?id=8931735).\n\nBasically, it accepts two arguments from the command line - the path to the \"canary file\" (as I call it) and an unsigned integer representing the number of seconds to wait after each check (inversely proportional to your paranoia) - like so:\n\n`dms canaryfile seconds`\n\nFor example, check for the file `foo.txt` every `5` seconds:\n\n`dms foo.txt 5`\n\nIt makes use of the Win32 API, so factor that in if you're playing with the code. Although, this is very simple to do with pretty much any programming language worth learning.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmcph4%2Fdms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjmcph4%2Fdms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmcph4%2Fdms/lists"}