Ngiêm cấm sử đụng PROXY và VPS vào mục đích trái pháp luật bạn sẽ phải chịu toàn bộ trách nhiệm trước pháp luật khi sử dụng dịch vụ của chúng tôi tks!
WinGet proxy: --proxy, DefaultProxy và quyền quản trị

WinGet proxy: --proxy, DefaultProxy và quyền quản trị

Chuyên viên Kỹ thuật ProxyVN 08-16-2026 Đang tính... phút đọc

WinGet proxy là cấu hình để Windows Package Manager, công cụ winget có sẵn trên Windows 10 và 11, tải nguồn package và bộ cài qua một máy chủ proxy. WinGet có tham số --proxy, nhưng tham số này bị khóa cho tới khi quản trị viên bật. ProxyVN chạy winget 1.29.380 trên máy lab, đọc tài liệu Microsoft Learn và mã nguồn winget-cli để chỉ ra phần nào người dùng tự làm được, phần nào cần quản trị viên, và bộ cài có theo proxy hay không.

WinGet proxy: tác vụ cụ thể và ranh giới với bài đã có

WinGet tải những gì

Ba bước dùng mạng của winget

Ba bước dùng mạng của winget

Một lệnh winget install gồm ba bước có dùng mạng. Bước một cập nhật nguồn: với nguồn winget mặc định, công cụ tải tệp chỉ mục source2.msix từ mạng phân phối của Microsoft. Bước hai tải bộ cài theo URL ghi trong manifest, thường là trang của nhà phát triển hoặc kho phát hành trên GitHub. Bước ba chạy bộ cài .exe, .msi hoặc .msix.

Bước ba có thể dùng mạng lần nữa nếu bộ cài là web installer, tự tải dữ liệu sau khi chạy. Lượt tải đó do bộ cài làm, không do winget.

Proxy của WinGet áp cho bước một và bước hai, không có gì bảo đảm bộ cài ở bước ba đi cùng proxy.

Ranh giới với bài khác

Bài PowerShell proxy có nhắc kiểm WinHTTP khi winget lỗi mạng, nhưng không đi vào thiết lập của winget. Bài wget proxy nói về một công cụ khác tên gần giống. Bài này chỉ nói về thiết lập proxy của chính winget: tham số dòng lệnh, thiết lập quản trị DefaultProxy, chính sách nhóm và phạm vi thật của chúng.

Phạm vi kiểm thử

Lab chạy Windows 10 với winget v1.29.380, tài khoản người dùng thường không có quyền quản trị. Lab chỉ chạy các lệnh đọc và lệnh có tham số proxy để xem phản hồi, không bật thiết lập quản trị, không đổi proxy của Windows. Lý do không bật: thiết lập quản trị áp cho cả máy và cho mọi người dùng, thuộc nhóm thay đổi cấu hình hệ thống, không phù hợp làm trên máy lab dùng chung. Phần còn lại dựa trên trang lệnh settings của winget trên Microsoft Learn, cập nhật tháng 7 năm 2026, và các tệp mã nguồn winget-cli trên nhánh master ngày 29/10/2026.

Kiểm chứng tùy chọn WinGet proxy và phạm vi nguồn package

Tham số --proxy và --no-proxy

Trang lệnh settings và phần trợ giúp của mọi lệnh đều có hai tham số chung: --proxy đặt proxy cho lần chạy này, --no-proxy tắt proxy cho lần chạy này. Trên máy lab, phần trợ giúp in đúng hai dòng:

  --proxy                     Set a proxy to use for this execution
  --no-proxy                  Disable the use of proxy for this execution

Chạy thử lệnh tìm kiếm có tham số proxy:

winget search vim --source winget --proxy http://127.0.0.1:8971

winget không tìm kiếm mà in thông báo: This feature needs to be enabled by administrators. To enable it, run 'winget settings --enable ProxyCommandLineOptions' as administrator. Tham số --no-proxy cho cùng thông báo. Proxy lab không nhận request nào. Nghĩa là trên máy chưa bật thiết lập quản trị, người dùng thường không dùng được cả hai tham số.

Đọc trạng thái bằng settings export

Lệnh winget settings export in thiết lập dạng JSON, không cần quyền quản trị:

