{"id":50459905,"url":"https://github.com/ocelotsloth/goqrz","last_synced_at":"2026-06-01T04:04:05.557Z","repository":{"id":57542650,"uuid":"151620548","full_name":"ocelotsloth/goqrz","owner":"ocelotsloth","description":"Golang QRZ.com XML Library and Command Line Client","archived":false,"fork":false,"pushed_at":"2021-02-03T04:50:57.000Z","size":114,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-09T06:17:13.082Z","etag":null,"topics":["amateur-radio","callsigns","cli","ham-radio","qrz"],"latest_commit_sha":null,"homepage":"http://goqrz.com","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/ocelotsloth.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null}},"created_at":"2018-10-04T18:49:29.000Z","updated_at":"2022-08-05T10:57:55.000Z","dependencies_parsed_at":"2022-09-09T04:12:02.986Z","dependency_job_id":null,"html_url":"https://github.com/ocelotsloth/goqrz","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/ocelotsloth/goqrz","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ocelotsloth%2Fgoqrz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ocelotsloth%2Fgoqrz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ocelotsloth%2Fgoqrz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ocelotsloth%2Fgoqrz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ocelotsloth","download_url":"https://codeload.github.com/ocelotsloth/goqrz/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ocelotsloth%2Fgoqrz/sbom","scorecard":{"id":701408,"data":{"date":"2025-08-11","repo":{"name":"github.com/ocelotsloth/goqrz","commit":"18a0022806073981ee6cad9722c16b47f04b2c69"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":0,"reason":"Found 0/14 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/ocelotsloth/goqrz/codeql-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/ocelotsloth/goqrz/codeql-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/ocelotsloth/goqrz/codeql-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:67: update your workflow using https://app.stepsecurity.io/secureworkflow/ocelotsloth/goqrz/codeql-analysis.yml/main?enable=pin","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact 1.34.2 not signed: https://api.github.com/repos/ocelotsloth/goqrz/releases/37274974","Warn: release artifact 1.34.1 not signed: https://api.github.com/repos/ocelotsloth/goqrz/releases/37271352","Warn: release artifact v0.1.0 not signed: https://api.github.com/repos/ocelotsloth/goqrz/releases/13288428","Warn: release artifact 1.34.2 does not have provenance: https://api.github.com/repos/ocelotsloth/goqrz/releases/37274974","Warn: release artifact 1.34.1 does not have provenance: https://api.github.com/repos/ocelotsloth/goqrz/releases/37271352","Warn: release artifact v0.1.0 does not have provenance: https://api.github.com/repos/ocelotsloth/goqrz/releases/13288428"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":7,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 0 commits out of 4 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":7,"reason":"3 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2021-0061 / GHSA-r88r-gmrh-7j83","Warn: Project is vulnerable to: GO-2022-0956 / GHSA-6q6q-88xp-6f2r","Warn: Project is vulnerable to: GO-2020-0036 / GHSA-wxc4-f4m6-wwqv"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-22T05:17:53.157Z","repository_id":57542650,"created_at":"2025-08-22T05:17:53.157Z","updated_at":"2025-08-22T05:17:53.157Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33759204,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["amateur-radio","callsigns","cli","ham-radio","qrz"],"created_at":"2026-06-01T04:03:58.216Z","updated_at":"2026-06-01T04:04:05.547Z","avatar_url":"https://github.com/ocelotsloth.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GoQRZ Library\n\nGoQRZ is a simple Go Library which implements the QRZ.com [specification](https://www.qrz.com/XML/current_spec.html).\n\n## Usage\n\nFirst, import the library:\n\n```go\nimport \"github.com/ocelotsloth/goqrz\"\n```\n\nNext, create a new session, providing a QRZ.com username and password as well as a User Agent which identifies your program to the API service:\n\n```go\nqrzSession := goqrz.GetSession(\"user\", \"pass\", \"userAgent\")\n```\n\nFinally, request data using the `GetCallsign` or `GetDXCC` functions:\n\n```go\nqrzSession.GetCallsign(\"KN4IJZ\")\n```\n\nDocumentation for the returned datatypes can be found via godoc or within the source code.\n\n## GoQRZ Command Line Interface\n\nIncluded in this library is a CLI tool which can be used to query QRZ for information on callsigns and DXCC entities.\n\n### Install GoQRZ CLI\n\nThere are two ways to install and use the CLI; compiling from source and downloading precompiled binaries.\n\n#### From Source\n\nThe CLI can be compiled from source by running the following:\n\n```shell\ngo get github.com/ocelotsloth/goqrz/goqrz\n```\n\nProvided your `GOPATH` is configured correctly you should now be able to run `goqrz` from the command line.\n\n#### Precompiled Binaries\n\n\nLook at the [releases](https://github.com/ocelotsloth/goqrz/releases) page on github for downloadable binaries. This utility can be cross-compiled to most any popular archetecture in use. Open an issue if you need an additional archetecture added to the list of precompiled binaries.\n\n### CLI Usage\n\nBefore pulling data from the XML API, it is important to log in. This library does its best to remain secure by not storing your username or password between calls. Instead it provides two methods to store the session key.\n\n#### Get Session Key\n\nFirst, run `goqrz login -u \u003cusername\u003e -p \u003cpassword\u003e` to receive your session key. The key is printed to stdout, so you can store it as an environment variable (store it to `GOQRZ_KEY`) or by passing the key to each subsequent call via the `--key` flag.\n\n#### Query Data\n\nThere are two queries currently implemented: callsigns and dxcc zones.\n\n##### Callsigns\n\nTo retrieve callsign data, use the command `goqrz callsign [--key=\u003csessionKey\u003e] Callsign [AdditionalCallsigns...]`. To be efficient, please consider batching your callsign requests to one single call to the `goqrz` CLI. This will reduce the overhead with setting up the connection to QRZ.com.\n\nData is returned as JSON. I personally recommend using `jq` to further deal with the data.\n\n##### DXCC Zones\n\nDXCC data can be retrieved in the exact same fasion as Callsigns, except with the following syntax: `goqrz dxcc [--key=\u003csessionKey\u003e] DXCCID [AdditionalDXCCIDs...]`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Focelotsloth%2Fgoqrz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Focelotsloth%2Fgoqrz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Focelotsloth%2Fgoqrz/lists"}