Article delegate-en/3598 of [1-4224] on the server localhost:7119
  upper oldest olders older1 this newer1 newers latest
search
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
[Reference:<_A3573@delegate-en.ML_>]
Newsgroups: mail-lists.delegate-en

[DeleGate-En] multi-protocol Transparent Proxy over SOCKS (Re: Question on switching upstream proxy based on port)
08 Dec 2006 05:17:22 GMT feedback@delegate.org (Yutaka Sato)
The DeleGate Project

Hi,

In message <_A3573@delegate-en.ML_> on 11/11/06(08:22:07) I wrote:
 |In message <_A3572@delegate-en.ML_> on 11/11/06(06:42:08)
 |you "Tetsu Saiga" <p6qgqbdyi-mxhgu44xf33w.ml@delegate.org> wrote:
 | |I'm trying to have Delegrate run as a Application level router that
 | |will switch to either a HTTP proxy or SOCKS base on the port.
 | |
 | |If it's port 80 then it should use a HTTP proxy and SOCKS for everything else.
 | |
 | |I'm using CONNECT to switch but it doesn't seem to be working. The
 | |limit for port 80 using {*:{80}} doesn't block everything else from
 | |using the HTTP proxy.
 |
 |As far as I remember, I've never announced that DeleGate supports
 |relaying as a circuit level proxy as SOCKS and forwarding to an
 |application level proxy as a HTTP proxy, although I've been
 |interested about it since it might be utilized like the IP level
 |forwarder for "transparent" HTTP proxy in a more smart way.

I prototyped it in DeleGate version 9.4.1-pre2.
With it, you don't need multiple-DeleGates for SOCKS and HTTP cache
connected with TCP but only a single DeleGate for a SOCKS will act
as a HTTP caching proxy after the negotition in the SOCKS protocol completed.
The DeleGate to be used in this way can be configured as follows.

  % delegated -P1080 SERVER=socks CACHE=do REMITTABLE=+,http,ftp

See <URL:http://www.delegate.org/delegate/sockstap/>


 |With the current feature of DeleGate, it seems capable with a
 |configuration as follows:
 |
 |  delegated -P1080 SERVER=socks \
 |    ROUTE="http://localhost:8080-_-{*:80}" \
 |    SOCKS=localhost:1081 \
 |
 |This utilization of DeleGate suppose that the HTTP client sends a
 |resolvable hostname of the destination server in its Host: header filed,
 |which is likely to be the same with the one in the parameter of CONNECT
 |request of the SOCKS protocol as follows:
 |
 |  SOCKS  CONNECT serverhost:80
 |         ...
 |  HTTP   GET /path HTTP/1.1
 |         Host: serverhost
 |         ...
 |
 |Note that the "PROXY" parameter in your example supposes the upstream
 |server talks the same protocol with the client's one, so it cannot be
 |used in this case.  And you don't need the CONNECT parameter in this case.

Cheers,
Yutaka
--
  9 9   Yutaka Sato <pfqcabdyi-mxhgu44xf33w.ml@delegate.org> http://delegate.org/y.sato/
 ( ~ )  National Institute of Advanced Industrial Science and Technology
_<   >_ 1-1-4 Umezono, Tsukuba, Ibaraki, 305-8568 Japan
Do the more with the less -- B. Fuller

  admin search upper oldest olders older1 this newer1 newers latest
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
@_@V