नया — अपडेट अब इंटरफ़ेस के अंदर ही चलते हैं

एक कमांड।
153 स्रोत
हमेशा अप-टू-डेट।

winget, brew, npm, pip, cargo और helm के पीछे अलग-अलग भागना छोड़िए। gup इन सबको समानांतर रूप से स्कैन करता है, दिखाता है कि क्या पुराना हो चुका है, और आप जो चुनें उसे लाइव अपडेट करता है — अपने इंटरफ़ेस में एम्बेड किए गए टर्मिनल में।

npm install -g @charles_lindecker/gup --allow-scripts=node-pty

GitHub पर देखें
  • MIT · ओपन सोर्स
  • Node ≥ 26
  • Windows · macOS · Linux
  • शून्य टेलीमेट्री
  • कोई डेमन नहीं · शेड्यूलिंग वैकल्पिक
gup काम करते हुए

gup v0.5.147 detected5 updatesnormal mode

Menu

  • Scan
  • Packages5
  • Schedules1
  • Providers
  • Journal
  • Options
  • Quit

Packages

SelectionPackageCurrentLatest
partly checkedHomebrew2/3
checkedripgrep14.1.0→ 14.1.1
checkedfzf0.54.0→ 0.55.0
not checkedscheduledbat0.24.0→ 0.25.0
partly checkednpm (global)1/2
checkedtypescript5.5.4→ 5.6.2
not checkedpnpm9.6.0→ 9.12.1

● 3 of 5 checkedEnter Update (3)

space check · / filter · p schedule · a check all · ↑↓ navigate · r rescan · enter update (3) · tab menu · q quit

इंटरफ़ेस डिफ़ॉल्ट रूप से अंग्रेज़ी में है, और gup language fr से फ़्रेंच में। कमांड, फ़्लैग और JSON आउटपुट हर भाषा में एक जैसे हैं।

01 / सुविधाएँ

सब कुछ एक ही इंटरफ़ेस में।

स्कैन करें, चुनें, अपडेट करें, शेड्यूल करें और समीक्षा करें — gup आपको एक ही फ़ुल-स्क्रीन टर्मिनल ऐप में रखता है।

  • नया

    gup छोड़े बिना अपडेट

    इंस्टॉलर इंटरफ़ेस में एम्बेड किए गए टर्मिनल पेन में चलते हैं — प्रोग्रेस बार, प्रॉम्प्ट और रंग जस के तस। अपडेट हुए पैकेज फिर सूची से हट जाते हैं, दोबारा स्कैन की ज़रूरत नहीं। अगर एम्बेडेड टर्मिनल उपलब्ध न हो, तो gup कारण बताता है और आपके अपने टर्मिनल में अपडेट करता है।

  • कई चुनें, एक बार में चलाएँ

    Space से पैकेज चुनें, a से सभी चुनें और Enter से चलाएँ। एक कतार, एक सारांश।

  • नया

    पैकेज-दर-पैकेज निर्धारित अपडेट

    पैकेज चुनें और p दबाएँ: ripgrep हर हफ़्ते अपडेट होगा और node जैसा है वैसा रहेगा। शेड्यूल पैकेजों को लक्षित करते हैं, कभी पूरे provider को नहीं; आपके OS का शेड्यूलर gup को थोड़ी देर के लिए चलाता है ताकि जिन अपडेट का समय हो गया है वे पूरे हो जाएँ, इसलिए बैकग्राउंड में कुछ भी चलता नहीं रहता।

  • गतिविधि लॉग

    हर स्कैन और हर अपडेट आपकी मशीन पर ही लॉग होता है। टर्मिनल चार्ट आपकी गतिविधि दिखाते हैं और बताते हैं कि कौन-से पैकेज सबसे ज़्यादा अपडेट होते हैं; डीबग करने के लिए लॉग एक्सपोर्ट करें।

  • नया

    HTML रिपोर्ट

    gup report, या गतिविधि लॉग में o, ब्राउज़र में आपके इतिहास की एक साफ़, आसानी से नेविगेट होने वाली रिपोर्ट खोलता है — एक ही ऑफ़लाइन फ़ाइल, जिसे कोई भी पढ़ सकता है, सिर्फ़ टर्मिनल इस्तेमाल करने वाले ही नहीं।

  • थीम जो हमेशा पढ़ने में आसान रहें

    दस बिल्ट-इन थीम या आपके अपने रंग: gup हर एक को WCAG AA पर परखता है — टेक्स्ट के लिए 4.5:1, बॉर्डर के लिए 3:1, AAA चुनने पर 7:1 — और जो कम पड़े उसे ठीक करता है।

  • आपके OS को समझता है

    जो providers आपके सिस्टम पर नहीं चल सकते, वे छिपाए नहीं जाते बल्कि धूसर दिखते हैं: Mac पर सिर्फ़ Windows वाले टूल वैसे ही दिखते हैं, और इसका उल्टा भी।

  • स्क्रिप्ट और CI के लिए बना

    gup list --json, स्थिर एग्ज़िट कोड, प्रॉम्प्ट छोड़ने के लिए -y, और स्कैन को बायपास करने वाले provider:package टारगेट।

