{"id":25949747,"url":"https://github.com/jplaskota/dripping","last_synced_at":"2026-05-07T01:03:30.078Z","repository":{"id":280361053,"uuid":"941706554","full_name":"jplaskota/dripping","owner":"jplaskota","description":"Dripping monitors your IP address and sends Discord alerts when it changes","archived":false,"fork":false,"pushed_at":"2025-03-10T23:00:31.000Z","size":4812,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-10T23:28:51.329Z","etag":null,"topics":["docker","go","proxmox","shell"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jplaskota.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-02T22:38:08.000Z","updated_at":"2025-03-10T23:00:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"a978cc44-ee0f-4aac-9a6e-9bc7dacb7ada","html_url":"https://github.com/jplaskota/dripping","commit_stats":null,"previous_names":["jplaskota/dripping"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/jplaskota/dripping","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jplaskota%2Fdripping","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jplaskota%2Fdripping/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jplaskota%2Fdripping/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jplaskota%2Fdripping/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jplaskota","download_url":"https://codeload.github.com/jplaskota/dripping/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jplaskota%2Fdripping/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259787546,"owners_count":22911230,"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":["docker","go","proxmox","shell"],"created_at":"2025-03-04T12:28:54.993Z","updated_at":"2026-05-07T01:03:30.048Z","avatar_url":"https://github.com/jplaskota.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dripping\n\nDripping is a lightweight IP monitor written in Go that tracks your public IP address and sends Discord notifications when it changes. It compares the current IP (fetched from ifconfig.co) with the expected IP specified in a JSON configuration file.\n\n## Features\n\n- Fetches current IP from [ifconfig.co](https://ifconfig.co)\n- Compares fetched IP with the expected IP from `config.json`\n- Sends Discord notifications when the IP changes or returns to the expected state\n- Checks your IP every 5 minutes\n- Persists state in a JSON file for consistency across restarts\n\n## Configuration\n\nConfigure Dripping with a JSON file (`config.json`):\n\n| Parameter | Type | Description | Example |\n|-----------|------|-------------|--------|\n| `expected_ip` | String | Your expected network IP address | `\"203.0.113.1\"` |\n| `discord_webhook_url` | String | Discord webhook URL for notifications | `\"https://discord.com/api/webhooks/your_webhook_id/your_webhook_token\"` |\n| `check_interval` | Integer | IP check frequency (minutes) | `5` |\n| `change_message` | String | Alert when IP changes (use `%s` for IP and timestamp) | `\"Warning: IP changed! Current IP: %s at %s\"` |\n| `restore_message` | String | Alert when IP returns to expected (use `%s` for IP and timestamp) | `\"Info: IP returned to expected state (%s) at %s\"` |\n\nExample configuration:\n\n```json\n{\n  \"expected_ip\": \"203.0.113.1\",\n  \"discord_webhook_url\": \"https://discord.com/api/webhooks/your_webhook_id/your_webhook_token\",\n  \"check_interval\": 5,\n  \"change_message\": \"Warning: IP changed! Current IP: %s at %s\",\n  \"restore_message\": \"Info: IP returned to expected state (%s) at %s\"\n}\n```\n\n## Installation\n\nInstall Dripping with a single command:\n\n```bash\ncurl -sSL https://github.com/jplaskota/dripping/raw/main/dripping_install.sh | bash\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjplaskota%2Fdripping","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjplaskota%2Fdripping","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjplaskota%2Fdripping/lists"}