{"adminSettings":{"BypassCertificatePinningForMicrosoftStore":false,
"ConfigurationProcessorPath":false,"InstallerHashOverride":false,
"LocalArchiveMalwareScanOverride":false,"LocalManifestFiles":false,
"ProxyCommandLineOptions":false},"userSettingsFile":"C:\\Users\\...\\settings.json"}

Khóa ProxyCommandLineOptions bằng false khớp với thông báo ở trên. Đây là lệnh đầu tiên nên chạy khi --proxy không có tác dụng, để biết lỗi do thiết lập hay do proxy.

Nguồn winget và nguồn msstore

Nguồn winget là kho manifest cộng đồng do Microsoft vận hành, chỉ mục tải về dưới dạng tệp msix. Nguồn msstore lấy dữ liệu từ Microsoft Store. Log của lab ghi lượt cập nhật nguồn winget dùng WinINet tải https://cdn.winget.microsoft.com/cache/source2.msix. Lab không kiểm nguồn msstore. Nguồn tự thêm bằng winget source add, như REST source nội bộ của công ty, cũng là request HTTPS tới máy chủ của nguồn đó.

Chuẩn bị phiên bản, tài khoản và môi trường kiểm thử WinGet proxy

Ghi phiên bản

Chạy winget --version, lab nhận v1.29.380. Thiết lập proxy được thêm từ các bản 1.x gần đây, máy có winget quá cũ sẽ không có tham số --proxy. Cập nhật App Installer trong Microsoft Store để có winget mới.

Quyền quản trị

Bật ProxyCommandLineOptions và đặt DefaultProxy đều cần mở cửa sổ dòng lệnh bằng Run as administrator. Trên máy công ty, quản trị viên thường đẩy thiết lập bằng chính sách nhóm thay vì bật tay từng máy. Người dùng thường không có quyền thì phải nhờ bộ phận IT.

Tài khoản proxy

Bài chưa thấy tài liệu nói winget nhận tài khoản trong URL proxy, và lab chưa kiểm vì không bật được thiết lập quản trị. Với winget, proxy xác thực bằng IP là lựa chọn an toàn: không có mật khẩu nằm trong thiết lập máy. Bài xác thực proxy bằng IP whitelist hay user password so sánh hai cách.

Proxy có nhật ký

Chuẩn bị proxy ghi được nhật ký để thấy winget gọi tới đâu. Với proxy thương mại, dùng bảng thống kê lưu lượng. Mỗi request HTTPS hiện thành một dòng CONNECT tới tên máy chủ, ví dụ cdn.winget.microsoft.com:443 khi cập nhật nguồn.

Cấu hình WinGet proxy tối thiểu và phạm vi từng thiết lập

Bật tham số dòng lệnh

Tham số proxy bị khóa

Tham số proxy bị khóa

Mở cửa sổ quyền quản trị:

winget settings --enable ProxyCommandLineOptions
winget settings export

Sau khi bật, export phải ra ProxyCommandLineOptions bằng true. Từ đó mọi người dùng trên máy đều dùng được --proxy và --no-proxy, vì đây là thiết lập quản trị cho cả máy, không phải thiết lập cá nhân.

Đặt proxy mặc định

Mã nguồn AdminSettings.cpp có thiết lập chuỗi DefaultProxy. Lớp NetworkSettings đọc giá trị này khi khởi động, ghi vào log dòng Default proxy is hoặc Default proxy is not set. Lệnh đặt dùng lệnh con set của settings, cũng cần quyền quản trị:

winget settings set DefaultProxy http://203.0.113.10:8080
winget settings reset DefaultProxy

Dòng thứ nhất đặt proxy mặc định cho mọi lần chạy winget trên máy. Dòng thứ hai trả về mặc định, tức không có proxy riêng. Bài chưa chạy hai lệnh này. Log của lab ghi Default proxy is not set, đúng với máy chưa đặt.

Thứ tự giữa DefaultProxy và tham số

Khi có DefaultProxy, tham số --proxy của một lần chạy đặt proxy khác cho lần đó, --no-proxy tắt proxy cho lần đó. Hai tham số chỉ dùng được khi ProxyCommandLineOptions đã bật. Vậy quản trị viên có thể đặt DefaultProxy mà không bật tham số, để người dùng không tự đổi hay tắt proxy.

Ba cách phối hợp hay dùng

