Pactester

Software Screenshot:
Pactester
Software Details:
Version: 1.0.8
Upload Date: 3 Jun 15
Developer: Manu Garg
Distribution Type: Freeware
Downloads: 23

Rating: 1.0/5 (Total Votes: 1)

Pactester is an utility to test Proxy Auto-Configuration (PAC) files.

PAC files are used by browsers to determine the 'right' proxy for a URL. Since the PAC file evaluation mechanism is generated inside the browser and cannot be accessed from outside, the only way to tell which proxy your browser will use for a specific URL is manual inspection of the PAC file. But manual inspection doesn't really scale very well. Pactester resolves this problem. It makes use of JavaScript interpreter and Netscape/Mozilla APIs to evaluate the PAC files and automates the whole process.

Pactester reads a PAC file, evaluates it in a JavaScript context and uses this PAC file's logic to determine the proxy for a specific URL.

Usage: ./pactester < -p pacfile > < -u url > [-h host] [-c client_ip]
./pactester < -p pacfile > < -f urlslist > [-c client_ip]


Options:
-p pacfile: PAC file to test
-u url: URL to test
-h host: Host part of the URL
-c client_ip: client IP address (defaults to IP address of the machine on which script is running)
-f urlslist: a file containing list of URLs to be tested.


Example:
./pactester -p wpad.dat -u http://www.google.com
./pactester -p wpad.dat -u http://www.google.com -c 192.168.1.105
./pactester -p wpad.dat -f url_list


How It Works?

It evaluates the PAC file in a Javascript context. To do that it uses the JavaScript::SpiderMonkey perl module, which is a perl interface to Mozilla's C implementation of Javascript- Spidermonkey.

PAC files use certain JavaScript functions. These functions have been defined in pac_utils.js file included with this tool (This file was generated using another file from Mozilla source code). Also, since JavaScript has no DNS resolving capability which is required by the "dnsResolve" and "myIpAddress" functions in the PAC files, these functions have been defined in Perl and then exported to a JavaScript context.

How to use it?

Pactester can be used to determine the proxy for a single URL or a list of URLs.

To determine the proxy for a single URL:

./pactester -p www.pac -u http://www.example.com

For a list of URLs :

./pactester -p www.pac -f urllist

where urllist is a file containing the list of URLs separated by newline.

Extending command line web clients:

Pactester can be also be used to extend command line web clients like curl and perl-libwww library.

To use it with curl: Right now, curl doesn't have the functionality to evaluate PAC files to find out proxy for a given URL. However, based on pactester, you can write a wrapper perl script around curl. This perl script will first find out the proxy for the URL, the way that pactester finds out, and then it will call curl with the option '-x "proxy server as returned by pactester method"'.

Similarly, this method can be used inside perl-libwww web clients too.

Requirements:

  • Perl

Similar Software

nntp2nntp
nntp2nntp

11 May 15

ScribeHandler
ScribeHandler

11 May 15

Siproxd
Siproxd

11 May 15

CYAN Secure Web
CYAN Secure Web

11 May 15

Comments to Pactester

Comments not found
Add Comment
Turn on images!