02 / कवरेज

153 स्रोत। तीन सिस्टम। एक बाइनरी।

Windows, macOS और Linux पर एक ही एक्ज़िक्यूटेबल — वही provider अनुबंध, वही JSON। बदलती है तो सिर्फ़ OS की वह परत, जिसे gup चला सकता है।

  • मुख्य लक्ष्य

    Windows

    समर्थित providers
    139 / 153
    • winget
    • scoop
    • chocolatey
    • WSL

    WSL ब्रिज: आपके डिस्ट्रो के अंदर apt, dnf, pacman, Flatpak, Nix और Linuxbrew।

  • नेटिव

    macOS

    समर्थित providers
    132 / 153
    • Homebrew
    • Homebrew Casks
    • MacPorts
    • Mac App Store

    Apple Silicon और Intel · brew Cellar के सिमलिंक अपने-आप फ़ॉलो किए जाते हैं · mas वैकल्पिक।

  • नेटिव

    Linux

    समर्थित providers
    126 / 153
    • Homebrew / Linuxbrew
    • Nix
    • apt · सौंपा गया
    • dnf · सौंपा गया

    किसी बाइनरी का मालिक dpkg -S या rpm -qf से पता किया जाता है, फिर अपडेट उसी मैनेजर को वापस सौंप दिया जाता है।

हर जगह एक जैसा

  • npm
  • pnpm
  • yarn
  • bun
  • pip
  • pipx
  • uv
  • cargo
  • rustup
  • gem
  • composer
  • dotnet tools
  • helm
  • kubectl
  • terraform
  • VS Code
  • JetBrains
  • gh extensions
  • pwsh modules
  • asdf
  • mise
सभी 153 providers, डोमेन के अनुसार
OS पैकेज मैनेजर
brew · brew-cask · choco · cygwin · fink · macports · mas · msys2 · nix · npackd · pkgin · pkgx · scoop · sparkle · winget
WSL
wsl · wsl-apt · wsl-brew · wsl-dnf · wsl-flatpak · wsl-nix · wsl-pacman
Node.js
bun-g · corepack · deno · fnm · npm-g · nvm · nvm-windows · pnpm-g · volta · yarn-g
Python
conda · pdm · pip · pipx · poetry · pyenv · pyenv-win · rye · uv-tools
.NET और PHP
composer-g · composer-self · dotnet-sdk · dotnet-tools · nuget · phive · symfony-cli
JVM
coursier-cs · jbang
Rust
cargo · rustup
अन्य भाषाएँ
R-packages · cabal · flutter · gem · hex · julia-pkg · luarocks · mint · mix-archive · nimble · opam · pub-global · stack · vcpkg
वर्ज़न मैनेजर
asdf · goenv · mise · proto · sdkman · swiftly
क्लाउड CLI
aws-cli-v2 · az · doctl · flyctl · gcloud · hcloud · heroku · linode-cli · oci-cli · railway · scw · supabase
इन्फ्रास्ट्रक्चर ऐज़ कोड
boundary · consul · nomad · opentofu · packer · pulumi · terraform · terragrunt · tflint · vault
Kubernetes
argocd · flux · helm · helm-plugins · helm-repo · k3d · kind · krew · kubectl · kustomize · minikube · skaffold · tilt
कंटेनर
dive · docker-desktop · nerdctl · oras · podman-desktop · rancher-desktop
सुरक्षा टूल
cosign · gitsign · grype · nuclei · nuclei-templates · pdtm · rekor · semgrep · syft · trivy
डेवलपर CLI
delta · gh-ext · git-for-windows · glab · jj · lazydocker · lazygit · tea
IDE और एडिटर
cursor-ext · jetbrains · visual-studio · vscode-ext · vscodium-ext · windsurf-ext
एडिटर प्लगइन
nvim-lazy · nvim-mason · nvim-packer · vim-plug
एम्बेडेड और मोबाइल
android-sdk · arduino-cli · expo · fastlane · platformio · xcodes
शेल और प्रॉम्प्ट
nerd-fonts · oh-my-posh · psresource · pwsh-modules · starship
gup खुद
self
पूरा provider कैटलॉग देखें

