Wie lege ich mit einem Shell-Skript eine systemweite Proxy-Adresse fest?

Wie lege ich mit einem Shell-Skript eine systemweite Proxy-Adresse fest?

Ich möchte die Systemproxyadresse über meine Qt-Anwendung festlegen. Daher habe ich mich gefragt, ob ich ein Skript schreiben könnte, das von meiner Anwendung jedes Mal ausgeführt werden kann, um die Proxyadresse zu ändern.

Ich habe es versucht :

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

 export $1
 echo "Proxy Address ${1}

aber dieses Skript war nicht erfolgreich. Ich glaube, es konnte den Befehl „Export“ nicht ausführen.

Kann mir jemand helfen, dieses Problem zu lösen?

Antwort1

Versuche dies:

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

Notiz:

  • Ihr Argument string($1) sollte so aussehen

user_id:[email protected]:proxy_port

  • Wenn Sie weder Benutzer-ID noch Passwort verwenden, sollte das Argument string($1)

proxy.server.addr:proxy_port

  • Sie können bei Bedarf https_proxy und socks_proxy exportieren.
  • Um zu sehen, ob Ihr Proxy eingerichtet ist oder nicht, verwenden Sieenv | grep proxy

Um den Systemproxy mithilfe eines Shellskripts zu ändern, versuchen Sie Folgendes:

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

Wenn Sie einen Benutzerauthentifizierungspass und eine ID haben

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

Um http_proxy für alle anderen Proxys zu verwenden

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

So richten Sie den Bypass-Proxy für einen beliebigen Host ein

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

verwandte Informationen