Cách thứ nhất dành cho máy cá nhân của lập trình viên: bật ProxyCommandLineOptions, không đặt DefaultProxy. Người dùng thêm --proxy khi cần, các lệnh khác đi theo mạng bình thường. Cách thứ hai dành cho máy văn phòng bắt buộc đi proxy: đặt DefaultProxy bằng chính sách, không bật tham số. Mọi lệnh winget đi qua proxy công ty, người dùng không tự tắt được. Cách thứ ba dành cho máy build vừa dùng nguồn nội bộ vừa dùng nguồn công cộng: đặt DefaultProxy và bật tham số, để kịch bản dùng --no-proxy cho các lệnh chỉ chạm nguồn nội bộ.

Chọn cách nào thì cũng ghi lại trong tài liệu nội bộ của nhóm. Người dùng gặp lỗi mạng khi chạy winget thường không biết máy đang theo cách nào, và mất thời gian thử biến môi trường vốn không có tác dụng.

Chính sách nhóm

Tệp ADMX của winget-cli có hai chính sách liên quan, đặt trong khóa Software\Policies\Microsoft\Windows\AppInstaller của máy:

Bảng: Chính sách nhóm

Chính sách

Giá trị registry

Tác dụng

EnableWindowsPackageManagerProxyCommandLineOptions

Cùng tên

Cho phép tham số --proxy và --no-proxy

WindowsPackageManagerDefaultProxy

DefaultProxy

Đặt proxy mặc định cho winget

Doanh nghiệp quản lý máy bằng Group Policy hay Intune nên đặt qua chính sách. Giá trị đặt bằng chính sách có ưu tiên hơn thiết lập bật tay trên máy, và người dùng không tự gỡ được.

WinGet tự chuyển sang WinINet khi có proxy

Tự chuyển sang WinINet

Tự chuyển sang WinINet

Thiết lập network.downloader trong tệp settings của người dùng có hai giá trị: do dùng Delivery Optimization, mặc định, và wininet dùng WinINet. Mã nguồn NetworkSettings.cpp có đoạn: khi có proxy mà downloader không phải WinINet, winget ghi log Forcing use of wininet for download as DO does not support proxy, rồi dùng WinINet. Nói cách khác, Delivery Optimization không hỗ trợ proxy riêng của winget, nên đặt proxy là winget tự đổi cách tải.

Hệ quả: khi có proxy, lượt tải bộ cài không còn hưởng bộ nhớ đệm chia sẻ của Delivery Optimization giữa các máy trong mạng. Với nhóm nhiều máy cùng cài một phần mềm lớn, lưu lượng qua proxy sẽ tăng.

Delivery Optimization khi không có proxy riêng

Khi winget không có proxy, downloader mặc định là Delivery Optimization, một dịch vụ của Windows có thể lấy dữ liệu từ máy khác trong mạng. Trang settings có thiết lập doProgressTimeoutInSeconds, số giây chờ không có tiến triển trước khi chuyển sang cách tải dự phòng. Trên mạng bắt buộc đi proxy, lượt tải bằng Delivery Optimization có thể đứng yên một lúc rồi mới chuyển. Hiện tượng anh em thấy là winget đứng ở 0% khá lâu trước khi chạy tiếp hoặc báo lỗi.

Đổi network.downloader sang wininet trong tệp settings cá nhân bỏ được khoảng chờ này, vì winget dùng WinINet ngay từ đầu. Đây là thiết lập người dùng tự đổi được, hữu ích trên máy không có quyền quản trị mà mạng bắt buộc đi proxy Windows.

Chạy đối chứng và đọc log WinGet proxy

Bật log chi tiết

Thêm --verbose-logs vào lệnh, winget ghi log chi tiết vào thư mục DiagOutputDir trong thư mục dữ liệu của App Installer. Lệnh winget settings --logs mở thẳng thư mục này. Lab chạy:

winget search vim --source winget --verbose-logs

Hai dòng liên quan tới mạng trong log của lab:

<I> [CORE] WinINet downloading from url: https://cdn.winget.microsoft.com/cache/source2.msix
<I> [CORE] Default proxy is not set

Dòng đầu cho biết cập nhật nguồn đi bằng WinINet. Dòng sau cho biết winget không có proxy riêng. Khi đã đặt DefaultProxy, dòng sau sẽ in địa chỉ proxy. Khi có dòng Forcing use of wininet, winget đã đổi downloader vì có proxy.

Tải bộ cài mà không cài

