如何使用 shell 腳本設定係統範圍的代理位址?

如何使用 shell 腳本設定係統範圍的代理位址?

我想透過我的 Qt 應用程式設定係統代理地址。所以我想知道是否可以編寫一個腳本,每次更改代理地址時都可以由我的應用程式執行。

我試過 :

 #! /bin/sh 
 echo "# Generated by Application"

 export $1
 echo "Proxy Address ${1}

但這個腳本沒有成功。我認為它無法執行“導出”命令。

誰能幫我解決這個問題?

答案1

嘗試這個:

#! /bin/sh
echo "# Generated by Application"
export http_proxy='http://$1/'
export ftp_proxy='http://$1/'

筆記:

  • 你的參數字串($1)應該是這樣的

user_id:[email protected]:proxy_port

  • 如果您不使用使用者 ID 和密碼,則參數字串($1) 應該是

proxy.server.addr:proxy_port

  • 如果需要,您可以匯出https_proxy和socks_proxy。
  • 若要查看您的代理是否已設置,請使用env | grep proxy

若要使用 shell 腳本變更系統代理,請嘗試以下操作:

gsettings set org.gnome.system.proxy mode 'manual'
gsettings set org.gnome.system.proxy.http enabled true
gsettings set org.gnome.system.proxy.http host 'proxy.server.addr'
gsettings set org.gnome.system.proxy.http port proxy_port

如果您有使用者身分驗證通行證和 ID

gsettings set org.gnome.system.proxy.http authentication-user 'user_id'
gsettings set org.gnome.system.proxy.http authentication-password 'password'

將 http_proxy 用於所有其他代理

gsettings set org.gnome.system.proxy use-same-proxy true

為任何主機設定繞過代理

gsettings set org.gnome.system.proxy ignore-hosts "['localhost',  '127.0.0.1', 'all', 'other', 'hosts']"

相關內容