Linux-Befehlszeile zum Deaktivieren des Proxys


22

Können Sie mir die Befehlszeile zum Deaktivieren des Proxys anzeigen, wenn ich das Befehlszeilenterminal in Ubuntu verwende?


Wo müssen Sie es deaktivieren? Die Proxy-Einstellungen sind meines Wissens anwendungsabhängig.
Diskilla

Antworten:


27

Wie die andere Antwort besagt, gibt es einige Programme, die überhaupt nicht auf das System schauen. Möglicherweise müssen Sie sie einzeln einrichten. Beispielsweise verfügt wget über eine Reihe von Proxy-Optionen, mit denen die Umgebungs-Proxy-Konfiguration während der Ausführung ignoriert oder angepasst werden kann. Hier finden Sie eine Reihe von Bereichen, in denen die System-Proxys eingerichtet werden können.

  • Beachten Sie, dass Sie die angegebene Systemkonfiguration für Ihre Netzwerkumgebung ändern müssen, wie mein System aussieht.

Einige Linux-Systeme verwenden / etc / environment

$ cat /etc/environment 
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
http_proxy="http://192.168.1.250:8080/"
ftp_proxy="ftp://192.168.1.250:8080/"
https_proxy="https://192.168.1.250:8080/"  

Es gibt keine einheitliche Einzeleinrichtung für eine andere Verwendung

$ env | grep -i proxy
NO_PROXY=localhost,127.0.0.0/8,127.0.1.1
http_proxy=http://192.168.1.250:8080/
FTP_PROXY=ftp://192.168.1.250:8080/
ftp_proxy=ftp://192.168.1.250:8080/
all_proxy=socks://192.168.1.250:8080/
ALL_PROXY=socks://192.168.1.250:8080/
HTTPS_PROXY=https://192.168.1.250:8080/
https_proxy=https://192.168.1.250:8080/
no_proxy=localhost,127.0.0.0/8,127.0.1.1
HTTP_PROXY=http://192.168.1.250:8080/  

Ich würde das ~ / .bashrc auschecken, um die Einstellung beim Systemstart automatisch anwenden zu lassen.

$ man env
$ man set
$ # The file section near the end of the bash manual.
$ man bash 

FILES
       /bin/bash
              The bash executable
       /etc/profile
              The systemwide initialization file, executed for login shells
       /etc/bash.bashrc
              The systemwide per-interactive-shell startup file
       /etc/bash.bash.logout
              The systemwide login shell cleanup file, executed when  a  login
              shell exits
       ~/.bash_profile
              The personal initialization file, executed for login shells
       ~/.bashrc
              The individual per-interactive-shell startup file
       ~/.bash_logout
              The  individual  login shell cleanup file, executed when a login
              shell exits
       ~/.inputrc
              Individual readline initialization file

15

Angenommen, Sie sprechen von typischer Befehlszeilensoftware und einem HTTP-Proxy:

Die meisten Befehlszeilentools übernehmen dies aus der Umgebungsvariablen HTTP_PROXY, also bevor Sie einen Befehl ausführen:

unset HTTP_PROXY

Es kann Abweichungen zwischen Software / Plattformen geben, und Sie müssen dies möglicherweise auch tun unset http_proxy.

Beachten Sie, dass viele Programme diese Informationen in ihren eigenen Konfigurationsdateien speichern und die Umgebung wahrscheinlich ignorieren, sodass Sie diese von Fall zu Fall behandeln müssen.


4

Sie können in bash alle Variablen gleichzeitig setzen oder entfernen:

$ export {http,https,ftp}_proxy="http://proxy-server:port"
$ unset {http,https,ftp}_proxy

$ export {HTTP,HTTPS,FTP}_PROXY="http://proxy-server:port"
$ unset {HTTP,HTTPS,FTP}_PROXY

Sie können auch eine Verknüpfung hinzufügen ~/.bashrc:

# Set Proxy
function setproxy() {
    export {http,https,ftp}_proxy="http://proxy-server:port"
    export {HTTP,HTTPS,FTP}_PROXY="http://proxy-server:port"
}

# Unset Proxy
function unsetproxy() {
    unset {http,https,ftp}_proxy
    unset {HTTP,HTTPS,FTP}_PROXY
}

Vergiss nicht .bashrc neu zu laden:

$ . ~/.bashrc

oder

$ source ~/.bashrc

Weitere Details unter [S] hell Hacks .


Dies ist eine gute Antwort, aber ich fürchte, es gibt mehr Stellen im System, an denen Proxy-Einstellungen geändert werden müssen: askubuntu.com/questions/664777/… .
Matandked

Jede Software verwendet möglicherweise ihre eigenen Proxy-Einstellungen (z. B. npm oder apt, um nur einige zu nennen). Http_proxy deckt also die meisten davon ab, aber Sie müssen die Dokumentation überprüfen, um sicherzugehen, welches verwendet wird.
Adriano P

3

Wenn Sie den Proxy für GUI-Programme ändern möchten, können Sie einige Erfolge erzielen, wenn diese die "System" -Proxyeinstellungen von Gnome verwenden. Dies sind die Proxy-Einstellungen, die in der Systemsteuerung festgelegt werden können.

Sie können die aktuellen Einstellungen mit gconftool anzeigen und dann ändern:

$ gconftool-2 -a /system/http_proxy
  ignore_hosts = [localhost,127.0.0.0/8,*.local]
  authentication_user =
  authentication_password =
  use_authentication = false
  use_http_proxy = true
  port = 8080
  host = http://myproxy.mydomain.org/

Um den Proxy auszuschalten, setzen Sie use_http_proxy auf false:

$ gconftool-2 -t bool -s /system/http_proxy/use_http_proxy false

Sie können die Ergebnisse anhand der -aobigen Zeile überprüfen . Alternativ können Sie einen neuen Proxy einrichten:

$ gconftool-2 -t string -s /system/http_proxy/host "http://newproxy.mydomain.org/"
$ gconftool-2 -t int -s /system/http_proxy/port 8088

3
export http_proxy=

Sie können überprüfen, ob sie weg sind, indem Sie ausführen

echo $http_proxy

Es sollte eine leere Zeile zurückgeben


1

Wenn alle oben beschriebenen Dinge nicht funktionieren:

  1. Gehen Sie zu den Systemeinstellungen.
  2. Gehe zum Netzwerk.
  3. Gehen Sie zum Netzwerk-Proxy und entfernen Sie alle gespeicherten Proxys, selbst wenn die ausgewählte Option "Keine" ist. Gehen Sie zu "Manuell".
  4. Bewerben Sie sich systemweit.

Das hat bei mir funktioniert!


1
Das OP fragte speziell nach einer Befehlszeilenoption. Möglicherweise haben sie die GUI
Burgi

1

So deaktivieren Sie alle Proxy-Variablen in einer Zeile für Ihre aktuelle Sitzung:

unset `env | grep proxy | cut -d= -f1`

0

Sie können alle {http_proxy, https_proxy} etc aus / etc / environment löschen. Einfach sudo gedit / etc / environment und dann alle diese Proxys manuell löschen und speichern.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.