Lệnh winget download tải bộ cài và manifest về thư mục, không chạy bộ cài. Đây là cách kiểm bước hai mà không thay đổi máy:

winget download --id Vim.Vim --download-directory C:\lab\dl --proxy http://203.0.113.10:8080

Trên máy đã bật ProxyCommandLineOptions, nhật ký proxy phải có CONNECT tới tên máy chủ trong URL bộ cài của manifest. Lab chưa chạy được lệnh này với proxy vì thiết lập quản trị chưa bật.

Bộ ca nên chạy khi có quyền quản trị

  • Bật ProxyCommandLineOptions, chạy winget source update --proxy với proxy đúng, nhật ký phải có cdn.winget.microsoft.com.
  • Cùng lệnh với proxy sai cổng, ghi lại thông báo lỗi.
  • winget download một gói nhỏ có --proxy, xem nhật ký có tên máy chủ của bộ cài.
  • Đặt DefaultProxy, chạy lệnh không tham số, xem log có dòng Default proxy is với địa chỉ đúng.
  • Có DefaultProxy, chạy lệnh có --no-proxy, nhật ký proxy phải trống.
  • Cài một gói có web installer, so nhật ký proxy với log của bộ cài.

Sáu ca này trả lời đủ câu hỏi proxy có được áp không, áp cho bước nào, và bộ cài có theo không.

Bộ cài MSI và EXE với WinGet proxy

winget không truyền proxy cho bộ cài

Bộ cài chạy như một tiến trình riêng với tham số im lặng ghi trong manifest. Bài không thấy trong tài liệu chỗ nào nói winget truyền proxy của nó cho bộ cài. Bộ cài offline chứa đủ dữ liệu thì không cần mạng nữa. Bộ cài web installer tự tải tiếp bằng thư viện của nó, thường là WinINet hay WinHTTP, đọc proxy của Windows hoặc proxy của dịch vụ hệ thống.

Kết quả hay gặp trên máy chỉ đặt DefaultProxy cho winget: winget tải bộ cài xong, bộ cài báo lỗi mạng hoặc treo ở bước tải thành phần. Log của winget chỉ ghi mã thoát của bộ cài. Cần mở log của chính bộ cài.

Cài theo phạm vi máy

Bộ cài phạm vi máy chạy với quyền quản trị, có khi chạy dưới tài khoản hệ thống. Proxy đặt trong Settings của tài khoản người dùng không áp cho tài khoản hệ thống. Lệnh netsh winhttp show proxy cho biết proxy WinHTTP của máy, thứ mà dịch vụ hệ thống hay dùng. Bài cài đặt proxy cho Windows 10 phân biệt proxy người dùng với proxy hệ thống.

Cách xử lý

Chọn bộ cài offline nếu manifest có, dùng --installer-type để chọn loại khác, hoặc tải bộ cài đầy đủ về kho nội bộ. Đặt proxy hệ thống chỉ trong lúc cài là lựa chọn cuối, vì ảnh hưởng mọi ứng dụng. Gỡ ngay khi xong, theo bài cách tắt proxy trên Windows.

WinGet proxy với nguồn nội bộ

REST source của công ty

Doanh nghiệp có thể dựng nguồn winget riêng theo chuẩn REST, rồi thêm vào máy bằng winget source add với kiểu Microsoft.Rest. Nguồn này thường nằm trong mạng nội bộ. Nếu máy đặt DefaultProxy trỏ tới proxy ngoài, lượt gọi tới nguồn nội bộ cũng đi qua proxy đó, và proxy ngoài không vào được mạng nội bộ.

Bài không thấy trong mã nguồn thiết lập quản trị nào cho danh sách bỏ qua proxy của winget. Có ba cách xử lý. Cách một là dùng proxy nội bộ có quyền ra Internet và vào được nguồn nội bộ, đặt làm DefaultProxy. Cách hai là không đặt DefaultProxy, để winget dùng proxy Windows có danh sách ngoại lệ chứa tên nguồn nội bộ. Cách ba là bật tham số dòng lệnh rồi dùng --no-proxy cho các lệnh chỉ làm việc với nguồn nội bộ.

Kiểm nguồn đang dùng

winget source list
winget source update --name winget

Lệnh thứ nhất in các nguồn và URL. Lệnh thứ hai cập nhật riêng một nguồn, giúp tách lỗi theo nguồn. Một nguồn cập nhật được còn nguồn kia lỗi thì vấn đề nằm ở đường tới nguồn lỗi, không phải cấu hình proxy chung.

