공용 SOCKS4 프록시 시스템을 광범위하게 사용하는 방법은 무엇입니까?

공용 SOCKS4 프록시 시스템을 광범위하게 사용하는 방법은 무엇입니까?

저는 Pop!_OS 20.04를 사용하고 있습니다. Firefox에는 프록시 설정이 내장되어 있습니다. 그러니 문제 없습니다. 프록시체인을 사용하여 wget, curl, 에서 apt프록시를 사용할 수 있습니다 . 그러나 시스템 전체에 적용되는 것은 아닙니다. (네트워크>네트워크 프록시>수동으로 시도 gnome-control-center하고 프록시 서버와 포트를 추가했지만 전혀 작동하지 않습니다.)

나도 시도했다nmcli

  • nmcli con edit CONNECTION_NAME
  • set proxy.method auto
  • set proxy.pac-script proxy.pac

이 내 꺼야proxy.pac

function FindProxyForURL(url, host) {    
SOCKS4 *proxy*:*host*
}

그러나 이것도 작동하지 않습니다.

답변1

적어도 내 시스템에는 man nmcli다음 값이 있습니다 proxy.pac-script.

프록시.pac 스크립트

파일에서 JavaScript PAC(에이전트 자동 구성) 스크립트를 읽거나 명령줄에 직접 전달합니다. 강제로 사용하려면 값 앞에 "file://" 또는 "js://"를 붙입니다.

따라서 다음을 수행하고 싶을 수도 있습니다.

set proxy.pac-script file:///full/path/to/proxy.pac

또한 proxy.pac형식이 올바르지 않을 수도 있습니다. 저는 JavaScript에 대해 잘 알지 못하지만 제가 이해한 바에 따르면 다음과 같습니다.

function FindProxyForURL (url, host) {
  return 'SOCKS4 proxy_host:proxy_port';
}

특정 호스트에 연결하기 위해 프록시만 사용하려는 경우 다음을 수행할 수 있습니다.

function FindProxyForURL(url, host)
{
    if (shExpMatch(host, "somehost*")
        || shExpMatch(host, "*.some.sub.domain")) {
        return "SOCKS4 proxy_host:proxy_port";
    }
}

Wikipedia의 추가 예:https://en.wikipedia.org/wiki/Proxy_auto-config

관련 정보