Définir le proxy de manière permanente

Bonjour,
je me déplace actuellement entre deux endroits, un étant connecté à internet par une box et l'autre par le réseau renater, du coup je suis obligé de modifier mon .bashrc à chaque fois pour changer de proxy.
Je voudrais donc savoir si c'est possible depuis un terminal de changer de proxy de manière permanente. Les commandes export et setenv ne faisant que modifier les variables pour le terminal courant.

Note: j'ai cherché un peu avant de poser la question et je ne pense pas mais sait-on jamais. Du coup je pensais écrire un script pour automodifier le .bashrc

4 réponses

  1. Dans ton .bashrc, tu fais une fonction qui modifie ta variable de proxy :
    export http_proxy="proxhtp://monproxybox:3128"
    
    function renater () {export http_proxy="proxhtp://monproxyrenater:3128"}
    

    Ainsi quand tu es en déplacement, tu as juste à taper :
    renater
    0
    1. Je viens de tester mais quand je lance la fonction de changement de proxy que j'ai créé dans le .bashrc en suivant ton exemple ça change le proxy pour le terminal depuis lequel je le lance mais pas de manière global, par exemple je met pas le proxy dans le .bashrc du tout je lance chromium ça ne fonctionne pas, maintenant je met le proxy ça fonctionne. Ensuite j'indique les fonctions et quand je lance l'annulation de proxy je peux toujours me connecter sans bug avec chromium alors que c'est pas sencé être le cas.

      J'ai ajouté ça à mon .bashrc à la place de ma définition de proxy:
      function proxy_renater ()
      {
      	export http_proxy="cache.cites-u.univ-nantes.fr:3128"
      	export ftp_proxy="cache.cites-u.univ-nantes.fr:3128"
      	export HTTP_PROXY="cache.cites-u.univ-nantes.fr:3128"
      	export FTP_PROXY="cache.cites-u.univ-nantes.fr:3128"
      }
      function proxy_no ()
      {
      	export http_proxy=""
      	export ftp_proxy=""
      	export HTTP_PROXY=""
      	export FTP_PROXY=""
      }
      proxy_renater
      
      0
      1. Bien, tu devrais regarder non pas .bashrc mais .profile
        0
      2. .bash_profile tu veux dire ?
        étant donné qu'il ne contient que "[[ -f ~/.bashrc ]] && . ~/.bashrc" je vois pas trop ce que je pourrais regarder --'
        0
      3. .profile, le mien contient :

        #umask 022
        
        # if running bash
        if [ -n "$BASH_VERSION" ]; then
            # include .bashrc if it exists
            if [ -f "$HOME/.bashrc" ]; then
        	. "$HOME/.bashrc"
            fi
        fi
        
        # set PATH so it includes user's private bin if it exists
        if [ -d "$HOME/bin" ] ; then
            PATH="$HOME/bin:$PATH"
        fi
        0
      4. À la fin de ton fichier .bash_profile tu peux ajouter la commande:
        source ~/.bashrc


        Ainsi, dès le login, ton script sera lancé.
        0
      5. l'inclusion est pas déjà faite avec le contenu de mon .bash_profile ? non parce que vu ce qu'il y a d'indiqué moi je lis : si .bashrc existe l'inclure.
        0
    2. salut,

      il faut tester le réseau auquel tu es connecté, et, selon la réponse, lancer telle ou telle fonction.

      tu utilises toujours Xwindow, ou t'arrive-t-il de te logguer en console ?

      vu que tu parles de Chromium, je ne vais considérer que le premier cas.
      Tu mets le test réseau et les fonctions dans un script, qui sera lancé lors du démarrage de ta session, et ça, ça dépend de ton WM, pas de ton shell.
      0
      1. je me connecte en console et je lance ma session graphique manuellement avec un xinit.

        Sinon oui du coup je vois ce que vous me proposez mais je vois pas trop comment détecter le réseau. Faudrait que je teste avec un ping peut-être si le ping est bon je n'active pas de proxy sinon j'active le proxy. Le problème c'est que chez moi je me connecte en wifi et du coup la connexion se fait avec wicd après que Openbox soit lancé donc après le test donc le proxy sera activé tout le temps.

        Ce que je comprend pas c'est que ça soit si difficile à gérer à la main alors qu'avant sous Ubuntu j'allais juste dans les paramètres et ça fonctionnait direct. pourtant ça devait là aussi juste changer les variables d'environnement non ?
        0
        1. Le problème c'est que chez moi je me connecte en wifi et du coup la connexion se fait avec wicd après que Openbox soit lancé donc après le test donc le proxy sera activé tout le temps.

          Alors, je testerais que eth0 (par défaut) est up
          0