جديد — التحديثات تجري الآن داخل الواجهة

أمر واحد.
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 السبب ويُجري التحديث في طرفيتك الخاصة.

  • حدّد عدة حزم وشغّلها دفعة واحدة

    حدّد الحزم بمفتاح مسافة، واختر الكل بمفتاح a، ثم شغّلها بمفتاح Enter. طابور واحد وملخص واحد.

  • جديد

    تحديثات مجدولة، حزمةً حزمة

    حدّد الحزم واضغط p: يُجدوَل تحديث ripgrep أسبوعيًا ويبقى node على حاله. تستهدف الجداول الحزمَ وحدها، لا provider بأكمله؛ ويشغّل مُجدوِل نظام التشغيل gup لبرهة لتنفيذ ما حان موعده، فلا شيء يبقى مقيمًا في الذاكرة.

  • سجل النشاط

    يُسجَّل كل فحص وكل تحديث محليًا. تعرض مخططات داخل الطرفية نشاطك والحزم الأكثر تحديثًا، ويمكنك تصدير السجل لتشخيص المشكلات.

  • جديد

    تقرير HTML

    يفتح gup report، أو مفتاح o في سجل النشاط، تقريرًا واضحًا وسهل التصفح عن سجلك في المتصفح — ملف واحد يعمل دون اتصال، يقرؤه أي شخص، لا مستخدمو الطرفية وحدهم.

  • سمات تبقى مقروءة

    عشر سمات مدمجة أو ألوانك الخاصة: يفحص gup كلًّا منها وفق WCAG AA — 4.5:1 للنص، و3:1 للحدود، و7:1 إن اخترت AAA — ويصحّح ما يقصر عن ذلك.

  • يعرف نظام تشغيلك

    وحدات provider التي لا يمكنها العمل على نظامك تظهر باهتة لا مخفية: الأدوات الخاصة بنظام Windows تظهر على هذا النحو على جهاز Mac، والعكس صحيح.

  • مصمَّم للسكربتات وCI

    gup list --json، ورموز خروج ثابتة، و-y لتخطي التأكيدات، وأهداف provider:package تتجاوز الفحص.

02 / التغطية

153 مصدرًا. ثلاثة أنظمة. ملف تنفيذي واحد.

الملف التنفيذي نفسه على Windows وmacOS وLinux — عقد provider نفسه، وJSON نفسه. ما يتغيّر هو طبقة نظام التشغيل التي يستطيع gup التحكم فيها.

  • الهدف الأساسي

    Windows

    وحدات provider المدعومة
    139 / 153
    • winget
    • scoop
    • chocolatey
    • WSL

    جسر WSL: apt وdnf وpacman وFlatpak وNix وLinuxbrew داخل توزيعاتك.

  • دعم أصلي

    macOS

    وحدات provider المدعومة
    132 / 153
    • Homebrew
    • Homebrew Casks
    • MacPorts
    • Mac App Store

    Apple Silicon وIntel · تتبُّع روابط brew الرمزية في Cellar · mas اختياري.

  • دعم أصلي

    Linux

    وحدات provider المدعومة
    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
جميع وحدات provider البالغ عددها 153، مصنّفة حسب المجال
مديرو حزم النظام
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
بيئات التطوير والمحررات
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
Shell وموجّه الأوامر
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 من نوعَي formula وcask، وMacPorts، وMac App Store، على Apple Silicon وIntel. وعلى Linux، يتولى Homebrew/Linuxbrew وNix مستوى النظام، ويُعاد الملف التنفيذي الذي ثبّتته التوزيعة إلى apt أو dnf. وكل ما يعلو طبقة النظام — npm وpip وcargo وhelm وVS Code… — يعمل بالطريقة نفسها على الأنظمة الثلاثة.

كيف أثبّت gup؟

نفّذ npm install -g @charles_lindecker/gup --allow-scripts=node-pty، ثم gup doctor لمعرفة وحدات provider المكتشَفة. يتطلب Node.js 26.9.0 أو أحدث. يسمح --allow-scripts=node-pty بتشغيل سكربتات تثبيت node-pty، الذي تعمل به الطرفية المدمجة؛ ومن دونه يُصدر npm 11 تحذيرًا، ويتخطى npm 12 هذه السكربتات.

هل يمكن استخدام gup في CI؟

نعم. يقدّم gup list --json --fast مخرجات قابلة للقراءة آليًا، ويتخطى gup update --all -y كل التأكيدات. رموز الخروج ثابتة: 0 نجاح، و1 فشل جزئي، و2 وسائط غير صالحة.

كم مدير حزم يغطي gup؟

يغطي 153 provider، لكلٍّ منها وحدة معزولة: winget وscoop وchocolatey وHomebrew وMacPorts وnpm وpnpm وpip وuv وcargo وgem وcomposer وأدوات dotnet وhelm وkubectl وterraform وإضافات VS Code وبيئات التطوير من JetBrains وتوزيعات 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ما المكتشَف، وكيف تثبّت الباقي