{"id":20548251,"url":"https://github.com/mickekring/kringping","last_synced_at":"2025-05-09T15:30:49.755Z","repository":{"id":90793474,"uuid":"367927592","full_name":"mickekring/KringPing","owner":"mickekring","description":"Checks whether your sites are up or down, logs and sends e-mail. Comes with web front end.","archived":true,"fork":false,"pushed_at":"2022-12-10T16:49:43.000Z","size":66,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-06T05:25:23.097Z","etag":null,"topics":["python","python3","requests","sftp","tinydb"],"latest_commit_sha":null,"homepage":"","language":"Python","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/mickekring.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-16T16:05:28.000Z","updated_at":"2024-04-20T14:45:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"a47cacef-152b-4daf-9868-3ec3df2119a0","html_url":"https://github.com/mickekring/KringPing","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/mickekring%2FKringPing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mickekring%2FKringPing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mickekring%2FKringPing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mickekring%2FKringPing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mickekring","download_url":"https://codeload.github.com/mickekring/KringPing/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253275588,"owners_count":21882328,"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":["python","python3","requests","sftp","tinydb"],"created_at":"2024-11-16T02:12:44.457Z","updated_at":"2025-05-09T15:30:49.720Z","avatar_url":"https://github.com/mickekring.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kring Ping Site checker\nIt's a Python script that checks whether your sites are up or down\n\n## What's this?\nThis project is using the Python requests module to connect to your site (or sites) and check if your site(s) is up or down, and if down - logs this to a TinyDB database and e-mails you. It also updates a web page front end with basic info.\u003cbr /\u003e\nI run the script on a Raspberry Pi, uploading the php-files the script generates to my web server.\u003cbr /\u003e\u003cbr /\u003e\n__Disclaimer!__ I'm just a cowboy builder when it comes to coding. I'm not a coder, just a tinkerer. As long as it works...\n\n![kringping](https://user-images.githubusercontent.com/10948066/206173987-1fcd03cc-7677-4dd5-87ce-94f4610a25ad.jpg)\n\n## Flow\n1. The script tries to connect to your site (or sites) if it's connected to the internet.\n2. If site(s) is down - it logs the site with the error in the database and sends you an e-mail.\n4. PHP page status.php is updated and sent via sftp to your server.\n5. Repeat.\n6. If site(s) that have been down is up again, script logs that to the databaase and sends you an e-mail.\n\n## Requirements\n\n### Python 3.x\n\n__Modules__\n\npip3 install\u003cbr /\u003e\npyyaml, tinydb, email, smtplib, paramiko\n\n__Web site and server__\n\nYou need a domain and a web server that the script can upload the frontend php-files to, via sftp.\u003cbr /\u003e\n\n## Setup\n\n1. Save the files main.py, config.xml and the folder named 'web', containing the file 'status.php' on the machine that will be running the script. \n2. Upload the files index.php and style.css to your web server.\n3. Edit config.xml and add your info such as file paths, sftp- and e-mail account and more.\n4. Run ping.py\n\n# Changelog\n\n### v 2.0.0 | Dec 7 2022\nRewritten version of the script.\n\n### v 1.1.2 | May 26 2021\nBug fix - frontend showing latest errors displayed the last errored url on all three lines.\n\n### v 1.1.1 | May 22 2021\nMinor updates. \n\n### v 1.1 | May 17 2021\nUpdated mainping.py and moved server paths and sites to monitor to credentials.xml\n\n### v 1.0 | May 16 2021\nInitial upload. Everything works as the flow above describes.\u003cbr /\u003e\nThis README.md lacks a lot. :) \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmickekring%2Fkringping","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmickekring%2Fkringping","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmickekring%2Fkringping/lists"}