Đôi khi tôi cần gửi lưu lượng truy cập của mình đến proxy, đôi khi tôi không.
Hiện tại, tôi phải vào cài đặt mỗi lần để nhấp vào nó.
Có cách nào đơn giản để tôi chuyển đổi điều này? Ví dụ, sử dụng lệnh shell để làm điều này.
Đôi khi tôi cần gửi lưu lượng truy cập của mình đến proxy, đôi khi tôi không.
Hiện tại, tôi phải vào cài đặt mỗi lần để nhấp vào nó.
Có cách nào đơn giản để tôi chuyển đổi điều này? Ví dụ, sử dụng lệnh shell để làm điều này.
Câu trả lời:
Điều này có thể được thực hiện với networksetup
.
Nhận tất cả các dịch vụ:
networksetup -listallnetworkservices
Sau đó, với dịch vụ phù hợp (ví dụ: Ethernet hoặc tên của bộ điều hợp LAN USB 10/100/1000), hãy nhập
sudo networksetup -setsocksfirewallproxy <networkservice> <domain> <port number> <authenticated> <username> <password>
hoặc là
sudo networksetup -setwebproxy <networkservice> <domain> <port number> <authenticated> <username> <password>
để định cấu hình nó (không cần thiết trong trường hợp của bạn, vì bạn đã nhập tất cả các giá trị cần thiết).
ví dụ
sudo networksetup -setsocksfirewallproxy Ethernet 127.0.0.1 18080
sudo networksetup -setwebproxy Ethernet 127.0.0.1 18080
Để đơn giản bật hoặc tắt sử dụng:
sudo networksetup -setsocksfirewallproxystate networkservice on | off
sudo networksetup -setwebproxystate networkservice on | off
ví dụ
sudo networksetup -setsocksfirewallproxystate Ethernet off
sudo networksetup -setwebproxystate Ethernet off
man networksetup
sẽ tiết lộ các tùy chọn proxy khác (gopher, ftp, v.v.)
Hãy xem trang này tại YourMacGuy về lệnh Terminal networksetup
. Mặc dù trang có từ năm 2008, lệnh vẫn tồn tại và hoạt động trong macOS Sierra. Có lẽ một trong những lệnh liên quan đến proxy sẽ làm việc cho bạn. Bạn luôn có thể tạo nhiều Vị trí trong Tùy chọn hệ thống> Mạng có thể bật hoặc tắt proxy. Bạn vẫn sẽ cần phải mở System Preferences, mặc dù.
Tôi làm điều đó bằng cách xác định các phím tắt trong Hammerspoon . Bây giờ tôi có thể chuyển proxy hệ thống chỉ bằng phím tắt CommandOptionControlP.
Mã nguồn có sẵn trên GitHub .
Đây là các bước thiết lập:
networksetup -setwebproxy "Wi-fi" 127.0.0.1 8080
networksetup -setsecurewebproxy "Wi-fi" 127.0.0.1 8080
~/.profile
toggleProxy() {
e=$(networksetup -getwebproxy wi-fi | grep "No")
ns=wi-fi
status=''
if [ -n "$e" ]; then
status=on
else
status=off
fi
echo -n "Turning $status proxy"
networksetup -setstreamingproxystate $ns $status
networksetup -setsocksfirewallproxystate $ns $status
networksetup -setwebproxystate $ns $status
networksetup -setsecurewebproxystate $ns $status
}
~/.hammerspoon/init.lua
hs.hotkey.bind({"cmd", "alt", "ctrl"}, "P", function()
local output = hs.execute("toggleProxy", true)
hs.alert.show(output)
end)
sudo networksetup -setsocksfirewallproxy "USB 10/100/1000 LAN" 127.0.0.1 8888
/sudo networksetup -setsocksfirewallproxystate "USB 10/100/1000 LAN" off
/sudo networksetup -setsocksfirewallproxystate "USB 10/100/1000 LAN" on
công trình tuyệt vời.