جديد — التحديثات تجري الآن داخل الواجهة
أمر واحد.
153 مصدرًا
كلها محدَّثة.
توقّف عن ملاحقة winget وbrew وnpm وpip وcargo وhelm. يفحصها gup كلها بالتوازي، ويعرض ما صار قديمًا، ويحدّث ما تختاره — مباشرةً، في طرفية مدمجة في واجهته.
npm install -g @charles_lindecker/gup --allow-scripts=node-pty
- MIT · مفتوح المصدر
- Node ≥ 26
- Windows · macOS · Linux
- بلا قياس عن بُعد
- بلا خدمة خلفية · الجدولة اختيارية
gup v0.5.147 detected5 updatesnormal mode
Menu
- Scan
- Packages5
- Schedules1
- Providers
- Journal
- Options
- Quit
Packages
| Selection | Package | Current | Latest |
|---|---|---|---|
| partly checked | Homebrew2/3 | ||
| checked | ripgrep | 14.1.0 | → 14.1.1 |
| checked | fzf | 0.54.0 | → 0.55.0 |
| not checkedscheduled | bat | 0.24.0 | → 0.25.0 |
| partly checked | npm (global)1/2 | ||
| checked | typescript | 5.5.4 | → 5.6.2 |
| not checked | pnpm | 9.6.0 | → 9.12.1 |
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
03 / آلية العمل
منسِّق، لا مدير حزم إضافي.
يشغّل gup أوامر كل أداة بالتوازي ويصفّ إجاباتها جنبًا إلى جنب. لا مستودع حزم، ولا ذاكرة تخزين مؤقت، ولا شيء يبقى قيد التشغيل.
الفحص
يجيب كل provider مكتشَف عن
listOutdated()، أربعة في كل مرة. وإن فشل أحدها، فلا يتأثر إلا صفّه.الاختيار
راجع الحزم مجمّعة حسب provider، وصفِّها، واخترها — أو تخطَّ الفحص باستخدام
gup update brew:fzf.التحديث
تعمل الأوامر الأصلية كمتجه وسائط، ولا تمر أبدًا عبر صدفة الأوامر. وتُسجَّل كل محاولة في السجل المحلي.
04 / الأمان
ينفّذ أوامر بصلاحيات مرتفعة، ولذلك صُمِّم بعناية.
نقطة واحدة لاستدعاء صدفة الأوامر، ومتجهات وسائط صارمة، وقائمة سماح تثبّتها الاختبارات — وكل إيداع يمر عبر ثلاث أدوات للتحليل الساكن.
التنفيذ
تعمل العمليات الفرعية كمتجهات argv صارمة، دون
shell: trueأبدًا، عبر نقطة دخول واحدة خاضعة للتدقيق.سلسلة التوريد
تنزيلات عبر HTTPS فقط، وتدقيق للتبعيات في كل بناء، ومراجعة أسبوعية للتحديثات.
التحليل الساكن
CodeQL وSemgrep وeslint-plugin-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ما المكتشَف، وكيف تثبّت الباقي
