Chuyển đổi các yêu cầu HTTP sang SOCKS5


46

Tôi hiện đang thực hiện một số công việc kiểm tra với TOR và gặp phải một vấn đề nhỏ. Ứng dụng khách của Tor chỉ hỗ trợ nhận kết nối thông qua giao thức SOCKS5, nhưng các ứng dụng tôi đang sử dụng chỉ hỗ trợ Protocals Proxy HTTP.

Có thể đặt một cái gì đó ở giữa? Vì vậy, ví dụ như nó đã đi.

Chương trình của tôi (Chỉ HTTP)> Chuyển đổi HTTP sang SOCKS> Máy chủ Tor SOCKS5


Bạn có thể sử dụng HĐH (ví dụ Tails và Whonix) để định tuyến tất cả lưu lượng truy cập thông qua Tor mà không cần ứng dụng hỗ trợ proxy. Điều này cũng làm giảm đáng kể nguy cơ rò rỉ DNS và bỏ qua Tor khác.
CodeInChaos ngày

Câu trả lời:


44

Có vẻ như DeleGate có thể làm điều này, với nội dung như sau (trong đó DeleGate sẽ chấp nhận kết nối HTTP trên cổng 8080 và chuyển tiếp đến máy chủ SOCKS trên cổng 9050):

delegated -P8080 SERVER=http SOCKS=localhost:9050

@ Dboy1612: Bạn có thể kể về trải nghiệm của mình với ủy nhiệm cho trường hợp sử dụng này. Tôi cũng có trường hợp sử dụng tương tự.
pradeepchhetri

Đó là một công cụ tuyệt vời. Phiên bản mới (v9.9.9) được phát hành gần đây.
kev

1
Bất cứ ý tưởng tại sao nó yêu cầu một địa chỉ email trong quá trình tải xuống VÀ cài đặt?
Halil Özgür

2
@pradeepchhetri Sau khi dành một ngày chơi với delegate(d), tôi đã kết luận rằng nó hoàn toàn được xác định để rò rỉ các yêu cầu DNS, bất chấp nhiều khiếu nại trái ngược trong tài liệu cấu hình. Tôi rất thích khám phá rằng tôi sai về điều đó, nhưng tôi bi quan về điểm đó.
Adam Mackler

Hoạt động tuyệt vời :)
con mèo

9

Gói Tor không còn có polipo, đây là từ câu hỏi thường gặp chính thức :

Trước đây, các gói Tor bao gồm một proxy HTTP như Privoxy hoặc Polipo, chỉ để khắc phục một lỗi trong Firefox cuối cùng đã được sửa trong Firefox 6. Bây giờ bạn không cần một proxy HTTP riêng để sử dụng Tor và thực tế là để nó giúp bạn an toàn hơn vì Torbutton kiểm soát tốt hơn sự tương tác của Firefox với các trang web.

Nếu bạn đang cố gắng sử dụng một số ứng dụng bên ngoài với Tor, bước 0 nên đọc lại tập hợp các cảnh báo cho các cách bạn có thể làm hỏng. Bước một là thử sử dụng proxy Vớ chứ không phải proxy http - Tor chạy proxy Vớ trên cổng 9050 trên Windows hoặc xem ở trên cho OSX và Linux.

Nếu thất bại, hãy cài đặt privateoxy . Tuy nhiên, xin vui lòng nhận ra rằng phương pháp này không được khuyến khích cho người dùng mới làm quen. Privoxy có một cấu hình ví dụ về Tor và Privoxy .


1
Nó làm việc cho tôi tnx!
Hikari

7

Bạn cũng có thể sử dụng Privoxy . Thêm dòng này vào config.txttập tin của nó :

forward-socks5 / 127.0.0.1:9050 .

(Đừng quên dấu chấm nhỏ ở cuối.)

Sau đó sử dụng proxy HTTP hoặc HTTPS tại 127.0.0.1:8118


