บรรทัดคำสั่ง Linux เพื่อปิดพรอกซี


22

คุณสามารถแสดงบรรทัดคำสั่งเพื่อปิดพรอกซีเมื่อฉันใช้เทอร์มินัลบรรทัดคำสั่งใน Ubuntu ได้หรือไม่


คุณต้องปิดการใช้งานที่ไหน การตั้งค่าพร็อกซีนั้นขึ้นอยู่กับแอปพลิเคชันเท่าที่ฉันรู้
Diskilla

คำตอบ:


27

ดังคำตอบอื่น ๆ บอกว่ามีบางโปรแกรมที่ไม่ได้ดูระบบเลยคุณอาจต้องตั้งค่าแยกต่างหาก ตัวอย่างเช่น wget มีตัวเลือกพร็อกซีจำนวนมากที่สามารถใช้เพื่อเพิกเฉยหรือปรับเปลี่ยนการกำหนดค่าพร็อกซีด้านสิ่งแวดล้อมในระหว่างการดำเนินการ นี่คือจำนวนของพื้นที่ที่สามารถตั้งค่าพร็อกซีระบบได้

  • ระบบของฉันมีลักษณะอย่างไรโปรดทราบว่าคุณจะต้องเปลี่ยนการกำหนดค่าระบบที่ระบุสำหรับสภาพแวดล้อมการทำเครือข่ายของคุณ

ระบบ Linux บางระบบใช้ / 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/"  

มีชุดเดียวไม่ได้ตั้งค่าการใช้งานอื่น ๆ env

$ 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/  

ฉันจะตรวจสอบ ~ / .bashrc เพื่อให้การตั้งค่าถูกนำไปใช้โดยอัตโนมัติเมื่อระบบเริ่มทำงาน

$ 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

16

สมมติว่าคุณกำลังพูดถึงซอฟต์แวร์บรรทัดคำสั่งทั่วไปและพร็อกซี HTTP:

เครื่องมือบรรทัดคำสั่งส่วนใหญ่เลือกสิ่งนี้จากตัวแปรสภาพแวดล้อมHTTP_PROXYดังนั้นก่อนที่จะเรียกใช้คำสั่ง:

unset HTTP_PROXY

อาจมีการเปลี่ยนแปลงบางอย่างระหว่างซอฟต์แวร์ / แพลตฟอร์มและคุณอาจต้องunset http_proxyยัง

โปรดทราบว่าหลายโปรแกรมจัดเก็บข้อมูลนี้ในไฟล์กำหนดค่าของตนเองและมีแนวโน้มที่จะเพิกเฉยต่อสภาพแวดล้อมดังนั้นคุณจะต้องระบุที่อยู่เหล่านั้นเป็นกรณี ๆ ไป


ดูเหมือนว่าจะต้องรีบูต ...
Yan King Yin

5

คุณสามารถตั้งค่าหรือยกเลิกการตั้งค่าตัวแปรทั้งหมดในคราวเดียว:

$ 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

คุณยังสามารถเพิ่มทางลัดให้กับคุณ~/.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
}

อย่าลืมโหลด. bashrc อีกครั้ง:

$ . ~/.bashrc

หรือ

$ source ~/.bashrc

รายละเอียดเพิ่มเติมที่[S] นรก Hacks


นี่คือคำตอบที่ดี แต่ผมกลัวว่ามีสถานที่อื่น ๆ ในระบบเมื่อการตั้งค่าพร็อกซีต้องมีการเปลี่ยนแปลง: askubuntu.com/questions/664777/...
matandked

ซอฟต์แวร์ทุกตัวอาจใช้การตั้งค่าพร็อกซีของตนเอง (เช่น npm หรือ apt เพื่อตั้งชื่อไม่กี่) ดังนั้น http_proxy จึงครอบคลุมส่วนใหญ่ แต่คุณต้องตรวจสอบเอกสารเพื่อให้แน่ใจว่ามันใช้อันไหน
Adriano P

3

หากคุณต้องการเปลี่ยนพร็อกซีสำหรับโปรแกรม GUI คุณอาจประสบความสำเร็จหากพวกเขาใช้การตั้งค่าพร็อกซี "ระบบ" จาก Gnome นี่คือการตั้งค่าพร็อกซีที่สามารถตั้งค่าได้จากแผงควบคุม

คุณสามารถดูและเปลี่ยนการตั้งค่าปัจจุบันด้วย gconftool:

$ 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/

หากต้องการปิดพรอกซี - ตั้งค่า use_http_proxy เป็น false:

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

คุณสามารถตรวจสอบผลลัพธ์โดยใช้-aบรรทัดจากด้านบน อีกวิธีหนึ่งในการตั้งค่าพร็อกซีใหม่:

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


1

หากทุกสิ่งที่เขียนข้างต้นไม่ทำงาน:

  1. ไปที่การตั้งค่าระบบ
  2. ไปที่เครือข่าย
  3. ไปที่ network-proxy และแม้ว่าตัวเลือกที่เลือกคือ "none" ไปที่ "manual" และลบพร็อกซีที่บันทึกไว้ทั้งหมด
  4. ใช้ระบบทั้งระบบ

สิ่งนี้ได้ผลสำหรับฉัน!


1
OP ถามถึงตัวเลือกบรรทัดคำสั่งเป็นพิเศษ พวกเขาอาจไม่ได้ติดตั้ง GUI
Burgi

1

หากต้องการปิดใช้งานตัวแปรพร็อกซีทั้งหมดในหนึ่งบรรทัดสำหรับเซสชันปัจจุบันของคุณ:

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

0

คุณสามารถลบ {http_proxy, https_proxy} etc ทั้งหมดออกจาก / etc / environment เพียงแค่ sudo gedit / etc / environment จากนั้นลบ proxies เหล่านั้นทั้งหมดและบันทึกด้วยตนเอง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.