edbrowse-dev - development list for edbrowse
 help / color / mirror / Atom feed
From: Chris Brannon <chris@the-brannons.com>
To: Edbrowse-dev@lists.the-brannons.com
Subject: Re: [Edbrowse-dev] A couple of feature requests
Date: Thu, 03 Jul 2014 08:39:14 -0700	[thread overview]
Message-ID: <87d2dm5u59.fsf@mushroom.PK5001Z> (raw)
In-Reply-To: <20140603051951.eklhad@comcast.net> (Karl Dahlke's message of "Thu, 03 Jul 2014 05:19:51 -0400")

Karl Dahlke <eklhad@comcast.net> writes:

> Can you specify proxy exceptions within curl?

Nope.
This will be a fun can of worms.
In corporate settings, the proxy you use may depends on the
URL you're trying to fetch.
See http://en.wikipedia.org/wiki/Proxy_auto-config
It's going to be more complicated than just supporting exceptions.
Here's a long quote from that article:

<quote>
Computer {operating systems} (e.g., {Microsoft Windows}
{Mac OS X}
{Linux}) require a number of settings to communicate over the
{Internet}. These settings are typically obtained from an {Internet
Service Provider} (ISP). Either anonymous (proxy to use a {proxy
server}) or real settings may be used to establish a network connection.

The PAC File{edit}

The Proxy auto-config file format was originally designed by {Netscape}
in 1996 for the {Netscape Navigator 2.0}^{[1]} and is a
{text file} that defines at least one JavaScript function,
FindProxyForURL(url, host), with two arguments:
url is the URL of the object and host is the host-name derived from that URL.
By convention, the PAC file is normally named proxy.pac.
The {WPAD standard} uses wpad.dat.

To use it, a PAC file is published to a {HTTP server},
and client user agents are instructed to use it,
either by entering the URL in the proxy connection settings of the browser or
through the use of the WPAD protocol.

A very simple example of a PAC file is:

function FindProxyForURL(url, host)
{
	return "PROXY proxy.example.com:8080; DIRECT";
}


This function instructs the browser to retrieve all pages through the proxy on
{port} 8080 of the server proxy.example.com.
Should this proxy fail to respond, the browser contacts the Web-site directly,
without using a proxy. The latter may fail if {firewalls},
or other intermediary network devices,
reject requests from sources other than the proxy;
a common configuration in corporate networks.

A more complicated example demonstrates some available JavaScript functions to
be used in the FindProxyForURL function:

function FindProxyForURL(url, host) {
	// our local URLs from the domains below example.com don't need a proxy:
	if (shExpMatch(host, "*.example.com"))
	{
		return "DIRECT";
	}

	// URLs within this network are accessed through
	// port 8080 on fastproxy.example.com:
	if (isInNet(host, "10.0.0.0", "255.255.248.0"))
	{
		return "PROXY fastproxy.example.com:8080";
	}

	// All other requests go through port 8080 of proxy.example.com.
	// should that fail to respond, go directly to the WWW:
	return "PROXY proxy.example.com:8080; DIRECT";
}
</quote>

Yeah, I had to deal with this stuff when I worked for $big_company.  For
all intents and purposes, edbrowse was completely unusable on that
network.

-- Chris

  parent reply	other threads:[~2014-07-03 15:39 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-03  9:19 Karl Dahlke
2014-07-03 14:54 ` Adam Thompson
2014-07-03 15:39 ` Chris Brannon [this message]
2014-07-04 12:45   ` Adam Thompson
2014-07-04  6:50 ` Chris Brannon
  -- strict thread matches above, loose matches on Subject: below --
2014-07-04 13:27 Karl Dahlke
2014-07-02 19:44 Adam Thompson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87d2dm5u59.fsf@mushroom.PK5001Z \
    --to=chris@the-brannons.com \
    --cc=Edbrowse-dev@lists.the-brannons.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).