một cách tuyệt vời và dễ dàng. cảm ơn bạn. hoạt động như một

5

Bạn đã không chỉ định một hệ điều hành. Hãy làm như vậy trong tương lai.


Câu trả lời này khuyến nghị Polipo, được bao gồm trong gói Vidalia được lưu trữ bởi dự án Tor và do đó có thể được họ khuyên dùng cho Windows. Polipo cũng có phiên bản * nix (và ban đầu được thiết kế cho * nix), vì vậy tôi đã bao gồm các hướng dẫn về cách thiết lập nó - xem phần thứ hai bên dưới. Đó là một giải pháp khá nhẹ, nếu nó quan trọng.


các cửa sổ

Tải về gói Vidalia. Nó bao gồm GUI Vidalia và một chương trình có tên Polipo, cùng với Tor. Trong gói, Polipo theo mặc định chạy proxy HTTP trên cổng 8118 chuyển hướng qua proxy Tor SOCKS trên cổng 9050.

Thiết lập nâng cao

Cũng có thể định cấu hình Polipo theo cách thủ công mà không cần gói Vidalia.

Lấy từ http://www.pps.jussieu.fr/~jch/software/polipo/tor.html

Họ cũng cung cấp nhị phân bạn nên tải xuống.

Cấu hình

Polipo được định cấu hình bằng cách đặt một số biến cấu hình trong tệp cấu hình của Polipo, đây là tệp văn bản thuần túy. Để yêu cầu Polipo sử dụng tor và không lưu trữ bất kỳ trang nào được tìm nạp trên đĩa, bạn sẽ muốn thêm các dòng sau vào tệp cấu hình của mình:

socksParentProxy = localhost:9050
diskCacheRoot=""

Bạn cũng sẽ muốn tắt giao diện cấu hình cục bộ để bảo vệ bản thân khỏi các lỗ hổng của trình duyệt:

disableLocalInterface=true

Chạy nó

Khi chạy Polipo, bạn nên chỉ định vị trí cho tệp cấu hình, bằng cách sử dụng cờ -c trên dòng lệnh của Polipo:

> polipo.exe -c "/Program Files/Polipo/config.txt"

Lưu ý rằng ngay cả trong Windows, bạn phải sử dụng cú pháp Unix cho tên tệp (sử dụng dấu gạch chéo) và bạn không thể chỉ định một thiết bị (ổ đĩa cứng) để sử dụng.

Cổng nghe mặc định của Polipo là 8123.

Cấu hình mặc định từ gói Vidalia được bao gồm ở dưới cùng của câu trả lời này.


* nix

Bao gồm Linux, Unix, BSD, OS X, hầu hết các hệ điều hành hiện đại (2012) không dựa trên NT (Windows).

Một lần nữa, được lấy từ http://www.pps.jussieu.fr/~jch/software/polipo/tor.html

Tải về một gói từ bất cứ kho lưu trữ nào bạn sử dụng. Google có thể giúp đỡ ở đây. Ngoài ra, một nhị phân trực tiếp có thể được tải xuống.

Cấu hình

Polipo được định cấu hình bằng cách đặt một số biến cấu hình trong tệp cấu hình của Polipo, ~/.polipohoặc /etc/polipo/configbất kỳ tồn tại nào. Để yêu cầu Polipo sử dụng tor và không lưu trữ bất kỳ trang nào được tìm nạp trên đĩa, bạn sẽ muốn thêm các dòng sau vào tệp cấu hình của mình:

socksParentProxy = localhost:9050
diskCacheRoot=""

Bạn cũng sẽ muốn tắt giao diện cấu hình cục bộ để bảo vệ bản thân khỏi các lỗ hổng của trình duyệt:

disableLocalInterface=true

Nếu bạn muốn chỉ định một vị trí khác cho tệp cấu hình, bạn có thể chỉ định nó bằng cách sử dụng cờ -c trên dòng lệnh của Polipo.

