แปลงคำร้องขอ HTTP เป็น SOCKS5


46

ฉันกำลังทำการทดสอบกับ TOR และพบปัญหาเล็ก ๆ ไคลเอ็นต์ของ Tor รองรับการเชื่อมต่อที่ได้รับผ่านโปรโตคอล SOCKS5 เท่านั้น แต่แอปพลิเคชันที่ฉันใช้สนับสนุน HTTP พร็อกซีพร็อกซีเท่านั้น

เป็นไปได้ไหมที่จะวางอะไรไว้ตรงกลาง? เพื่อให้ตัวอย่างมันไป

โปรแกรมของฉัน (HTTP เท่านั้น)> ตัวแปลง HTTP เป็น SOCKS> เซิร์ฟเวอร์ Tor SOCKS5


คุณสามารถใช้ระบบปฏิบัติการ (เช่น Tails และ Whonix) ที่กำหนดเส้นทางการรับส่งข้อมูลทั้งหมดผ่าน Tor โดยไม่ต้องมีแอปพลิเคชันที่ต้องการสนับสนุนพร็อกซี่เลย นอกจากนี้ยังช่วยลดความเสี่ยงของการรั่วไหลของ DNS และการเลี่ยงผ่าน Tor อื่น ๆ
CodesInChaos

คำตอบ:


44

ดูเหมือนว่าDeleGateสามารถทำได้โดยมีสิ่งต่อไปนี้ (ที่ DeleGate จะยอมรับการเชื่อมต่อ HTTP บนพอร์ต 8080 และส่งต่อไปยังเซิร์ฟเวอร์ SOCKS บนพอร์ต 9050):

delegated -P8080 SERVER=http SOCKS=localhost:9050

@ Dboy1612: คุณสามารถบอกเกี่ยวกับประสบการณ์ของคุณกับมอบหมายให้ใช้กรณีนี้ ฉันยังมีกรณีใช้งานเหมือนกัน
pradeepchhetri

มันเป็นเครื่องมือที่ยอดเยี่ยม รุ่นใหม่ (v9.9.9) เปิดตัวเมื่อเร็ว ๆ นี้
kev

1
ความคิดใดว่าทำไมมันต้องมีที่อยู่อีเมลในระหว่างการดาวน์โหลดและติดตั้ง?
Halil Özgür

2
@pradeepchhetri หลังจากใช้เวลาทั้งวันไปกับการเล่นdelegate(d)ฉันได้ข้อสรุปว่ามีความมุ่งมั่นอย่างยิ่งที่จะรั่วไหลคำขอ DNS แม้ว่าจะมีการอ้างสิทธิ์ตรงกันข้ามหลายครั้งในเอกสารการกำหนดค่า ฉันชอบที่จะค้นพบว่าฉันผิดเกี่ยวกับเรื่องนี้ แต่ฉันมองในแง่ร้ายในจุดนั้น
Adam Mackler

ใช้งานได้ดี
แมว

9

ทอร์มัดไม่มี polipo อีกต่อไปนี่เป็นคำถามที่พบบ่อยจากTor อย่างเป็นทางการ :

ในอดีตชุดรวมของ Tor รวมพร็อกซี HTTP เช่น Privoxy หรือ Polipo เพื่อแก้ไขข้อบกพร่องใน Firefox ที่ได้รับการแก้ไขใน Firefox 6 ในที่สุดตอนนี้คุณไม่จำเป็นต้องใช้พร็อกซี HTTP แยกต่างหากเพื่อใช้งาน Tor ทำให้คุณปลอดภัยยิ่งขึ้นเพราะ Torbutton ควบคุมการโต้ตอบของ Firefox กับเว็บไซต์ได้ดียิ่งขึ้น

หากคุณกำลังพยายามใช้แอปพลิเคชันภายนอกกับ Tor ขั้นตอนที่เป็นศูนย์ควรจะอ่านชุดคำเตือนอีกครั้งเพื่อหาวิธีที่คุณจะพลาด ขั้นตอนที่หนึ่งควรลองใช้พร็อกซีถุงเท้าแทนพร็อกซี http - Tor รันพร็อกซีถุงเท้าบนพอร์ต 9050 บน Windows หรือดูด้านบน สำหรับ OSX และ Linux

ถ้าไม่รู้สึกอิสระที่จะติดตั้งPrivoxy อย่างไรก็ตามโปรดทราบว่าวิธีนี้ไม่แนะนำสำหรับผู้ใช้มือใหม่ Privoxy มีการกำหนดค่าตัวอย่างของTor และ Privoxy


