web-dev-qa-db-fra.com

Comment définir une adresse proxy à l'échelle du système à l'aide d'un script Shell?

Je souhaite définir l'adresse proxy du système via mon application Qt. Alors je me demandais si je pouvais écrire un script qui peut être exécuté par mon application à chaque fois pour changer l'adresse proxy.

J'ai essayé :

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

 export $1
 echo "Proxy Address ${1}

mais ce script n'a pas réussi. Je pense qu'il était incapable d'exécuter la commande "export".

Quelqu'un peut-il m'aider à résoudre ce problème?

6
skg

Essaye ça:

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

Note:

  • votre argument chaîne ($ 1) devrait être comme ceci

user_id:[email protected]:proxy_port

  • Si vous n'utilisez ni nom d'utilisateur ni mot de passe, la chaîne d'argument ($ 1) doit être

proxy.server.addr:proxy_port

  • vous pouvez exporter https_proxy et socks_proxy si vous en avez besoin.
  • Pour voir si votre proxy est défini ou non, utilisez env | grep proxy

Pour modifier le proxy système à l'aide d'un script Shell, essayez les solutions suivantes:

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

Si vous avez un identifiant et un mot de passe utilisateur

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

Pour utiliser http_proxy pour tout autre proxy

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

Pour définir le proxy de contournement pour tout hôte

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