{"id":15654750,"url":"https://github.com/qdm12/port-checker","last_synced_at":"2025-05-01T08:42:56.269Z","repository":{"id":64304819,"uuid":"148049885","full_name":"qdm12/port-checker","owner":"qdm12","description":"Simple Docker container to test if a port works using a Golang server","archived":false,"fork":false,"pushed_at":"2024-11-25T14:13:21.000Z","size":256,"stargazers_count":34,"open_issues_count":3,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-30T21:05:17.700Z","etag":null,"topics":["docker","network","port","utility-network"],"latest_commit_sha":null,"homepage":null,"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/qdm12.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["qdm12"]}},"created_at":"2018-09-09T17:38:23.000Z","updated_at":"2025-03-22T17:35:30.000Z","dependencies_parsed_at":"2025-03-09T17:42:46.542Z","dependency_job_id":null,"html_url":"https://github.com/qdm12/port-checker","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qdm12%2Fport-checker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qdm12%2Fport-checker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qdm12%2Fport-checker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qdm12%2Fport-checker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qdm12","download_url":"https://codeload.github.com/qdm12/port-checker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251849436,"owners_count":21653885,"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","network","port","utility-network"],"created_at":"2024-10-03T12:53:54.761Z","updated_at":"2025-05-01T08:42:56.234Z","avatar_url":"https://github.com/qdm12.png","language":"Go","funding_links":["https://github.com/sponsors/qdm12"],"categories":[],"sub_categories":[],"readme":"# Port Checker with Docker\n\n*12.8MB container to check a TCP port works with a Golang HTTP server*\n\n\u003ca href=\"https://github.com/qdm12/port-checker\"\u003e\n  \u003cimg src=\"title.svg\" width=\"300px\" height=\"200px\"\u003e\n\u003c/a\u003e\n\n[![Build status](https://github.com/qdm12/port-checker/workflows/Buildx%20latest/badge.svg)](https://github.com/qdm12/port-checker/actions?query=workflow%3A%22Buildx+latest%22)\n[![Docker Pulls](https://img.shields.io/docker/pulls/qmcgaw/port-checker.svg)](https://hub.docker.com/r/qmcgaw/port-checker)\n[![Docker Stars](https://img.shields.io/docker/stars/qmcgaw/port-checker.svg)](https://hub.docker.com/r/qmcgaw/port-checker)\n\n[![GitHub last commit](https://img.shields.io/github/last-commit/qdm12/port-checker.svg)](https://github.com/qdm12/port-checker/issues)\n[![GitHub commit activity](https://img.shields.io/github/commit-activity/y/qdm12/port-checker.svg)](https://github.com/qdm12/port-checker/issues)\n[![GitHub issues](https://img.shields.io/github/issues/qdm12/port-checker.svg)](https://github.com/qdm12/port-checker/issues)\n\n## Features\n\n- Listening address configurable\n- Root URL configurable - useful to test reverse proxies\n- HTTP server responding with information on your client:\n  - Client IP (public or private)\n  - Browser and version\n  - Device type\n  - OS and version\n- Lightweight program of around **8MB**\n- Docker image is compatible with amd64, 386, arm64, arm/v6, arm/v7, s390x, ppc64le and riscv64\n- Standalone binaries pre-built for each release for Linux (amd64, 386, arm64), Darwin (amd64, arm64) and Windows (amd64, 386, arm64)\n\n## Standalone binary\n\nYou can download one of the binaries attached with each Github release. For example:\n\n```sh\nwget -qO port-checker https://github.com/qdm12/port-checker/releases/download/v0.1.0/port-checker_0.1.0_linux_amd64\nchmod +x port-checker\n./port-checker --listening-address=\":8000\" --root-url=\"/\"\n```\n\nYou can build the binary for a specific platform if it's not listed using for example:\n\n```sh\nCGO_ENALBED=0 GOARCH=amd64 go build -o port-checker github.com/qdm12/port-checker\n```\n\n## Docker image\n\nTo test port 1234, use:\n\n```sh\ndocker run --rm -p 1234:8000/tcp qmcgaw/port-checker\n```\n\nTo test port 1234 internally, use:\n\n```bash\ndocker run --rm -e LISTENING_ADDRESS=\":1234\" qmcgaw/port-checker\n```\n\n💁 There are also image tags, such as `:v0.1.0`, corresponding to each tagged release.\n\n## Options\n\n| Environment variable | Flag | Default | Possible values | Description |\n| --- | --- | --- | --- | --- |\n| `LISTENING_ADDRESS` | `--listening-address` | `:8000` | Valid listening address | TCP address to listen on internally |\n| `ROOT_URL` | `--root-url` | `/` | URL path string | Used if it is running behind a proxy for example |\n\n## TO DOs\n\n- [ ] Use GeoLite database and Google Maps to show the location\n- [ ] Add CSS to the HTML template\n- [ ] Precise external mapped port to check it can access itself at start\n- [ ] Unit testing\n- [ ] Notifications (Pushbullet, email, etc. ?)\n- [ ] UDP port check, see [this](https://ops.tips/blog/udp-client-and-server-in-go/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqdm12%2Fport-checker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqdm12%2Fport-checker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqdm12%2Fport-checker/lists"}