쉘 스크립트를 사용하여 시스템 전체 프록시 주소를 설정하는 방법은 무엇입니까?

쉘 스크립트를 사용하여 시스템 전체 프록시 주소를 설정하는 방법은 무엇입니까?

Qt 애플리케이션을 통해 시스템 프록시 주소를 설정하고 싶습니다. 그래서 프록시 주소를 변경하기 위해 매번 내 애플리케이션에서 실행할 수 있는 스크립트를 작성할 수 있는지 궁금합니다.

나는 시도했다 :

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

 export $1
 echo "Proxy Address ${1}

하지만 이 스크립트는 성공하지 못했습니다. "내보내기" 명령을 실행할 수 없는 것 같습니다.

누구든지 이 문제를 해결하도록 도와줄 수 있나요?

답변1

이 시도:

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

메모:

  • 인수 문자열($1)은 다음과 같아야 합니다.

user_id:[email protected]:proxy_port

  • 사용자 ID와 비밀번호를 사용하지 않는 경우 인수 문자열($1)은 다음과 같아야 합니다.

proxy.server.addr:proxy_port

  • 필요한 경우 https_proxy 및 Socks_proxy를 내보낼 수 있습니다.
  • 프록시가 설정되어 있는지 확인하려면env | grep proxy

쉘 스크립트를 사용하여 시스템 프록시를 변경하려면 다음을 시도하십시오.

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

사용자 인증패스와 아이디가 있는 경우

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

다른 모든 프록시에 http_proxy를 사용하려면

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

모든 호스트에 대해 우회 프록시를 설정하려면

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

관련 정보