1
มันใช้งานได้สำหรับฉัน tnx!
Hikari

7

นอกจากนี้คุณยังสามารถใช้Privoxy เพิ่มบรรทัดนี้ในconfig.txtไฟล์:

forward-socks5 / 127.0.0.1:9050 .

(อย่าลืมจุดเล็ก ๆ ในตอนท้าย)

จากนั้นใช้พร็อกซี HTTP หรือ HTTPS ที่ 127.0.0.1:8118


วิธีที่ยอดเยี่ยมและง่าย ขอขอบคุณ. ทำงานเหมือนจับใจ
iraj jelodari

5

คุณไม่ได้ระบุระบบปฏิบัติการ โปรดทำเช่นนี้ในอนาคต


คำตอบนี้แนะนำ Polipo ซึ่งรวมอยู่ในชุด Vidalia ที่โฮสต์โดยโครงการ Tor และอาจแนะนำโดย Windows สำหรับพวกเขา Polipo ยังมีรุ่น * nix (และได้รับการออกแบบมาสำหรับ * nix) ดังนั้นฉันจึงได้รวมคำแนะนำเกี่ยวกับวิธีการตั้งค่า - ดูส่วนที่สองด้านล่าง มันเป็นวิธีการแก้ปัญหาที่ค่อนข้างมีน้ำหนักเบาถ้ามันเป็นเรื่องสำคัญ


ของ windows

ดาวน์โหลดชุดวิดาเลีย มันรวมถึง Vidalia GUI และโปรแกรมที่เรียกว่า Polipo พร้อมกับ Tor ในชุดข้อมูล Polipo จะเรียกใช้พร็อกซี HTTP ในพอร์ต 8118 ที่เปลี่ยนเส้นทางผ่านพร็อกซี Tor SOCKS บนพอร์ต 9050

การตั้งค่าขั้นสูง

นอกจากนี้ยังสามารถกำหนดค่า Polipo ได้ด้วยตนเองโดยไม่ต้องใช้ชุดวิดาเลีย

นำมาจากhttp://www.pps.jussieu.fr/~jch/software/polipo/tor.html

พวกเขายังมีไบนารีที่คุณควรดาวน์โหลด

องค์ประกอบ

Polipo ถูกกำหนดค่าโดยการตั้งค่าตัวแปรการกำหนดค่าจำนวนหนึ่งในไฟล์กำหนดค่าของ Polipo ซึ่งเป็นไฟล์ข้อความธรรมดา ในการบอก Polipo ให้ใช้ tor และไม่แคชเพจที่ดึงข้อมูลใด ๆ บนดิสก์คุณจะต้องเพิ่มบรรทัดต่อไปนี้ในไฟล์กำหนดค่าของคุณ:

socksParentProxy = localhost:9050
diskCacheRoot=""

คุณจะต้องปิดการใช้งานอินเตอร์เฟสการกำหนดค่าท้องถิ่นเพื่อป้องกันตัวคุณเองจากช่องโหว่ของเบราว์เซอร์:

disableLocalInterface=true

ใช้มัน

เมื่อรัน Polipo คุณควรระบุตำแหน่งสำหรับไฟล์การกำหนดค่าโดยใช้แฟล็ก -c บนบรรทัดคำสั่งของ Polipo:

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

โปรดทราบว่าแม้ใน Windows คุณต้องใช้ไวยากรณ์ Unix สำหรับชื่อไฟล์ (ใช้เครื่องหมายทับซ้ายขวา) และคุณไม่สามารถระบุอุปกรณ์ (“ ไดรฟ์”) เพื่อใช้งานได้

พอร์ตการฟังดีฟอลต์ของ Polipo คือ 8123

การกำหนดค่าเริ่มต้นจากชุดวิดาเลียจะรวมอยู่ที่ด้านล่างของคำตอบนี้


*ห้าม

รวมถึง Linux, Unix, BSD, OS X, ระบบปฏิบัติการ modern (2012) ที่ทันสมัยส่วนใหญ่ที่ไม่ได้ใช้ NT (Windows)

อีกครั้งนำมาจาก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

หากคุณต้องการระบุตำแหน่งอื่นสำหรับไฟล์คอนฟิกูเรชันคุณสามารถระบุได้โดยใช้แฟล็ก -c บนบรรทัดรับคำสั่งของ Polipo

โปรดทราบว่าหากคุณติดตั้ง Polipo จากไบนารี่ที่มีการแจกจ่ายมันอาจจะไม่พิจารณา ~ / .polipo - คุณจะต้องแก้ไข / etc / polipo / config

ใช้มัน

