apt.conf의 SOCKS 프록시 구문


23

SOCKS 프록시 설정을 /etc/apt/apt.conf에 추가하고 싶습니다. 그 구문은 무엇입니까? http 및 ftp 구문과 동일합니까?

감사.

답변:


31

가능한 솔루션을 사용할 수있다 tsocks, SOCKS 프록시를 통해 네트워크 트래픽을 리디렉션 할 응용 프로그램. tsocks패키지를 설치 /etc/tsocks.conf하고 양말 프록시의 주소와 포트 번호를 설정 하도록 수정 한 후 다음을 실행하십시오.

$ sudo -s
# tsocks apt-get update
# tsocks apt-get dist-upgrade
# exit
$

또는

$ sudo -s
# . tsocks -on
# apt-get update
# apt-get dist-upgrade
# . tsocks -off # not really necessary, given the exit
# exit
$

사용을 단순화하고 자동화하기 위해 여러 가지 옵션을 생각할 수 있습니다.
앞 점을 잊지 마십시오. 맨 페이지 에는 이에 대한 자세한 내용이 있습니다.

편집 : 사용하는 더 짧은 방법 :

$ sudo tsocks apt-get update
$ sudo tsocks apt-get dist-upgrade

11
기본적으로 tsocks가 설치되어 있지 않은 것 같아서 실행해야합니다 sudo tsocks apt-get install tsocks. Hahahahahaha ...
fikr4n

1
당신은 다운로드에 컬을 사용할 수 있습니다 tsocks, 그것을 설치 한 다음 사용 :
neutrinus

3
또한 : apt 1.3 ~ rc1 (Debian 버전, 정확히 어떤 Ubuntu 버전인지 확실하지 않지만 Zesty까지는 아닙니다)을 사용할 수 있습니다 Acquire::http::Proxy "socks5h://hostname:port/". anonscm.debian.org/gitweb/?p=apt/apt.git;a=blob;f=debian/…에
derobert

1
글쎄요 .. 재밌 네요. apt-get 작업을하려면 다음을 수행해야합니다 ... apt-get something!
Equidamoid

2
@derobert 줄에 약간의 수정 : Acquire::socks::Proxy "socks5h://hostname:port/";트릭을 수행합니다. HTTP는-Tor로 시도 하지 않으면 표준 응답 "Tor는 http 프록시가 아닙니다"가 표시되므로 http대체로 바뀌고 socks작동합니다!
Alexey Vesnin

17
Acquire::http::proxy "socks5h://server:port";

이것은 우분투 18.04에서 나를 위해 작동합니다. 매뉴얼 페이지에서 알 수 있듯이 socks5가 아닌 socks5h는 apt에서 지원합니다. 이는 DNS 확인 기능이있는 socks5 프록시를 의미합니다.


1
이것은 정확하며 실제로 우분투 18.04에서 작동하는 것 같습니다. 하나를 포함 할 수 있지만 획득 :: HTTPS : 프록시획득 :: FTP :: 프록시를 (같은 값)뿐만 아니라.
Hamy

1
파일에 프록시 규칙 Acquire::https::proxy "socks5h://server:port";을 추가하면 (예 :) 제대로 작동합니다. 달리 필요하지 않으면 https 를 고수하는 것이 좋습니다 . apt.conf.d/etc/apt/apt.conf.d/12proxy
codegenki

또한 인증이 필요한 프록시 서버의 경우이 줄은로 수정됩니다 Acquire::http::proxy "socks5h://user:pass@server:port";. 위의 규칙은 우분투 18.04에서 잘 작동합니다. 여기에 socks5h프록시 서버에서 DNS 해상도를 적용합니다.
codegenki

이것이 우분투 16.04에서 작동하는지 아는 사람이 있습니까?
becko

14.04에서 작동하지 않습니다
razieh babaee

8

다음 구성 줄을 사용하면 나를 위해 작동합니다.

Acquire::socks::proxy "socks5://server:port";

