Internet Monitor
C 61 completedPipeline State
completedPipeline Metadata
🧪 Code Distillation
Browse all specs →mainVPSMonitor.runVPSMonitor._check_loopAI Prompt
Catalog Information
The jowtron__internet-monitor project is a two-component system designed to monitor home internet connectivity and send notifications about outages.
Description
This project consists of two main components: NAS Monitor and VPS Monitor. The NAS Monitor pings DNS servers every 30 seconds, logs the results to daily CSV files, and sends heartbeats to the VPS over Tailscale. If no heartbeats are received for 3 minutes, the VPS Monitor sends a 'DOWN' notification via ntfy. When heartbeats resume, it sends a 'RESTORED' notification with outage duration.
الوصف
هذا المشروع يتألف من مكونين رئيسيين: مراقب NAS ومراقب VPS. يرسل مراقب NAS ping إلى خوادم DNS كل 30 ثانية، ويحتفظ بالنتائج في ملفات CSV اليومية، ويرسل نبضات القلب إلى VPS عبر Tailscale. إذا لم يتم استقبال أي نبضات قلب خلال 3 دقائق، فإن مراقب VPS يرسل إشعار 'DOWN' عبر ntfy.
Novelty
7/10Tags
Claude Models
Quality Score
Strengths
- CI/CD pipeline configured (github_actions)
- Consistent naming conventions (snake_case)
- Good security practices \u2014 no major issues detected
- Containerized deployment (Docker)
- Properly licensed project
Weaknesses
- No tests found \u2014 high risk of regressions
- 103 duplicate lines detected \u2014 consider DRY refactoring
- 2 'god files' with >500 LOC need decomposition
Recommendations
- Add a test suite \u2014 start with critical path integration tests
- Add a linter configuration to enforce code style consistency
Security & Health
Languages
Frameworks
Symbols
API Endpoints (12)
| Method | Path | Handler | Framework | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Repobility · code-quality intelligence · https://repobility.com | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | / | dashboard | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /api/events | receive_events | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/history | get_history | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/incidents | get_incidents | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/summary | get_summary | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /dashboard | dashboard | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /health | health | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /heartbeat | heartbeat | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /outage | outage_report | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /speedtest | speedtest | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /status | status | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /trigger-speedtest | trigger_speedtest | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concepts (1)
| Category | Name | Description | Confidence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Source: Repobility analyzer · https://repobility.com | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| auto_category | Automation | automation | 60% | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Embed Badge
Add to your README:
