{"id":37178537,"url":"https://github.com/ncw/termbox-go","last_synced_at":"2026-01-14T20:48:31.819Z","repository":{"id":57577481,"uuid":"359809329","full_name":"ncw/termbox-go","owner":"ncw","description":"Pure Go termbox implementation","archived":false,"fork":true,"pushed_at":"2021-04-20T16:49:40.000Z","size":368,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-06-20T15:58:04.940Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://godoc.org/github.com/nsf/termbox-go","language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"nsf/termbox-go","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ncw.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-04-20T12:34:22.000Z","updated_at":"2021-04-20T12:34:23.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ncw/termbox-go","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/ncw/termbox-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ncw%2Ftermbox-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ncw%2Ftermbox-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ncw%2Ftermbox-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ncw%2Ftermbox-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ncw","download_url":"https://codeload.github.com/ncw/termbox-go/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ncw%2Ftermbox-go/sbom","scorecard":{"id":677590,"data":{"date":"2025-08-11","repo":{"name":"github.com/ncw/termbox-go","commit":"64616e880de4196ee81bde96c0be1ae35b5ec521"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.6,"checks":[{"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":"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":"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":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/test-macos.yml:1","Warn: no topLevel permission defined: .github/workflows/test-ubuntu.yml:1","Warn: no topLevel permission defined: .github/workflows/test-windows.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":"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":"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":"Pinned-Dependencies","score":2,"reason":"dependency not pinned by hash detected -- score normalized to 2","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-macos.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/ncw/termbox-go/test-macos.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-macos.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/ncw/termbox-go/test-macos.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-ubuntu.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/ncw/termbox-go/test-ubuntu.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-ubuntu.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/ncw/termbox-go/test-ubuntu.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/ncw/termbox-go/test-windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/ncw/termbox-go/test-windows.yml/master?enable=pin","Info:   0 out of   6 GitHub-owned GitHubAction dependencies pinned","Info:   2 out of   2 goCommand 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":"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 'master'"],"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-21T21:59:59.819Z","repository_id":57577481,"created_at":"2025-08-21T21:59:59.819Z","updated_at":"2025-08-21T21:59:59.819Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28434500,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T18:57:19.464Z","status":"ssl_error","status_checked_at":"2026-01-14T18:52:48.501Z","response_time":107,"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":[],"created_at":"2026-01-14T20:48:30.115Z","updated_at":"2026-01-14T20:48:31.804Z","avatar_url":"https://github.com/ncw.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Go Reference](https://pkg.go.dev/badge/github.com/nsf/termbox-go.svg)](https://pkg.go.dev/github.com/nsf/termbox-go)\n![Build](https://github.com/nsf/termbox-go/actions/workflows/test-ubuntu.yml/badge.svg)\n\n## IMPORTANT\n\nThis library is somewhat not maintained anymore. But I'm glad that it did what I wanted the most. It moved people away from \"ncurses\" mindset and these days we see both re-implementations of termbox API in various languages and even possibly better libs with similar API design. If you're looking for a Go lib that provides terminal-based user interface facilities, I've heard that [gdamore/tcell](https://github.com/gdamore/tcell) is good (never used it myself). Also for more complicated interfaces and/or computer games I recommend you to consider using HTML-based UI. Having said that, termbox still somewhat works. In fact I'm writing this line of text right now in godit (which is a text editor written using termbox-go). So, be aware. Good luck and have a nice day.\n\n## Termbox\nTermbox is a library that provides a minimalistic API which allows the programmer to write text-based user interfaces. The library is crossplatform and has both terminal-based implementations on \\*nix operating systems and a winapi console based implementation for windows operating systems. The basic idea is an abstraction of the greatest common subset of features available on all major terminals and other terminal-like APIs in a minimalistic fashion. Small API means it is easy to implement, test, maintain and learn it, that's what makes the termbox a distinct library in its area.\n\n### Installation\nInstall and update this go package with `go get -u github.com/nsf/termbox-go`\n\n### Examples\nFor examples of what can be done take a look at various examples in the `_demos` directory. You can try them with go run: `go run _demos/keyboard.go`\n\nThere are also some interesting projects using termbox-go:\n - [godit](https://github.com/nsf/godit) is an emacsish lightweight text editor written using termbox.\n - [gotetris](https://github.com/jjinux/gotetris) is an implementation of Tetris.\n - [sokoban-go](https://github.com/rn2dy/sokoban-go) is an implementation of sokoban game.\n - [hecate](https://github.com/evanmiller/hecate) is a hex editor designed by Satan.\n - [httopd](https://github.com/verdverm/httopd) is top for httpd logs.\n - [mop](https://github.com/mop-tracker/mop) is stock market tracker for hackers.\n - [termui](https://github.com/gizak/termui) is a terminal dashboard.\n - [termloop](https://github.com/JoelOtter/termloop) is a terminal game engine.\n - [xterm-color-chart](https://github.com/kutuluk/xterm-color-chart) is a XTerm 256 color chart.\n - [gocui](https://github.com/jroimartin/gocui) is a minimalist Go library aimed at creating console user interfaces.\n - [dry](https://github.com/moncho/dry) is an interactive cli to manage Docker containers.\n - [pxl](https://github.com/ichinaski/pxl) displays images in the terminal.\n - [snake-game](https://github.com/DyegoCosta/snake-game) is an implementation of the Snake game.\n - [gone](https://github.com/guillaumebreton/gone) is a CLI pomodoro® timer.\n - [Spoof.go](https://github.com/sabey/spoofgo) controllable movement spoofing from the cli.\n - [rat](https://github.com/ericfreese/rat) lets you compose shell commands to build terminal applications.\n - [httplab](https://github.com/gchaincl/httplab) An interactive web server.\n - [wot](https://github.com/kyu-suke/wot) Wait time during command is completed.\n - [2048-go](https://github.com/1984weed/2048-go) is 2048 in Go.\n - [jv](https://github.com/maxzender/jv) helps you view JSON on the command-line.\n - [pinger](https://github.com/hirose31/pinger) helps you to monitor numerous hosts using ICMP ECHO_REQUEST.\n - [vixl44](https://github.com/sebashwa/vixl44) lets you create pixel art inside your terminal using vim movements.\n - [zterm](https://github.com/varunrau/zterm) is a typing game inspired by http://zty.pe/.\n - [gotypist](https://github.com/pb-/gotypist) is a fun touch-typing tutor following Steve Yegge's method.\n - [cointop](https://github.com/miguelmota/cointop) is an interactive terminal based UI application for tracking cryptocurrencies.\n - [pexpo](https://github.com/nnao45/pexpo) is a terminal sending ping tool written in Go.\n - [jid](https://github.com/simeji/jid) is an interactive JSON drill down tool using filtering queries like jq.\n - [nonograminGo](https://github.com/N0RM4L15T/nonograminGo) is a nonogram (aka. picross) in Go.\n - [tower-of-go](https://github.com/kjirou/tower-of-go) is a tiny maze game that runs on the terminal.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fncw%2Ftermbox-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fncw%2Ftermbox-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fncw%2Ftermbox-go/lists"}