유지하려면 apt.conf깨끗하고 리눅스에서 문제가 내가 새 파일을 (창조 업그레이드 피 /etc/apt/apt.conf.d/12proxy)과에 config 파일을 추가했습니다.


가 foler에서 숫자의 평균을 시작 무엇
크리스 Roofe

그냥 스크립트 실행 순서입니다
Bit-Man

이것은 잘못이다. 작동하지 않습니다.
dedunumax

@dedunumax에 실패한 것은 무엇입니까? 오류가 있습니까? 실마리?
Bit-Man

1
Acquire :: http :: proxy 여야하며 프록시 쪽의 DNS 해상도에 대한
양말

4

Ubuntu Xenial의 apt.conf 매뉴얼에서 Acquire :: socks :: proxy 를 찾을 수 없습니다 . Polipo와 같은 업스트림 양말 프록시를 지원하는 로컬 http 프록시를 실행하여이 문제를 해결할 수 있습니다. 다음과 같이 Polipo를 구성해야합니다.

proxyAddress = "::1"
proxyPort = 8118
socksParentProxy = "sockshost:socksport"
socksProxyType = socks5

apt.conf 파일에서 http 프록시를 설정하십시오.

Acquire::http::proxy "http://127.0.0.1:8118/";
Acquire::https::proxy "https://127.0.0.1:8118/";

3

또는 tou는 /etc/apt/apt.conf에 다음과 같은 것을 넣을 수 있습니다.

Acquire::socks::proxy "socks://user:pass@host:port/";

2
이것은 우분투 12.04에서 작동하지 않는 것 같습니다
Shnatsel

13.10에서 작동합니다.
isaaclw

4
이것이 잘못된 구문이라고 확신합니다. "socks : //로 시작하는 모든 URL을 socks : // user : pass @ host : port /"로 프록시합니다. 실제로 다음과 같아야합니다.Acquire::http::proxy "socks://user:pass@host:port/";
Hans-Christoph Steiner

@ Hans-ChristophSteiner : 이렇게하면 표시된 호스트 및 포트에 연결되지만 양말 프로토콜을 사용하지는 않습니다. http 프록시 프로토콜처럼 보이지만 실제 http 프록시로 확인하지 않았습니다.
세스 로버트슨

이 시점에서로 Acquire::socks시작하는 URL의 프록시를 설정 해야합니다 socks://. 그래서 수단이 인터넷에 액세스하기 위해 프록시가 필요하지 않습니다, 그리고 apt에 대한 프록시를 사용하지 않는 ftp://, http://또는 https://.. apt단지 즉, HTTP 프록시를 지원합니다 Acquire::http::proxy "http://localhost:8118.
Hans-Christoph Steiner

0

데비안에서는 맨 페이지를 읽고 apt-transport-http(1)지원되는 URI 스킴을 찾을 수 있습니다 . 전에 대답했듯이

Acquire::http::proxy "socks5h://server:port";

...에서

/etc/apt/apt.conf.d/12proxy

APT 구성에 대한 자세한 내용 은 맨 페이지 끝에 언급 된 apt.conf(5)예제 /usr/share/doc/apt/examples/configure-index.gz를 참조하십시오.

이것은 ssh -D <LOCAL PORT> <USER>@<HOST>다른 시스템에 SOCKS 프록시를 생성하여 apt가 마치 모든 것이 시작된 것처럼 프록시를 사용할 수 있도록하기 위해 결합 될 수 있습니다 <HOST>.

당신이 사용하는 경우 ssh -D 0.0.0.0:<LOCAL PORT> <USER>@<HOST>또는 ssh -D [::]:<LOCAL PORT> <USER>@<HOST>(IPv6의)에 SOCKS 프록시를 사용하는 다른 시스템을 사용하려면 모든 인터페이스. 이는 보안 위험 또는 (기업) 정책 위반 일 수 있습니다. 무엇을하고 있는지 확인하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.