{"id":19308677,"url":"https://github.com/mtulio/go-url","last_synced_at":"2026-04-17T13:31:02.873Z","repository":{"id":45057517,"uuid":"151002232","full_name":"mtulio/go-url","owner":"mtulio","description":"go-url is a cool URL tester that discovers all endpoints (IP address) and makes HTTP/S requests to each. It also can push metrics to the Pushgateway.","archived":false,"fork":false,"pushed_at":"2022-01-12T05:01:29.000Z","size":75,"stargazers_count":5,"open_issues_count":3,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-24T03:17:42.605Z","etag":null,"topics":[],"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/mtulio.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":"2018-09-30T20:05:08.000Z","updated_at":"2022-01-12T02:38:31.000Z","dependencies_parsed_at":"2022-08-26T10:51:50.232Z","dependency_job_id":null,"html_url":"https://github.com/mtulio/go-url","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/mtulio/go-url","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtulio%2Fgo-url","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtulio%2Fgo-url/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtulio%2Fgo-url/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtulio%2Fgo-url/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mtulio","download_url":"https://codeload.github.com/mtulio/go-url/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtulio%2Fgo-url/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31931173,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T12:37:54.787Z","status":"ssl_error","status_checked_at":"2026-04-17T12:37:25.095Z","response_time":62,"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":[],"created_at":"2024-11-10T00:16:02.108Z","updated_at":"2026-04-17T13:31:02.854Z","avatar_url":"https://github.com/mtulio.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# go-url\n\nGo-url is an tool to make HTTP requests on command line.\n\nThe big differencial are:\n\n- make the request for each IP of the DNS endpoint\n- read config from a file, it could schedulle the tests on an docker, for example\n\n## Install\n\n### from source code\n\n* clone this repo\n* create the config file, see [sample config](./hack/config-sample.json)\n* run the code without build\n`go run *.go -config hack/config-sample.json`\n\n### install from latest version\n\n* clone this repo\n* `make build`\n* see binary on `bin/` dir\n\n## Usage\n\n### `-config`\n\nRead URLs tests from config:\n\n`go run *.go -config hack/config-sample.json`\n\n***[sample stdout](./samples-stdout.md#Option---config)***\n\n### `-dns`\n\nForce to resolve DNS and test on each IP address endpoint\n\n`go run *.go -config hack/config-sample.json -dns`\n\n***[sample stdout](./samples-stdout.md#Option--dns)***\n\n### `-url`\n\nRead url from option `-url`\n\n`go run *.go -url https://www.google.com`\n\n***[sample stdout](./samples-stdout.md#Option--url)***\n\n### `-header`\n\nSupporting header option\n\n```bash\ngo-url -dns -watch-period 20 -watch-interval 2 -header \"user-agent=eu\" https://www.google.com\n```\n\nor more advanced in config (url item):\n\n```json\n    {\n      \"url\": \"https://www.google.com/\",\n      \"headers\": {\n        \"user-agent\": \"gurl\"\n      }\n    },\n```\n\n### `-watch-*`\n\nAdd a option to watch requests (repeat requests):\n\n```bash\ngo-url -dns -watch-period 20 -watch-interval 2 https://www.google.com\n```\n\n### Argument\n\nRead url from argument (`argv[1]`)\n\n`./bin/go-url https://www.google.com`\n\n***[sample stdout](./samples-stdout.md#Argument)***\n\n### Docker\n\nRun with multiple options:\n\n* `-dns` and `-config`\n\n```bash\ndocker run \\\n    -v $PWD/hack/config-sample.json:/config.json \\\n    -i mtulio/go-url:docker \\\n    -dns -config /config.json\n```\n\n* argument\n\n```bash\ndocker run \\\n    -v $PWD/hack/config-sample.json:/config.json \\\n    -i mtulio/go-url:docker https://g1.globo.com\n```\n\n***[sample stdout](./samples-stdout.md#Docker)***\n\n### Metrics\n\n* create local metrics stack (Prometheus + Pushgateway)\n\n`make test-run-metrics-stack`\n\n* send metrics to pushgateway using opt `-metric`\n\n```bash\nHOSTNAME=MyNode go run *.go \\\n    -dns \\\n    -url=http://www.google.com \\\n    -metric=http://localhost:9091\n```\n\n***[sample stdout](./samples-stdout.md#metrics)***\n\n* look at the metric on the Pushgateway\n\n![screenshot from 2018-10-19 02-27-23](https://user-images.githubusercontent.com/3216894/47199154-91acea00-d346-11e8-9ac1-eb7576ea1016.png)\n\n## Contributing\n\n1. Fork it\n1. Create your feature branch (git checkout -b my-new-feature)\n1. Commit your changes (git commit -am 'Added some feature')\n1. Push to the branch (git push origin my-new-feature)\n1. Create new Pull Request\n\nOpen an Issue or PR. =]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmtulio%2Fgo-url","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmtulio%2Fgo-url","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmtulio%2Fgo-url/lists"}