ถ้าคุณติดตั้ง Polipo จากแพ็คเกจที่จัดจำหน่าย Polipo อาจทำงานอยู่แล้ว คุณจะต้องเริ่มต้นใหม่เพื่อที่จะนำการกำหนดค่าใหม่มาพิจารณา มิฉะนั้นเพียงแค่คว้าหน้าต่างเทอร์มินัลฟรีแล้วพิมพ์:

$ polipo

หากคุณใช้ตำแหน่งที่ไม่ได้มาตรฐานสำหรับไฟล์กำหนดค่าของ Polipo ให้ระบุไว้ในบรรทัดคำสั่งตัวอย่างเช่น:

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

พอร์ตการฟังดีฟอลต์ของ Polipo คือ 8123

การกำหนดค่าเริ่มต้นจากชุดวิดาเลียจะรวมอยู่ที่ด้านล่างของคำตอบนี้


การกำหนดค่า Polipo เริ่มต้น (ชุดวิดาเลีย)

นี่คือการกำหนดค่า Polipo เริ่มต้นของฉันจากชุดวิดาเลียสำหรับ Windows จากรูปลักษณ์ของมันควรทำงานใน * ระวังด้วย - ไม่มีแพลตฟอร์มเฉพาะเท่าที่ฉันสามารถบอกได้ ใช่มันคือการกำหนดค่า 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

ฉันใช้ polipo บน Mac OS X 10.6 ดูเหมือนว่าจะมีปัญหาเมื่อทำการร้องขอ POST ในบางครั้ง เว็บไซต์อย่างเป็นทางการของ polipo อยู่ที่นี่และที่นี่
งุดชิงโปง - อะซึกะเคนจิ -

ฉันยังใช้ 3proxy บน Windows ฉันใช้เพื่อเปลี่ยนอุโมงค์ SSH ของฉัน (SOCKS5) เป็นพร็อกซี HTTP สำหรับโปรแกรมที่ไม่รองรับ SOCKS 3proxy ได้รับการพัฒนาโดยชาวรัสเซีย มันเป็นโอเพนซอร์ซ เว็บไซต์อย่างเป็นทางการอยู่ที่นี่และโครงการ SourceForge อยู่ที่นี่ (ไม่ได้รับการอัปเดตเป็นเว็บไซต์อย่างเป็นทางการ)
งุดชิงโปง - อาสึกะเคนจิ -

2

พู้ทำเล่นยังอนุญาตให้มีการแปลงจากคำขอ HTTP ไปเป็นคำขอปรับช่องทางถุงเท้า

ฉันทำสิ่งนี้เพื่อผลักดันให้ Windows Update ทำงานผ่านการเชื่อมต่อถุงเท้า (ผ่าน Amazon EC2 และ Putty)

จากหน้านี้https://groups.google.com/forum/#!topic/httpfiddler/6m2xEe0fRmw

ใน Fiddler มีแท็บ "FiddlerScript" ซึ่งคุณสามารถเพิ่มรายการต่อไปนี้:

การใช้X-OverrideGatewayแฟsocks=ล็กใช้คำนำหน้าเพื่อระบุว่า> พู้ทำเล่นควรใช้โปรโตคอล SOCKS v4a เมื่อพูดกับเซิร์ฟเวอร์ upstream

ตัวอย่างเช่นตัวติดตั้ง TOR ตั้งค่าจุดเข้าใช้งานเครือข่าย TOR โดยใช้พร็อกซี SOCKS บนพอร์ต 9150 ชื่อ Polipo คุณสามารถเพิ่มสิ่งต่อไปนี้ภายในOnBeforeRequestวิธีของ FiddlerScript เพื่อกำหนดเส้นทางคำขอใด ๆ ไปยัง test.example.com ผ่านเครือข่าย TOR:

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

หากคุณต้องการส่งทราฟฟิกทั้งหมดผ่าน SOCKS คุณสามารถตั้งค่าX-OverrideGatewayสถานะได้โดยไม่มีเงื่อนไขสำหรับแต่ละเซสชัน


0

WinGateสามารถทำได้ ตรวจสอบแท็บการเชื่อมต่อบนพร็อกซี WWW ของคุณและคุณสามารถเลือกอัพสตรีม SOCKS4, SOCKS4a หรือพร็อกซี HTTP ได้

WinGate ยังมีใบอนุญาตฟรีสำหรับผู้ใช้งานพร้อมกัน 10 คน

แท็บการเชื่อมต่อพร็อกซี WWW

คำเตือน: ฉันทำงานให้กับ Qbik ซึ่งเป็นผู้เขียนของ WinGate

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.