03 / कार्यप्रणाली

एक ऑर्केस्ट्रेटर, एक और पैकेज मैनेजर नहीं।

gup हर टूल की अपनी कमांड समानांतर रूप से चलाता है और जवाबों को एक साथ सजाता है। न कोई पैकेज रजिस्ट्री, न कैश, न बैकग्राउंड में चलता कोई प्रोसेस।

  1. स्कैन

    हर पहचाना गया provider listOutdated() का जवाब देता है, एक बार में चार। कोई विफल हो जाए, तो सिर्फ़ उसकी अपनी पंक्ति प्रभावित होती है।

  2. चुनें

    provider के अनुसार समूहों में पैकेज देखें, फ़िल्टर करें, चुनें — या gup update brew:fzf से स्कैन ही छोड़ दें।

  3. अपडेट

    नेटिव कमांड आर्ग्युमेंट वेक्टर के रूप में चलती हैं, कभी शेल के ज़रिए नहीं। हर प्रयास स्थानीय लॉग में दर्ज होता है।

आर्किटेक्चर विस्तार से

04 / सुरक्षा

यह विशेषाधिकार वाली कमांड चलाता है। इसलिए इसे उसी हिसाब से बनाया गया है।

शेल तक पहुँचने का एक ही रास्ता, सख़्त आर्ग्युमेंट वेक्टर, टेस्ट से तय की गई अनुमति-सूची — और हर कमिट तीन स्टैटिक एनालाइज़र से होकर गुज़रता है।

  • निष्पादन

    सबप्रोसेस सख़्त argv वेक्टर के रूप में चलते हैं, कभी shell: true नहीं, और सिर्फ़ एक ऑडिट किए गए एंट्री पॉइंट से होकर।

    • execa
    • argv
    • no shell
  • सप्लाई चेन

    सिर्फ़ HTTPS से डाउनलोड, हर बिल्ड पर डिपेंडेंसी का ऑडिट, हर हफ़्ते अपडेट की समीक्षा।

    • audit-ci
    • Dependabot
    • gitleaks
  • स्टैटिक विश्लेषण

    हर कमिट पर CodeQL, Semgrep और eslint-plugin-security, साथ में सुरक्षा इनवेरिएंट के लिए समर्पित टेस्ट सूट।

    • CodeQL
    • Semgrep
    • eslint-security

05 / सामान्य प्रश्न

आपके सवाल, हमारे जवाब।

क्या gup, winget, brew या npm की जगह लेता है?

नहीं। gup हर टूल की नेटिव कमांड (winget upgrade, brew outdated, npm update -g, pip list --outdated…) को एक ही इंटरफ़ेस के पीछे संचालित करता है। न कोई नया प्रोटोकॉल, न वर्ज़न कैश।

क्या यह macOS और Linux पर चलता है?

