{"id":37151302,"url":"https://github.com/lpredova/njuhalo","last_synced_at":"2026-01-14T17:52:26.317Z","repository":{"id":55618658,"uuid":"92230933","full_name":"lpredova/njuhalo","owner":"lpredova","description":"🐶 Customizable njuskalo.hr watcher","archived":false,"fork":false,"pushed_at":"2020-12-17T20:21:26.000Z","size":146249,"stargazers_count":26,"open_issues_count":3,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-06-19T02:04:27.224Z","etag":null,"topics":["go","golang","parser","watcher"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lpredova.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}},"created_at":"2017-05-23T23:52:59.000Z","updated_at":"2023-11-14T14:03:16.000Z","dependencies_parsed_at":"2022-08-15T04:40:15.735Z","dependency_job_id":null,"html_url":"https://github.com/lpredova/njuhalo","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/lpredova/njuhalo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lpredova%2Fnjuhalo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lpredova%2Fnjuhalo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lpredova%2Fnjuhalo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lpredova%2Fnjuhalo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lpredova","download_url":"https://codeload.github.com/lpredova/njuhalo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lpredova%2Fnjuhalo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28428963,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T16:38:47.836Z","status":"ssl_error","status_checked_at":"2026-01-14T16:34:59.695Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["go","golang","parser","watcher"],"created_at":"2026-01-14T17:52:25.638Z","updated_at":"2026-01-14T17:52:26.309Z","avatar_url":"https://github.com/lpredova.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"new(/njuː/)halo\n===========\n\nNjuhalo is watcher written in Go. \nIt watches croatian online store [njuskalo](https://www.njuskalo.hr) and\nnotifies owner for new occurrences of wanted items that match filters in config.\n\nIt supports mailgun and slack notifications at the moment.\n\n## Usage\nClone the repository !\n\n```bash\n$ git clone git@github.com:lpredova/njuhalo.git\n```\n\nBuild the executable:\n \n```bash\n$ go build\n```\n\nor build it for specific architecture\n```\nenv GOOS=target-OS GOARCH=target-architecture go build\n\n```\nwhere target-OS and target-architecture can be: \n\n```\nGOOS - Target Operating System\tGOARCH - Target Platform\nandroid\tarm\ndarwin\t386\ndarwin\tamd64\ndarwin\tarm\ndarwin\tarm64\ndragonfly\tamd64\nfreebsd\t386\nfreebsd\tamd64\nfreebsd\tarm\nlinux\t386\nlinux\tamd64\nlinux\tarm\nlinux\tarm64\nlinux\tppc64\nlinux\tppc64le\nlinux\tmips\nlinux\tmipsle\nlinux\tmips64\nlinux\tmips64le\nnetbsd\t386\nnetbsd\tamd64\nnetbsd\tarm\nopenbsd\t386\nopenbsd\tamd64\nopenbsd\tarm\nplan9\t386\nplan9\tamd64\nsolaris\tamd64\nwindows\t386\nwindows\tamd64\n````\n\nRun it:\n```bash\n$ ./njuhalo\n```\n\nOr you can copy it to /usr/local/bin/ to make it global:\n\n```bash\n$ cp njuhalo /usr/local/bin/\n```\n\nNow you can use it from anywhere by running from your cmd:\n\n```bash\n$ njuhalo\n```\n\n```bash\nNAME:\n   njuhalo - Watcher for Njuskalo.hr items\n\nUSAGE:\n   njuhalo [global options] command [command options] [arguments...]\n\nVERSION:\n   1.0.2\n\nAUTHOR:\n   Lovro Predovan \u003clovro.predovan[at]gmail.com\u003e\n\nCOMMANDS:\n     init, initialize, i  initialize configuration and database file in home dir\n     start, serve, s      start monitoring njuskalo for items\n     add, query, a        adds query to watch to config\n     clean, clear, c      clears all query from config\n     print, p             Prints currently active config file\n     list, l              lists currently saved items\n     parse, r             Runs parser only once\n     help, h              Shows a list of commands or help for one command\n\nGLOBAL OPTIONS:\n   --config value, --con value  PATH to config file (default: \"$HOME/.njuhalo/config.json\")\n   --help, -h                   show help\n   --version, -v                print the version\n\n```\n\n\nYou need to configure your watcher how often do you want to run it.\nSupported alerting channels are email and slack.\n\nYou can customize queries and filters so as intervals between fetching each page, because you don't want to send too many requests and act as an idiot.\n\n\n### Configuration\n\nConfiguration file is located in your home directory:\n\n```bash\n$ {$HOME}/.njuhalo\n```\n\nThere are two files, config.json and njuhalo.db. Config file is the one that is meant to be modified.\n\n```javascript\n{\n\t\"runIntervalMinutes\": 1,\n\t\"sleepIntervalSeconds\": 2,\n\t\"queries\": [{\n\t\t\"baseQueryPath\": \"iznajmljivanje-stanova/zagreb\",\n\t\t\"filters\": {\n\t\t\t\"locationId\": \"2619\",\n\t\t\t\"price[max]\": \"260\",\n\t\t\t\"mainArea[max]\": \"50\"\n\t\t}\n\t}],\n\t\"slack\" : true,\n\t\"slackToken\": \"\",\n\t\"slackChannelId\" : \"\",\n\t\"slackNotificationColor\": \"#fdcd00\",\n\t\"mail\": true,\n\t\"to\": \"myemail@gmail.com\",\n\t\"mailgunDomain\":\"\",\n\t\"mailgunAPIKey\":\"\",\n\t\"mailgunPublicKey\":\"\"\n}\n\n```\n\n#### Create config file\n\nIf there is no such file you can create it manually or just run:\n\n```bash\n$ /.njuhalo i\n```\n\n#### Slack configuration\nIn order to configure slack notification you need to add token and channelId.\nToken can be found here (if you don't have it, you must create it):\n\n[https://api.slack.com/custom-integrations/legacy-tokens\n](https://api.slack.com/custom-integrations/legacy-tokens)\n\nTo get channel ID simply enter web version of Slack and select wanted channel. After that simply copy last part of url:\n\n[https://yourCompany.slack.com/messages/thisIsChannelId](https://yourCompany.slack.com/messages/thisIsChannelId) \n\n\n### Adding queries\nAdding queries can be pain in the ass so you can simply paste it like this \n\n```bash\n$ /.njuhalo a http://www.njuskalo.hr/path?query=1\u0026query=2\n```\n\nThat will parse query and save it to the default config file which also can be found on path:\n\n```bash\n$ {$HOME}/.njuhalo\n```\n\nNumber of queries is not limited and you can add as much as you want.\nIf you messed up something, you can always clear all queries with clean option.\n\n## Development\n\nLocation of all njuhalo config and db is in your home folder\n\n```bash\n$ {$HOME}/.njuhalo\n```\n\nTo build binary from scratch:\n\n```bash\n$ go build\n```\n\n---\nMIT License\n\nCopyright (c) **Lovro Predovan**\n2017","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flpredova%2Fnjuhalo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flpredova%2Fnjuhalo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flpredova%2Fnjuhalo/lists"}