WinGet proxy trong kịch bản và CI

Chạy không hỏi

Kịch bản cài phần mềm tự động cần thêm --accept-source-agreements, --accept-package-agreements và --disable-interactivity để winget không dừng lại hỏi. Khi chạy dưới tài khoản hệ thống, nhớ rằng tài khoản này không có proxy Windows của người dùng, nên DefaultProxy hoặc chính sách nhóm là cách duy nhất trong bài để winget có proxy.

Đọc thiết lập từ registry

Muốn biết chính sách proxy đã được đẩy xuống máy chưa mà không mở công cụ quản trị, đọc khóa chính sách. Lệnh chỉ đọc, không đổi gì:

reg query HKLM\Software\Policies\Microsoft\Windows\AppInstaller

Có giá trị EnableWindowsPackageManagerProxyCommandLineOptions hoặc DefaultProxy trong kết quả nghĩa là chính sách đã áp. Không có khóa nghĩa là máy chưa nhận chính sách nào cho App Installer.

winget tự cập nhật

Bản thân winget đi kèm gói App Installer, được cập nhật qua Microsoft Store hoặc qua bộ cài msixbundle. Lượt cập nhật này không đi qua thiết lập DefaultProxy của winget. Máy không vào được Store thì quản trị viên cần cách phân phối App Installer riêng.

WinGet proxy khi không có quyền quản trị

Người dùng thường làm được gì

Không có quyền quản trị thì không bật được tham số, không đặt được DefaultProxy. Còn hai đường. Đường thứ nhất là proxy của Windows trong Settings: WinINet mà winget dùng để tải thường đọc cài đặt này của người dùng khi winget không có proxy riêng. Lab không kiểm vì không đổi proxy hệ thống. Đường thứ hai là đổi network.downloader trong tệp settings cá nhân sang wininet, để lượt tải bộ cài cũng đi qua WinINet thay vì Delivery Optimization.

"network": {
    "downloader": "wininet"
}

Mở tệp bằng lệnh winget settings, tệp nằm ở đường dẫn userSettingsFile mà export in ra. Thiết lập này không cần quyền quản trị.

Biến môi trường không có tác dụng

WinINet không đọc HTTP_PROXY hay HTTPS_PROXY. Đặt hai biến này cho winget không có tác dụng như với curl hay git. Đây là khác biệt dễ gây nhầm khi chuyển từ công cụ dòng lệnh khác sang winget. Bài No_proxy là gì giải thích nhóm biến này và công cụ nào đọc chúng.

Proxy tự dò

Máy có Automatically detect settings hoặc tệp PAC trong cài đặt proxy, WinINet sẽ dò proxy theo đó. Dò thất bại có thể làm winget chậm ở bước đầu. Lỗi Windows could not automatically detect network proxy settings có cách xử lý trong bài Windows không tự dò được proxy.

Kiểm nhanh đường mạng trước khi chạy WinGet proxy

Proxy có sống không

Trước khi đổi thiết lập winget, kiểm proxy mở cổng:

Test-NetConnection 203.0.113.10 -Port 8080
curl.exe -I -x http://203.0.113.10:8080 https://cdn.winget.microsoft.com/cache/source2.msix

Dòng thứ nhất cho biết có kết nối TCP tới proxy. Dòng thứ hai dùng curl có sẵn trong Windows xin proxy mở đường tới đúng máy chủ nguồn winget, trả mã 200 nghĩa là proxy cho đi tới tên miền này. Bài curl proxy có thêm tham số cho proxy có tài khoản.

Proxy nào Windows đang dùng

Hai lệnh chỉ đọc cho biết hai lớp proxy của Windows:

netsh winhttp show proxy
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer

Lệnh thứ nhất in proxy WinHTTP của máy, thường dành cho dịch vụ hệ thống. Lệnh thứ hai in proxy WinINet của người dùng đang đăng nhập, thứ mà winget có thể dùng khi không có proxy riêng. Hai giá trị khác nhau là chuyện bình thường, và giải thích vì sao cài phạm vi người dùng chạy còn cài phạm vi máy lỗi.

Lỗi hay gặp với WinGet proxy

Bảng tra

Bảng: Bảng tra

Hiện tượng

Nguyên nhân thường gặp

