{"id":24122202,"url":"https://github.com/tlinden/goupdater","last_synced_at":"2026-06-09T02:02:21.823Z","repository":{"id":38393890,"uuid":"506582819","full_name":"TLINDEN/goupdater","owner":"TLINDEN","description":"install and update go binaries released on github","archived":false,"fork":false,"pushed_at":"2024-02-12T08:58:18.000Z","size":114,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-28T22:29:52.538Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TLINDEN.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}},"created_at":"2022-06-23T09:48:22.000Z","updated_at":"2022-06-23T09:49:35.000Z","dependencies_parsed_at":"2024-02-12T10:05:22.596Z","dependency_job_id":null,"html_url":"https://github.com/TLINDEN/goupdater","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/TLINDEN/goupdater","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TLINDEN%2Fgoupdater","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TLINDEN%2Fgoupdater/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TLINDEN%2Fgoupdater/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TLINDEN%2Fgoupdater/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TLINDEN","download_url":"https://codeload.github.com/TLINDEN/goupdater/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TLINDEN%2Fgoupdater/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34088013,"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-09T02:00:06.510Z","response_time":63,"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":[],"created_at":"2025-01-11T11:38:57.266Z","updated_at":"2026-06-09T02:02:21.818Z","avatar_url":"https://github.com/TLINDEN.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e [!CAUTION]\n\u003e Deprecation notice: I do not maintain and use this script anymore and switched to [stew](https://github.com/marwanhawari/stew) which you should do as well.\n\n## goupdater\n[![made-with-bash](https://img.shields.io/badge/Made%20with-Bash-1f425f.svg)](https://www.gnu.org/software/bash/)\n[![GPLv3 license](https://img.shields.io/badge/License-GPLv3-blue.svg)](http://perso.crans.org/besson/LICENSE.html)\n\n\u003cimg src=\"https://raw.githubusercontent.com/TLINDEN/goupdater/main/rage.png\" width=\"100\"\u003e\n\ninstall and update go binaries released on github\n\n## About\nThis tool can be used to maintain manually installed binary GO\ntools installed via github releases, just like a package manager.\n\nSample output:\n```\n% goupdater list\nTool      Installed-Release             Latest-Release\nfzf       0.30.0                        0.30.0\nhelm      v3.9.0                        v3.9.0\ngoupdater v1.0.1                        v1.0.4\nhub       v2.14.2                       v2.14.2\nkind      v0.14.0                       v0.14.0\nmc        RELEASE.2022-06-17T02-52-50Z  RELEASE.2022-06-17T02-52-50Z\nstern     v1.21.0                       v1.21.0\nyq        v4.25.2                       v4.25.2\n\n\n% goupdater update goupdater \nUpdating goupdater from v1.0.3 to v1.0.4...\n--2022-06-23 12:30:39--\nhttps://github.com/TLINDEN/goupdater/releases/download/v1.0.4/goupdater-linux-amd64-v1.0.4\n[..]\nHTTP request sent, awaiting response... 200 OK\nLength: 6848 (6.7K) [application/octet-stream]\nSaving to: '/tmp/goupdater.30852/goupdater-v1.0.4'\n\n/tmp/goupdater.30852/goupdater-v1.0.4  100%[=======================\u003e]   6.69K  --.-KB/s    in 0s      \n\n2022-06-23 12:30:39 (34.8 MB/s) - '/tmp/goupdater.30852/goupdater-v1.0.4' saved [6848/6848]\n\ndone\n\n```\n\n## Dependencies\n\nGoupdater needs the following utilities to be installed:\n\n- [bash](https://www.gnu.org/software/bash/)\n- [curl](https://curl.se/)\n- [jq](https://stedolan.github.io/jq/)\n\nInstall them using the package manager of you OS, e.g.:\n\n- on Debian/Ubuntu:\n  `sudo apt-get install jq curl`\n- on FreeBSD:\n  `sudo pkg install jq curl`\n- on MacOSX:\n  `brew install jq curl`\n- on VoidLinux:\n  `sudo xbps-install jq curl`\n- on ArchLinux:\n  `sudo pacman -S jq curl`\n- on RedHat:\n  `sudo yum install jq curl`\n- on OpenSUSE Linux:\n  `sudo zypper install jq curl`\n\n## Installation\n\nThere are 2 ways to install `goupdater`:\n\n### Using a release\n\nJust download the [latest release](https://github.com/TLINDEN/goupdater/releases)\nand copy it to your personal bin dir, e.g.:\n\n```\ncurl -o ~/bin/goupdater https://github.com/TLINDEN/goupdater/releases/download/v1.0.4/goupdater-linux-amd64-v1.0.4\nchmod 755 ~/bin/goupdater\n```\n\n### Install from source\n\n```\ngit clone https://github.com/TLINDEN/goupdater.git\ncd goupdater\nmake install\n```\n\nThis will install the tool to `~/.gobins/` and symlink it to `~/bin/`.\nWhen you execute the script the first time, it will create a config file\nin `~/.goupdaterrc`.\n\n**Make sure to put `~/bin/` into your `$PATH` variable!**\n\n## Usage\n```\nUsage: goupdater \u003ccommand\u003e [param]\n\nCommands:\n  list                   lists all installed GO binaries.\n  install \u003curi\u003e [\u003ctool\u003e] installs the specified tool using the github uri\n  update [\u003ctool\u003e]        updates all tools or only the one specified.\n  help                   shows this message.\n  version                shows the version of goupdater.\n```\n\n### Examples\n\n- Install a new tool:\n  `goupdater install hub https://github.com/github/hub`\n\n- Update a specific tool:\n  `goupdater update hub`\n\n- Update all tools (if there are updates available!)\n  `goupdater update`\n\n- List all installed releases:\n  `goupdater list`\n\n### Configuration File\n\nThe config will be stored in `~/.goupdaterrc`. It will be automatically\ngenerated upon first start.\n\nFormat of the file:\n\nThe variable `sources` is an associative array, the key\nis the tool itself, the value is a semicolon separated\nlist containing the folliwing values:\n- github project owner\n- github project name\n- optional: download uri (the release tag will be appended)\n\nYou might also add github auth variables:\n- user: holds the github username\n- token: holds the token ([generate it on your github account](https://github.com/settings/tokens))\n\nHowever, the tool will also work without authentication but\nthen only 60 requests per hour can be made to github.\n\nSample configuration file:\n```\nuser=\"*******\"\ntoken=\"*********\"\nbindir=\"$HOME/.gobins\"\nlinkdir=\"$HOME/bin\"\n\ndeclare -A sources=(\n    [stern]=\"stern;stern\"\n    [mc]=\"minio;mc;https://dl.min.io/client/mc/release/linux-amd64/mc.\"\n    [fzf]=\"junegunn;fzf\"\n    [cloudctl]=\"fi-ts;cloudctl\"\n    [kind]=\"kubernetes-sigs;kind\"\n    [yq]=\"mikefarah;yq\"\n    [helm]=\"helm;helm\"\n    [hub]=\"github;hub\"\n)\n```\n\n### Completion\n\nTo enable completion for the script, put this line into your `~/.bashrc`:\n\n`source \u003c(goupdater completion bash)`\n\nOther shells are currently not supported.\n\n## Getting help\n\nAlthough I'm happy to hear from goupdater users in private email, that's the best way for me to forget to do something.\n\nIn order to report a bug, unexpected behavior, feature requests or to submit a patch, please open an [issue on github](https://github.com/TLINDEN/goupdater/issues). Thank you!\n\nPull requests are much appreciated!\n\n## Copyright and license\n\ngoupdater is licensed under the GPL version 3.0\n\nCopyleft (c) T.v.Dein\n\n## Authors\n\n[T.v.Dein](https://github.com/TLINDEN/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftlinden%2Fgoupdater","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftlinden%2Fgoupdater","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftlinden%2Fgoupdater/lists"}