youtube-dl과 같은 터미널에서 양말 프록시를 사용하는 방법은 무엇입니까?


37

이 명령을 실행하여 원격 ssh 서버에 연결합니다.

ssh -D 12345 bob@myserver.com

이것은 내 국가의 검열을 우회하기 위해 Firefox와 함께 사용할 수있는 양말 프록시를 만듭니다. 그러나 명령 줄에서 활용할 수는 없습니다.

내 국가에서 YouTube에 대한 액세스를 차단한다고 가정 해 보겠습니다. ssh 연결을 사용하여 다음과 같은 명령을 실행하는 방법

youtube-dl "youtube.com/watch?v=3XjwiV-6_CA"

정부에 의해 막히지 않고? 모든 터미널 명령에 대해 양말 프록시를 설정하는 방법은 무엇입니까?


1
임시 해결책을 찾았습니다. 나는 tsocks를 사용했다. 일단 설치되면 ssh 연결이 설정되면 다음과 같이 tsock으로 원하는 응용 프로그램을 시작합니다. tsocks gnome-terminal
user1098135

1
tsocks youtube-dl ...-tsocks는 리포지토리에서 일반적으로 사용할 수있는 영리한 응용 프로그램으로, LD_PRELOAD지정된 SOCKS 연결을 통해 응용 프로그램이 트래픽을 강제로 라우팅 하는 데 사용 합니다 (에서 지정 ~/.tsocks.conf).
Zaz

답변:


17

Youtube-dl은 SOCKS 프록시를 지원하지 않습니다. 있다 기능 요청 작업 제안의 몇 가지에 대한 링크가 그것을위한이.

Youtube-dl은 기본적으로 HTTP 프록시를 지원합니다. 이 지원의 혜택을 받으려면에서 프록시를 실행해야합니다 myserver.com. 거의 모든 경량 프록시가 수행합니다 (예 : tinyproxy) . 프록시는 로컬 연결 만 수신하면됩니다 ( Listen 127.0.0.1in tinyproxy.conf). HTTP 프록시가 포트 8035 ( Port 8035)에서 청취중인 경우 다음 ssh 명령을 실행하십시오.

ssh -L 8035:localhost:8035 bob@myserver.com

환경 변수를 설정 http_proxy하고 https_proxy:

export http_proxy=http://localhost:8035/ https_proxy=http://localhost:8035/
youtube-dl youtube.com/watch?V=3XjwiV-6_CA

SSH를 사용하려는 경우 왜 작은 프록시가 필요합니까? SSH 터널을 사용하고 제대로 작동합니다.
Umair A.

@Neutralizer SSH는 로컬 시스템에서 프록시 시스템으로 만 릴레이합니다. 프록시 시스템의 무언가는 HTTP 요청을 디코딩하고 서버 시스템의 IP 주소를 알아 내야합니다. 클라이언트가 SOCKS를 지원하면 SSH가 작업을 수행 할 수 있지만 youtube-dl은 SOCKS를 지원하지 않습니다. 특정 서버에 프록시를 사용하는 경우 SSH 만 사용하여 해당 서버로 직접 전달하도록 지시 할 수 있지만 모든 요청을 동일한 IP 주소 및 포트로 전달해야하는 경우에만 작동합니다.
Gilles 'SO- 악마 그만'

디버깅을 위해 ssh 명령을 실행 -v하고 대화식 세션을 건너 뛰어 추가 할 수도 있습니다 -N.
fikovnik 2016 년


48
ssh -D 8080 name@myserver.com
export http_proxy=socks5://127.0.0.1:8080 https_proxy=socks5://127.0.0.1:8080
youtube-dl "youtube.com/watch?V=3XjwiV-6_CA"

간단하고 나를 위해 작동합니다.
Kevin Tong

5
추가 -N대화 형 SSH 세션을 건너
fikovnik

5

youtube-dl은 우분투에서 프록시 체인과 잘 작동합니다. 커맨드 라인을 통해 터널링을 확인하십시오.

ssh -D 8081 ubuntu@yourSSHserver

다음으로 ssh 서버가 아닌 로컬 호스트에 프록시 체인을 설치하십시오.

sudo apt-get install proxychains

proxychains 설정 파일 편집

sudo nano /etc/proxychains.conf

마지막 줄에서 포트 번호를 편집하십시오

socks4  127.0.0.1 8081

참고 : 포트 8081에서 프록시 체인을 사용하고 있습니다

youtube-dl을 사용할 때 명령의 시작 부분에 프록시 체인을 추가하십시오.

proxychains ./youtube-dl http://thesite.com/yourvideo.hmtl 

proxychains는 멋진 도구입니다.
2 8

2

Delegate 를 사용할 수 있습니다 .

HTTP 프록시로 청취 할 수있는 SOCKS 서버 및 / 또는 클라이언트입니다.

최신 버전의 델리게이트를 다운로드 하여 추출하십시오.

먼저 ssh 명령을 실행하십시오.

ssh -D 9150 me@myserver.com

그런 다음이 옵션으로 바이너리 위임 파일을 실행하여 HTTP 프록시를 SOCKS 클라이언트로 사용하십시오.

$ ./dg9_9_13 -P8080 SERVER=http SOCKS=127.0.0.1:9150 ADMIN="local@localhost.com"

그런 다음, 실행 youtube-dl--proxy귀를 기울 HTTP 프록시에 연결 옵션 :

$ youtube-dl -v --proxy "http://127.0.0.1:8080" https://www.youtube.com/watch?v=VID

1

youtube-dl버전 2016.05.10 부터 --proxySOCKS 프록시를 지정 하는 데 사용할 수 있습니다 ( 예 :

youtube-dl --proxy "socks5://127.0.0.1/" -v 9bZkp7q19f0

--proxy URL지정된 HTTP / HTTPS / SOCKS 프록시를 사용하십시오. 실험적인 SOCKS 프록시를 사용하려면 적절한 체계를 지정하십시오. 예를 들면 socks5://127.0.0.1:1080/.


0

Youtube 비디오가 당신이 좋아하는 것이라면 cclive프록시를 지원하는 것 같습니다. 그리고 다른 스트리밍 사이트도 가능합니다.

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