Hướng xử lý

This feature needs to be enabled by administrators

Chưa bật ProxyCommandLineOptions

Quản trị viên bật, hoặc đặt chính sách

Đặt HTTP_PROXY mà winget vẫn đi thẳng

winget không đọc biến môi trường

Dùng DefaultProxy hoặc proxy Windows

Cập nhật nguồn lỗi, trình duyệt vẫn vào mạng

Proxy chặn cdn.winget.microsoft.com

Mở tên miền này trên proxy

winget tải xong, bộ cài lỗi mạng

Bộ cài tự tải, dùng proxy hệ thống

Bộ cài offline, kho nội bộ

Cài phạm vi máy lỗi, phạm vi người dùng được

Tài khoản hệ thống không có proxy

Kiểm netsh winhttp show proxy

Tải chậm hẳn sau khi đặt proxy

winget đổi từ Delivery Optimization sang WinINet

Chấp nhận, hoặc đặt bộ nhớ đệm nội bộ

Mã 407 khi dùng proxy có tài khoản có thêm nguyên nhân phía nhà cung cấp, xem bài sửa lỗi 407 Proxy Authentication Required.

Mã lỗi WinINet hay gặp

Khi tải thất bại, winget in mã lỗi dạng số thập lục phân. Với lỗi mạng, phần lớn mã là lỗi WinINet hoặc mã HTTP gói trong dạng HRESULT:

Bảng: Mã lỗi WinINet hay gặp

Mã

Ý nghĩa

Gợi ý

0x80072EFD

Không kết nối được máy chủ

Proxy chết, sai cổng, hoặc tường lửa chặn

0x80072EE7

Không phân giải được tên

DNS hoặc tên proxy sai

0x80072EE2

Hết thời gian chờ

Proxy chậm hoặc bị chặn giữa đường

0x80190197

Mã HTTP 407

Proxy cần tài khoản

0x80190193

Mã HTTP 403

Proxy hoặc máy chủ từ chối

Hai chữ số cuối của nhóm 0x801901xx là mã HTTP viết theo hệ thập lục phân: 0x197 là 407, 0x193 là 403. Biết quy tắc này, anh em đọc được cả các mã HTTP khác mà bảng không liệt kê.

Tên miền cần mở

Proxy công ty có danh sách cho phép phải mở tên miền nguồn winget, gồm cdn.winget.microsoft.com như log đã ghi. Bộ cài thì tải từ đủ loại tên miền theo manifest: trang nhà phát triển, GitHub, mạng phân phối nội dung. Lệnh winget show --id <gói> in URL bộ cài, đọc trước khi xin mở tên miền.

Lỗi chứng chỉ

Proxy công ty chặn và ký lại HTTPS có thể làm winget báo lỗi chứng chỉ, nhất là với nguồn msstore có ghim chứng chỉ. Thiết lập quản trị BypassCertificatePinningForMicrosoftStore có trong export, nhưng tắt ghim chứng chỉ làm giảm an toàn. Chỉ quản trị viên hiểu rõ proxy mới nên đụng tới thiết lập này.

Gỡ cấu hình, quản lý bí mật và checklist WinGet proxy

Gỡ cấu hình

Mở cửa sổ quyền quản trị:

winget settings reset DefaultProxy
winget settings --disable ProxyCommandLineOptions
winget settings export

Export phải ra ProxyCommandLineOptions bằng false. Nếu đã đổi network.downloader trong tệp cá nhân để thử, xóa khối network hoặc trả về do. Nếu đã đặt proxy hệ thống hay netsh winhttp trong lúc thử, gỡ luôn.

Kiểm sau khi gỡ

Chạy lại winget search một gói bất kỳ kèm --verbose-logs, log phải ghi Default proxy is not set. Chạy thêm một lệnh có --proxy, winget phải in lại thông báo cần quản trị viên. Hai kết quả này cho thấy máy đã về trạng thái ban đầu như lúc lab bắt đầu kiểm.

Bí mật

DefaultProxy là thiết lập của cả máy, ai trên máy cũng có thể đọc qua export hoặc log chi tiết, vì log in nguyên địa chỉ proxy. Không đặt URL có mật khẩu vào DefaultProxy. Dùng proxy xác thực bằng IP, hoặc proxy công ty xác thực theo miền.

Checklist

Checklist WinGet proxy

