{"id":13560869,"url":"https://github.com/mwyvr/knockr","last_synced_at":"2026-02-05T18:40:14.375Z","repository":{"id":79129624,"uuid":"604488448","full_name":"mwyvr/knockr","owner":"mwyvr","description":"knockr is a port-knocking utility implemented in Go.","archived":false,"fork":false,"pushed_at":"2025-02-28T00:24:55.000Z","size":57,"stargazers_count":41,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-03T16:39:34.421Z","etag":null,"topics":["go","golang","network","port-knock","port-knockers","port-knocking","security-tools"],"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/mwyvr.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-21T06:55:45.000Z","updated_at":"2025-02-28T17:37:11.000Z","dependencies_parsed_at":"2024-01-14T09:16:24.819Z","dependency_job_id":"4835f9d8-6057-4145-b6fc-82050e9336f1","html_url":"https://github.com/mwyvr/knockr","commit_stats":null,"previous_names":["mwyvr/knockr","solutionroute/knockr"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/mwyvr/knockr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwyvr%2Fknockr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwyvr%2Fknockr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwyvr%2Fknockr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwyvr%2Fknockr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mwyvr","download_url":"https://codeload.github.com/mwyvr/knockr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwyvr%2Fknockr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29128815,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T18:31:02.507Z","status":"ssl_error","status_checked_at":"2026-02-05T18:29:43.962Z","response_time":65,"last_error":"SSL_read: 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","network","port-knock","port-knockers","port-knocking","security-tools"],"created_at":"2024-08-01T13:00:50.303Z","updated_at":"2026-02-05T18:40:14.359Z","avatar_url":"https://github.com/mwyvr.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# knockr\n\n`knockr` is a [port-knocking](https://en.wikipedia.org/wiki/Port_knocking)\nutility potentially more convenient to use than general-purpose tools like\n`nmap` or `netcat`. Written in Go, the utility is a single binary that is\ninstallable on any platform Go supports, including Linux, BSD/Unix, Windows,\nand Mac.\n\n## Installation\n\n### Via the Go toolchain\n\nStandard:\n\n    go install github.com/mwyvr/knockr@latest\n\nWithout CGO:\n\n    CGO_ENABLED=0 go install github.com/mwyvr/knockr@latest\n\n### Pre-built binaries\n\nThe [releases page](https://github.com/mwyvr/knockr/releases) provides binaries\nfor various operating systems and architectures.\n\n## Usage\n\n*The default timeout and delay durations should be sufficient for\nmost use cases.*\n\n  knockr [options] hostname-or-address port1,port2...\n\n  OPTIONS\n\n    -d delay\n      \tdelay between knocks (default 100ms)\n    -n network protocol\n      \tnetwork protocol (tcp, udp) (default \"tcp\")\n    -s silence\n      \tsilence all but error output\n    -t timeout\n      \ttimeout for each knock (default 1s)\n\n  EXAMPLES\n\n    Knock using default options:\n      knockr somehost.example.com 1234,8923,1233\n  \n    Using udp protocol and 50ms delay between knocks:\n      knockr -n udp -d 50ms 23.192.228.80 51213,8327,183,420\n\n**Tip**: Include the port(s) you expect to be unlocked as the first and last\nport in the chain to observe the port status before and after. For example, if\nintending to unlock port 22 (SSH) on a specific host:\n\n    knockr my.host.name 22,1234,18923,1233,22\n\n## What is port-knocking?\n\nPort-knocking is a network access method that opens ports that are normally\nclosed to the outside world, but only when the correct sequence of ports\nhas been visited and within time frames determined by your network access\nconfiguration.\n\nA host or network protected by port knocking reduces the log burden from\nInternet port scanners and should only be seen as another tool to improve\nsecurity.\n\nPort-knocking can be configured on hosts ([iptables or\nknockd](https://wiki.archlinux.org/title/Port_knocking)), and\nmany routers, including some low-cost, high-functionality devices\naccessible to technical consumers such as [Mikrotik RouterOS\ndevices](https://help.mikrotik.com/docs/display/ROS/Port+knocking).\n\nSee also: [Wikipedia - port-knocking](https://en.wikipedia.org/wiki/Port_knocking).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmwyvr%2Fknockr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmwyvr%2Fknockr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmwyvr%2Fknockr/lists"}