{"id":41718292,"url":"https://github.com/coding-socks/ebml","last_synced_at":"2026-01-24T22:23:38.924Z","repository":{"id":57627265,"uuid":"331987873","full_name":"coding-socks/ebml","owner":"coding-socks","description":"An EBML parser written in Go.","archived":false,"fork":false,"pushed_at":"2025-04-20T18:54:38.000Z","size":170,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-20T19:38:02.053Z","etag":null,"topics":["ebml","ebml-parser","go","golang","matroska"],"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/coding-socks.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,"zenodo":null}},"created_at":"2021-01-22T15:37:22.000Z","updated_at":"2025-04-20T18:54:41.000Z","dependencies_parsed_at":"2025-04-22T01:48:00.347Z","dependency_job_id":null,"html_url":"https://github.com/coding-socks/ebml","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/coding-socks/ebml","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coding-socks%2Febml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coding-socks%2Febml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coding-socks%2Febml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coding-socks%2Febml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coding-socks","download_url":"https://codeload.github.com/coding-socks/ebml/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coding-socks%2Febml/sbom","scorecard":{"id":298174,"data":{"date":"2025-08-11","repo":{"name":"github.com/coding-socks/ebml","commit":"3eaea91d5d71bbae6557e41f4a0a4ed5ca797283"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"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":"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":"Code-Review","score":0,"reason":"Found 0/30 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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/test.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":"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":"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/test.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/coding-socks/ebml/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/coding-socks/ebml/test.yml/main?enable=pin","Info:   0 out of   2 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":"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":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"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":-1,"reason":"no releases found","details":null,"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":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"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-17T20:03:14.599Z","repository_id":57627265,"created_at":"2025-08-17T20:03:14.599Z","updated_at":"2025-08-17T20:03:14.599Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28738652,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T22:12:27.248Z","status":"ssl_error","status_checked_at":"2026-01-24T22:12:10.529Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["ebml","ebml-parser","go","golang","matroska"],"created_at":"2026-01-24T22:23:38.848Z","updated_at":"2026-01-24T22:23:38.912Z","avatar_url":"https://github.com/coding-socks.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EBML\n\nAn EBML parser written in Go.\n\n- [Introduction](#introduction)\n- [Production readiness](#production-readiness)\n- [Documents](#documents)\n- [Similar libraries](#similar-libraries)\n\n## Introduction\n\n\u003e Extensible Binary Meta Language (EBML) is a generalized file format for any kind of data, aiming to be a binary equivalent to XML. It provides a basic framework for storing data in XML-like tags. It was originally developed for the Matroska audio/video container format.\n\nSource: https://en.wikipedia.org/wiki/Extensible_Binary_Meta_Language\n\nThis library is based on the July 2020 version of [RFC 8794][rfc8794] (with additions from [github.com/ietf-wg-cellar/ebml-specification][ebml-specification]). This document did not reach [\"Internet Standard\"](https://datatracker.ietf.org/doc/html/rfc2026#section-4.1.3) status yet. RFC 8794 is in a [\"Proposed Standard\"](https://datatracker.ietf.org/doc/html/rfc2026#section-4.1.1) status.\n\nThe goal of this project is to create an implementation based on the document and during the implementation provide feedback.\n\n## Production readiness\n\n**This project is still in alpha phase.** In this stage the public API can change between days.\n\nBeta version will be considered when the feature set covers the documents the implementation is based on, and the public API is reached a mature state.\n\nStable version will be considered only if enough positive feedback is gathered to lock the public API and all document the implementation is based on became [\"Internet Standard\"](https://datatracker.ietf.org/doc/html/rfc2026#section-4.1.3).\n\n## Documents\n\n### Official sites\n\n- [libEBML](http://matroska-org.github.io/libebml/)\n- [EBML Specification](https://matroska-org.github.io/libebml/specs.html)\n- [Matroska](https://www.matroska.org/index.html)\n- [Matroska Element Specification](https://matroska.org/technical/elements.html)\n- [WebM](https://www.webmproject.org/)\n- [WebM Container Guidelines](https://www.webmproject.org/docs/container/)\n\nHuge thanks to the [Matroska.org](https://www.matroska.org/) for their work.\n\n### IETF Documents\n\n- [RFC 8794: Extensible Binary Meta Language][rfc8794]\n\nHuge thanks to the [IETF CELLAR Working Group](https://datatracker.ietf.org/wg/cellar/charter/) for their work.\n\n## Inspiration\n\nInspiration for the implementation comes from the following places:\n\n- https://pkg.go.dev/database/sql#Drivers\n- https://pkg.go.dev/database/sql#Register\n- https://pkg.go.dev/encoding/json#Decoder\n- https://pkg.go.dev/golang.org/x/image/vp8#Decoder\n\n## Similar libraries\n\nLast updated: 2025-04-09\n\n| URL                                                              | Status                      |\n|------------------------------------------------------------------|-----------------------------|\n| https://github.com/at-wat/ebml-go                                | In active development       |\n| https://github.com/ebml-go/ebml + https://github.com/ebml-go/webm | Last updated on 17 Nov 2022 |\n| https://github.com/ehmry/go-ebml                                 | Deleted                     |\n| https://github.com/jacereda/ebml                                 | Last updated on 10 Jan 2016 |\n| https://github.com/mediocregopher/ebmlstream                     | Last updated on 15 Dec 2014 |\n| https://github.com/pankrator/ebml-parser                         | Last updated on 24 Jun 2020 |\n| https://github.com/pixelbender/go-matroska                       | Last updated on 29 Oct 2018 |\n| https://github.com/pubblic/ebml                                  | Last updated on 12 Dec 2018 |\n| https://github.com/quadrifoglio/go-mkv                           | Last updated on 20 Jun 2018 |\n| https://github.com/rrerolle/ebml-go                              | Last updated on 1 Dec 2012  |\n| https://github.com/remko/go-mkvparse                             | Last updated on 9 Aug 2023  |\n| https://github.com/tpjg/ebml-go                                  | Last updated on 1 Dec 2012  |\n\n[rfc8794]: https://datatracker.ietf.org/doc/html/rfc8794\n[ebml-specification]: https://github.com/ietf-wg-cellar/ebml-specification\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoding-socks%2Febml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoding-socks%2Febml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoding-socks%2Febml/lists"}