현재 TOR에서 테스트 작업을 수행하고 있으며 작은 문제가 발생했습니다. Tor의 클라이언트는 SOCKS5 프로토콜을 통한 연결 수신 만 지원하지만, 사용중인 응용 프로그램은 HTTP 프록시 프로토콜 만 지원합니다.
중간에 무언가를 넣을 수 있습니까? 예를 들어 갔다.
내 프로그램 (HTTP 만 해당)> HTTP-SOCKS 변환기> Tor SOCKS5 서버
현재 TOR에서 테스트 작업을 수행하고 있으며 작은 문제가 발생했습니다. Tor의 클라이언트는 SOCKS5 프로토콜을 통한 연결 수신 만 지원하지만, 사용중인 응용 프로그램은 HTTP 프록시 프로토콜 만 지원합니다.
중간에 무언가를 넣을 수 있습니까? 예를 들어 갔다.
내 프로그램 (HTTP 만 해당)> HTTP-SOCKS 변환기> Tor SOCKS5 서버
답변:
DeleGate 가 다음과 같이이 작업 을 수행 할 수있는 것처럼 보입니다 (DeleGate는 포트 8080에서 HTTP 연결을 수락하고 포트 9050에서 SOCKS 서버로 전달합니다) :
delegated -P8080 SERVER=http SOCKS=localhost:9050
delegate(d)
, 구성 문서의 여러 반대 주장에도 불구하고 DNS 요청을 유출하기로 결정했습니다. 나는 그것이 틀렸다는 것을 알고 싶지만 그 시점에서는 비관적입니다.
Tor 번들에 더 이상 폴 포가 없습니다. 공식 tor FAQ의 내용입니다 .
과거에는 Tor 번들에 Privoxy 또는 Polipo와 같은 HTTP 프록시가 포함되어 있었기 때문에 Firefox 6에서 최종적으로 수정 된 Firefox의 버그를 해결하기위한 것입니다. 이제 Tor를 사용하기 위해 별도의 HTTP 프록시가 필요하지 않습니다. Torbutton은 Firefox와 웹 사이트의 상호 작용을보다 잘 제어하므로 보안이 향상됩니다.
Tor와 함께 외부 응용 프로그램을 사용하려는 경우 0 단계는 문제를 해결할 수있는 경고 세트를 다시 읽어야합니다. 1 단계는 http 프록시 대신 Socks 프록시를 사용하는 것입니다. Tor는 Windows의 포트 9050에서 Socks 프록시를 실행하거나 위 의 OSX 및 Linux를 참조하십시오 .
실패하면 privoxy 를 설치하십시오 . 그러나이 방법은 초보자에게 권장되지 않습니다. Privoxy는 Tor와 Privoxy의 구성 예를 가지고 있습니다 .
Privoxy를 사용할 수도 있습니다 . 이 줄을 config.txt
파일에 추가 하십시오.
forward-socks5 / 127.0.0.1:9050 .
(끝에 작은 점을 잊지 마십시오.)
그런 다음 HTTP 또는 HTTPS 프록시를 사용하십시오. 127.0.0.1:8118
운영 체제를 지정하지 않았습니다. 앞으로 해주세요.
이 답변은 Tor 프로젝트에서 호스팅하는 Vidalia 번들에 포함되어 있으므로 Windows에서 권장하는 Polipo를 권장합니다. 또한 Polipo에는 * nix 버전이 있으며 원래 * nix 용으로 설계되었으므로 설정 방법에 대한 지침을 포함 시켰습니다. 아래 두 번째 섹션을 참조하십시오. 중요한 경우 다소 가벼운 솔루션입니다.
Vidalia 번들을 다운로드하십시오. Vidalia GUI와 Tor와 함께 Polipo라는 프로그램이 포함되어 있습니다. 번들에서 Polipo는 기본적으로 포트 8118에서 HTTP 프록시를 실행하여 포트 9050에서 Tor SOCKS 프록시를 통해 리디렉션합니다.
Vidalia 번들없이 Polipo를 수동으로 구성 할 수도 있습니다.
http://www.pps.jussieu.fr/~jch/software/polipo/tor.html 에서 가져온
또한 다운로드해야 할 바이너리를 제공합니다.
Polipo는 일반 텍스트 파일 인 Polipo의 구성 파일에 여러 구성 변수를 설정하여 구성됩니다. Polipo가 tor을 사용하고 디스크에 페치 된 페이지를 캐시하지 않도록 지시하려면 구성 파일에 다음 행을 추가하려고합니다.
socksParentProxy = localhost:9050 diskCacheRoot=""
브라우저 취약점으로부터 자신을 보호하기 위해 로컬 구성 인터페이스를 사용하지 않을 수도 있습니다.
disableLocalInterface=true
Polipo를 실행할 때 Polipo의 명령 행에서 -c 플래그를 사용하여 구성 파일의 위치를 지정해야합니다.
> polipo.exe -c "/Program Files/Polipo/config.txt"
Windows에서도 파일 이름에 슬래시를 사용하여 Unix 구문을 사용해야하며 사용할 장치 ( "드라이브")를 지정할 수 없습니다.
Vidalia 번들의 기본 구성은이 답변의 맨 아래에 포함됩니다.
NT (Windows)를 기반으로하지 않는 Linux, Unix, BSD, OS X, 가장 중요한 최신 (2012) 운영 체제를 포함합니다.
다시 한번, http://www.pps.jussieu.fr/~jch/software/polipo/tor.html 에서 가져온
사용하는 모든 저장소에서 패키지를 다운로드하십시오. Google이 여기에 도움을 줄 수 있습니다. 또는 직접 바이너리를 다운로드 할 수 있습니다.
Polipo는 Polipo의 구성 파일에 여러 구성 변수 (
~/.polipo
또는/etc/polipo/config
존재하는 것) 를 설정하여 구성됩니다 . Polipo가 tor을 사용하고 디스크에 페치 된 페이지를 캐시하지 않도록 지시하려면 구성 파일에 다음 행을 추가하려고합니다.socksParentProxy = localhost:9050 diskCacheRoot=""
브라우저 취약점으로부터 자신을 보호하기 위해 로컬 구성 인터페이스를 사용하지 않을 수도 있습니다.
disableLocalInterface=true
구성 파일의 다른 위치를 지정하려면 Polipo의 명령 행에서 -c 플래그를 사용하여 지정할 수 있습니다.
배포판에서 제공 한 바이너리에서 Polipo를 설치 한 경우 ~ / .polipo를 고려하지 않을 것입니다. / etc / polipo / config를 편집해야합니다.
배포판 제공 패키지에서 Polipo를 설치 한 경우 Polipo가 이미 실행 중일 수 있습니다. 새 구성을 고려하도록 다시 시작해야합니다. 그렇지 않으면, 무료 터미널 창을 잡고 다음을 입력하십시오.
$ polipo
Polipo의 구성 파일에 비표준 위치를 사용하는 경우 명령 행에서 다음과 같이 지정하십시오.
$ polipo -c "/Program Files/Polipo/config.txt"
Vidalia 번들의 기본 구성은이 답변의 맨 아래에 포함됩니다.
이것은 Windows 용 Vidalia 번들의 기본 Polipo 구성입니다. 그것의 관점에서, 그것은 * nix에서도 작동해야합니다. 내가 말할 수있는 한 플랫폼 특정은 없습니다. 예, IPv4 구성입니다.
### $Id$
#
### Basic configuration
### *******************
# Uncomment one of these if you want to allow remote clients to
# connect:
# proxyAddress = "::0" # both IPv4 and IPv6
# proxyAddress = "0.0.0.0" # IPv4 only
proxyAddress = "127.0.0.1"
proxyPort = 8118
# If you do that, you'll want to restrict the set of hosts allowed to
# connect:
# allowedClients = "127.0.0.1, 134.157.168.57"
# allowedClients = "127.0.0.1, 134.157.168.0/24"
allowedClients = 127.0.0.1
allowedPorts = 1-65535
# Uncomment this if you want your Polipo to identify itself by
# something else than the host name:
proxyName = "localhost"
# Uncomment this if there's only one user using this instance of Polipo:
cacheIsShared = false
# Uncomment this if you want to use a parent proxy:
# parentProxy = "squid.example.org:3128"
# Uncomment this if you want to use a parent SOCKS proxy:
socksParentProxy = "localhost:9050"
socksProxyType = socks5
### Memory
### ******
# Uncomment this if you want Polipo to use a ridiculously small amount
# of memory (a hundred C-64 worth or so):
# chunkHighMark = 819200
# objectHighMark = 128
# Uncomment this if you've got plenty of memory:
# chunkHighMark = 50331648
# objectHighMark = 16384
chunkHighMark = 33554432
### On-disk data
### ************
# Uncomment this if you want to disable the on-disk cache:
diskCacheRoot = ""
# Uncomment this if you want to put the on-disk cache in a
# non-standard location:
# diskCacheRoot = "~/.polipo-cache/"
# Uncomment this if you want to disable the local web server:
localDocumentRoot = ""
# Uncomment this if you want to enable the pages under /polipo/index?
# and /polipo/servers?. This is a serious privacy leak if your proxy
# is shared.
# disableIndexing = false
# disableServersList = false
disableLocalInterface = true
disableConfiguration = true
### Domain Name System
### ******************
# Uncomment this if you want to contact IPv4 hosts only (and make DNS
# queries somewhat faster):
#
# dnsQueryIPv6 = no
# Uncomment this if you want Polipo to prefer IPv4 to IPv6 for
# double-stack hosts:
#
# dnsQueryIPv6 = reluctantly
# Uncomment this to disable Polipo's DNS resolver and use the system's
# default resolver instead. If you do that, Polipo will freeze during
# every DNS query:
dnsUseGethostbyname = yes
### HTTP
### ****
# Uncomment this if you want to enable detection of proxy loops.
# This will cause your hostname (or whatever you put into proxyName
# above) to be included in every request:
disableVia = true
# Uncomment this if you want to slightly reduce the amount of
# information that you leak about yourself:
# censoredHeaders = from, accept-language
# censorReferer = maybe
censoredHeaders = from,accept-language,x-pad,link
censorReferer = maybe
# Uncomment this if you're paranoid. This will break a lot of sites,
# though:
# censoredHeaders = set-cookie, cookie, cookie2, from, accept-language
# censorReferer = true
# Uncomment this if you want to use Poor Man's Multiplexing; increase
# the sizes if you're on a fast line. They should each amount to a few
# seconds' worth of transfer; if pmmSize is small, you'll want
# pmmFirstSize to be larger.
# Note that PMM is somewhat unreliable.
# pmmFirstSize = 16384
# pmmSize = 8192
# Uncomment this if your user-agent does something reasonable with
# Warning headers (most don't):
# relaxTransparency = maybe
# Uncomment this if you never want to revalidate instances for which
# data is available (this is not a good idea):
# relaxTransparency = yes
# Uncomment this if you have no network:
# proxyOffline = yes
# Uncomment this if you want to avoid revalidating instances with a
# Vary header (this is not a good idea):
# mindlesslyCacheVary = true
# Suggestions from Incognito configuration
maxConnectionAge = 5m
maxConnectionRequests = 120
serverMaxSlots = 8
serverSlots = 2
tunnelAllowedPorts = 1-65535
Fiddler 는 또한 http 요청에서 양말 터널링 요청으로 변환 할 수 있습니다.
이 작업을 수행하여 일부 Windows 업데이트를 양말 연결을 통해 (Amazon EC2 및 Putty를 통해) 실행했습니다.
이 페이지에서 https://groups.google.com/forum/#!topic/httpfiddler/6m2xEe0fRmw
Fiddler에는 다음을 추가 할 수있는 "FiddlerScript"탭이 있습니다.
은 Using
X-OverrideGateway
플래그를 사용socks=
업스트림 서버에 말할 때를 나타내는 접두사> 피들러는 SOCKS V4A 프로토콜을 사용해야합니다.예를 들어, TOR 설치 프로그램은 포트 9150에서 Polipo라는 SOCKS 프록시를 사용하여 TOR 네트워크에 대한 진입 점을 설정합니다. FiddlerScript의
OnBeforeRequest
메소드 내에 다음을 추가 하여 TOR 네트워크를 통해 모든 요청을 test.example.com으로 라우팅 할 수 있습니다.if (oSession.HostnameIs("test.example.com")) { oSession["x-OverrideGateway"] = "socks=127.0.0.1:9150"; }
대신 SOCKS를 통해 모든 트래픽을 보내려면
X-OverrideGateway
각 세션에 대해 무조건 플래그 를 설정하면 됩니다.
WinGate 도이 작업을 수행 할 수 있습니다. WWW 프록시의 연결 탭을 확인하고 업스트림 SOCKS4, SOCKS4a 또는 HTTP 프록시를 선택할 수 있습니다.
WinGate는 또한 10 명의 동시 사용자를위한 무료 라이센스를 가지고 있습니다.
면책 조항 : WinGate의 저자 인 Qbik에서 일합니다.