हाँ। macOS पर नेटिव रूप से: Homebrew के फ़ॉर्मूले और कास्क, MacPorts और Mac App Store, Apple Silicon और Intel दोनों पर। Linux पर OS-स्तर Homebrew/Linuxbrew और Nix संभालते हैं, और डिस्ट्रीब्यूशन से इंस्टॉल हुई बाइनरी apt या dnf को वापस सौंप दी जाती है। OS परत के ऊपर की हर चीज़ — npm, pip, cargo, helm, VS Code… — तीनों सिस्टम पर एक जैसा व्यवहार करती है।

gup कैसे इंस्टॉल करें?

npm install -g @charles_lindecker/gup --allow-scripts=node-pty चलाएँ, फिर gup doctor से देखें कि कौन-से providers पहचाने गए। Node.js 26.9.0 या उससे नया वर्ज़न ज़रूरी है। --allow-scripts=node-pty node-pty की इंस्टॉल स्क्रिप्ट्स को चलने देता है, और एम्बेड किया गया टर्मिनल node-pty पर ही चलता है। इसके बिना npm 11 चेतावनी देता है और npm 12 इन स्क्रिप्ट्स को छोड़ देता है।

क्या gup को CI में इस्तेमाल किया जा सकता है?

हाँ। gup list --json --fast मशीन के पढ़ने लायक आउटपुट देता है और gup update --all -y हर प्रॉम्प्ट छोड़ देता है। एग्ज़िट कोड स्थिर हैं: 0 सफल, 1 आंशिक विफलता, 2 अमान्य आर्ग्युमेंट।

gup कितने पैकेज मैनेजर कवर करता है?

153 providers, हर एक अलग मॉड्यूल में: winget, scoop, chocolatey, Homebrew, MacPorts, npm, pnpm, pip, uv, cargo, gem, composer, dotnet टूल, helm, kubectl, terraform, VS Code एक्सटेंशन, JetBrains IDE, WSL डिस्ट्रीब्यूशन और भी बहुत कुछ।

क्या इसे चलाना सुरक्षित है?

हर सबप्रोसेस एक ही एंट्री पॉइंट से, सख़्त आर्ग्युमेंट वेक्टर के रूप में गुज़रता है — कभी शेल के ज़रिए नहीं — और टेस्ट से तय की गई अनुमति-सूची के साथ। CodeQL, Semgrep, gitleaks, audit-ci और Dependabot लगातार चलते हैं। gup कोई टेलीमेट्री नहीं भेजता।

यह topgrade से कैसे अलग है?

topgrade सीधे अपडेट चलाता है; gup पहले यह बताता है कि “क्या पुराना है, और किस वर्ज़न से किस वर्ज़न तक”। स्कैन एक अलग चरण है, जिसमें JSON आउटपुट, पैकेज-दर-पैकेज चयन, provider:package टारगेट, हर पैकेज के लिए शेड्यूल और एक स्थानीय इतिहास मिलता है, जिसे आप कभी भी देख सकते हैं।

इंटरफ़ेस किस भाषा में है?

डिफ़ॉल्ट रूप से अंग्रेज़ी में। gup language fr इसे फ़्रेंच में बदल देती है और यह चुनाव सहेज लेती है; GUP_LANG=fr सिर्फ़ एक शेल के लिए यही करता है और उस चुनाव पर प्राथमिकता रखता है। कमांड, फ़्लैग और JSON आउटपुट भाषा पर निर्भर नहीं हैं, और यह साइट आठ भाषाओं में उपलब्ध है।

06 / इंस्टॉल

तीस सेकंड, और आपको सब पता चल जाएगा।

एक npm इंस्टॉल, एक कमांड, और आपकी मशीन पर जो कुछ पुराना है उसकी पूरी सूची।

npm install -g @charles_lindecker/gup --allow-scripts=node-pty

  • gupफ़ुल-स्क्रीन इंटरफ़ेस
  • gup list --fastक्या पुराना है, तेज़ स्कैन
  • gup update --all -yसब कुछ, बिना प्रॉम्प्ट (CI)
  • gup update brew:fzfएक पैकेज, बिना स्कैन
  • gup doctorक्या पहचाना गया, और बाकी को कैसे इंस्टॉल करें