Checklist WinGet proxy

  • Ghi phiên bản winget.
  • Chạy winget settings export để xem ProxyCommandLineOptions.
  • Có quyền quản trị thì bật tham số hoặc đặt DefaultProxy, không có thì dùng proxy Windows.
  • Không dựa vào HTTP_PROXY.
  • Kiểm bằng --verbose-logs, tìm dòng Default proxy is và Forcing use of wininet.
  • Dùng winget download để kiểm bước tải bộ cài mà không cài.
  • Kiểm riêng bộ cài web installer và cài phạm vi máy.
  • Gỡ cấu hình khi xong.

Chọn proxy cho WinGet proxy

Loại proxy

winget tải qua WinINet bằng HTTPS, cần proxy HTTP hỗ trợ CONNECT tới cổng 443. Lab không kiểm SOCKS. Với cấu hình cho cả máy qua DefaultProxy, proxy IP tĩnh xác thực bằng IP là lựa chọn gọn nhất vì không có mật khẩu.

ProxyVN có proxy dân cư tĩnh, datacenter và proxy xoay, hỗ trợ HTTP và SOCKS5, cấp tài khoản user và mật khẩu hoặc xác thực theo IP. Cần proxy HTTP có IP cố định cho máy cài phần mềm, anh em có thể mua proxy Việt Nam tại trang chủ ProxyVN rồi chạy sáu ca kiểm ở trên.

Proxy không đổi điều khoản của nguồn

Proxy chỉ đổi đường đi. Nguồn msstore và một số bộ cài có điều khoản theo vùng hay theo tài khoản. Proxy không phải cách để tải phần mềm mà tài khoản hay vùng của anh em không được phép.

Câu hỏi thường gặp về WinGet proxy

Có cách nào dùng --proxy mà không cần quản trị viên?

Không. Thông báo của winget ghi rõ cần quản trị viên bật ProxyCommandLineOptions. Người dùng thường chỉ còn đường dùng proxy Windows.

DefaultProxy có áp cho Microsoft Store không?

DefaultProxy là thiết lập của winget. Ứng dụng Microsoft Store và dịch vụ cập nhật Store không đọc thiết lập này. Lệnh winget dùng nguồn msstore có dùng proxy hay không, bài chưa kiểm.

winget upgrade --all có khác gì?

Không khác về cấu hình. Nhưng lệnh chạy nhiều bộ cài liên tiếp, mỗi bộ cài một cách tải, nên lỗi mạng thường chỉ xuất hiện ở vài gói. Đọc log từng gói thay vì đổi cấu hình proxy chung.

winget có dùng được proxy SOCKS5 không?

Bài chưa kiểm. WinINet có hỗ trợ SOCKS qua cài đặt proxy của Windows nhưng cách khai báo khác proxy HTTP, và tài liệu winget không nói gì về SOCKS. Với gói proxy có cả hai cổng, dùng cổng HTTP cho winget.

Proxy có làm bộ cài sai mã băm không?

Manifest của winget có mã băm SHA256 cho bộ cài, winget kiểm sau khi tải. Proxy HTTP thông thường chuyển nguyên văn byte trong đường hầm HTTPS nên không làm đổi tệp. Sai mã băm khi đi proxy thường do proxy công ty trả trang chặn thay vì tệp thật, hoặc do nhà phát triển đổi tệp ở cùng URL.

Giới hạn của bài

Lab chỉ chạy được phần không cần quyền quản trị: phản hồi của --proxy, --no-proxy, settings export và log chi tiết. Kết luận về DefaultProxy, chính sách nhóm và việc đổi sang WinINet đến từ mã nguồn winget-cli ngày 29/10/2026. Chưa thử tài khoản trong URL proxy, SOCKS, nguồn msstore và bộ cài thật.

WinGet proxy và những điều cần nhớ

WinGet proxy cần quản trị viên bật ProxyCommandLineOptions hoặc đặt DefaultProxy, không đọc HTTP_PROXY, và khi có proxy thì winget tự chuyển cách tải sang WinINet. Bộ cài chạy sau đó dùng mạng theo cách riêng, nên kiểm riêng bước cài bằng log của bộ cài. Cần proxy HTTP ổn định cho WinGet proxy, liên hệ Proxy.vn - Nhà cung cấp dịch vụ proxy chất lượng hàng đầu Việt Nam.

TIN TỨC LIÊN QUAN