Lưu ý rằng nếu bạn đã cài đặt Polipo từ tệp nhị phân do nhà cung cấp phân phối, có thể nó sẽ không đưa ~ / .polipo vào tài khoản - bạn sẽ cần chỉnh sửa / etc / polipo / config.

Chạy nó

Nếu bạn đã cài đặt Polipo từ gói cung cấp phân phối, Polipo có thể đã chạy; bạn sẽ cần phải khởi động lại nó để đưa cấu hình mới vào tài khoản. Nếu không, chỉ cần lấy một cửa sổ thiết bị đầu cuối miễn phí và gõ:

$ polipo

Nếu bạn đang sử dụng một vị trí không chuẩn cho tệp cấu hình của Polipo, hãy chỉ định nó trên dòng lệnh, ví dụ:

$ polipo -c "/Program Files/Polipo/config.txt"

Cổng nghe mặc định của Polipo là 8123.

Cấu hình mặc định từ gói Vidalia được bao gồm ở dưới cùng của câu trả lời này.


Cấu hình Polipo mặc định (gói Vidalia)

Đây là cấu hình Polipo mặc định của tôi từ gói Vidalia cho Windows. Từ cái nhìn của nó, nó cũng hoạt động trong * nix - không có gì cụ thể về nền tảng như tôi có thể nói. Vâng, nó là một cấu hình 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

Tôi đang sử dụng polipo trên Mac OS X 10.6. Nó dường như có một số vấn đề khi thực hiện các yêu cầu POST đôi khi. Các trang web chính thức của polipo là ở đâyở đây .
Siu Ching Pong -Asuka Kenji-

Tôi cũng đang sử dụng 3proxy trên Windows. Tôi sử dụng nó để biến đường hầm SSH (SOCKS5) của mình thành proxy HTTP cho các chương trình không hỗ trợ SOCKS. 3proxy được phát triển bởi người Nga. Nó là nguồn mở. Trang web chính thức ở đây và dự án SourceForge của nó ở đây (không được cập nhật như trang web chính thức).
Siu Ching Pong -Asuka Kenji-

2

Fiddler cũng cho phép chuyển đổi từ yêu cầu http sang yêu cầu điều chỉnh vớ.

Tôi đã làm điều này để thúc đẩy một số Cập nhật Windows chạy qua kết nối vớ (thông qua Amazon EC2 và Putty).

Từ trang này https://groups.google.com/forum/#!topic/httpfiddler/6m2xEe0fRmw

Trong Fiddler có tab "FiddlerScript" nơi bạn có thể thêm các mục sau:

Sử dụng X-OverrideGatewaycờ, sử dụng socks=tiền tố để chỉ ra rằng> Fiddler nên sử dụng giao thức SOCKS v4a khi nói chuyện với máy chủ ngược dòng.

Chẳng hạn, trình cài đặt TOR thiết lập một điểm vào mạng TOR bằng proxy SOCKS trên cổng 9150 được gọi là Polipo. Bạn có thể thêm các mục sau vào OnBeforeRequestphương thức FiddlerScript của mình để định tuyến mọi yêu cầu đến test.example.com thông qua mạng TOR:

    if (oSession.HostnameIs("test.example.com")) {
      oSession["x-OverrideGateway"] = "socks=127.0.0.1:9150";    
  }

Thay vào đó, nếu bạn muốn gửi tất cả lưu lượng truy cập qua SOCKS, bạn chỉ cần đặt X-OverrideGatewaycờ vô điều kiện cho mỗi Phiên.


0

WinGate cũng có thể làm điều này. Kiểm tra tab Kết nối trên proxy WWW của bạn và bạn có thể chọn proxy SOCKS4, SOCKS4a hoặc HTTP ngược dòng.

WinGate cũng có giấy phép miễn phí cho 10 người dùng đồng thời.

Tab kết nối proxy WWW

Tuyên bố miễn trừ trách nhiệm: Tôi làm việc cho Qbik, tác giả của WinGate

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.