{"id":21807560,"url":"https://github.com/muety/caddy-remote-host","last_synced_at":"2025-07-31T21:05:01.957Z","repository":{"id":57632875,"uuid":"412806101","full_name":"muety/caddy-remote-host","owner":"muety","description":"Caddy v2 plugin to match a request's client IP against a host name (similar to remote_ip)","archived":false,"fork":false,"pushed_at":"2021-10-13T09:06:43.000Z","size":69,"stargazers_count":12,"open_issues_count":3,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-13T20:52:40.938Z","etag":null,"topics":["caddy","caddy-plugin","caddy2","ddns","dns"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/muety.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":"2021-10-02T13:35:22.000Z","updated_at":"2024-12-23T15:37:40.000Z","dependencies_parsed_at":"2022-08-31T13:20:53.198Z","dependency_job_id":null,"html_url":"https://github.com/muety/caddy-remote-host","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/muety%2Fcaddy-remote-host","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muety%2Fcaddy-remote-host/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muety%2Fcaddy-remote-host/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muety%2Fcaddy-remote-host/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/muety","download_url":"https://codeload.github.com/muety/caddy-remote-host/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muety%2Fcaddy-remote-host/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259191971,"owners_count":22819409,"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":["caddy","caddy-plugin","caddy2","ddns","dns"],"created_at":"2024-11-27T12:45:51.702Z","updated_at":"2025-06-11T03:33:14.919Z","avatar_url":"https://github.com/muety.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Go](https://github.com/muety/caddy-remote-host/workflows/Go/badge.svg)](https://github.com/muety/caddy-remote-host/actions)\n![Coding Time](https://img.shields.io/endpoint?url=https://wakapi.dev/api/compat/shields/v1/n1try/interval:any/project:caddy-remote-host\u0026color=blue\u0026label=coding%20time)\n\n# caddy-remote-host\n\nCaddy plugin to match a request's client IP against A and AAAA DNS records of a host name (analogously\nto [`remote_ip`](https://caddyserver.com/docs/caddyfile/matchers#remote-ip)). Can be useful to restrict route access to\na client, that uses dynamic DNS. Uses the host machine's local DNS resolver (uses [LookupIP](https://pkg.go.dev/net?utm_source=godoc#LookupIP) internally).\n\n## Usage\n\n```\nremote_host [forwarded] [nocache] \u003chosts...\u003e\n```\n\nAccepts valid host names. If `forwarded` is given as an argument, then the first IP in the `X-Forwarded-For` request\nheader, if present, will be preferred as the reference IP, rather than the immediate peer's IP, which is the default.\nIf `nocache` is given as an argument, this module will not cache DNS responses and instead resolve the given hosts' for\nevery request. By default, responses are cached for 60 seconds, regardless of the DNS record's time-to-live (TTL).\n\nMultiple `remote_host` matchers will be OR'ed together.\n\n### Example\n\nMatch requests from a client, whose IPv4 or IPv6 address is the same as what `ddns.example.org` resolves to.\n\n```\nremote_host ddns.example.org\n```\n\n## License\n\nApache 2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuety%2Fcaddy-remote-host","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmuety%2Fcaddy-remote-host","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuety%2Fcaddy-remote-host/lists"}