fake-corp-proxy
A Node.js module and command-line utility to start a fake HTTP(S) Forward-Proxy server with Basic or NTLM fake authentication.
Installation
To use as a command-line utility:
npm install -g fake-corp-proxy
To use as a node.js module:
npm install fake-corp-proxy
CLI HTTP usage
Simple usage:
fake-corp-proxy --port 8080 --ntlm
Available options:
Options:
--version Show version number [boolean]
--port, -p Use this port when starting proxy [number] [default: 8080]
--basic, -b Enable Basic Authentication [boolean] [default: false]
--ntlm, -n Enable NTLM Authentication [boolean] [default: false]
--https, -s Enable HTTPS server [boolean] [default: false]
-h, --help Show help [boolean]
CLI HTTPS usage
To make fake-corp-proxy
to handle HTTPS protocol, you need to generate a CA certificate:
fake-corp-proxy-ca root my-ca-name
Then, you have to trust the generated certificate on your OS (More infos).
Once your CA certificate is trusted you can tunnel HTTPS requests to your proxy. You can also run the proxy in HTTPS mode.
fake-corp-proxy --https
If you forget where is stored you CA certificate, you can run:
fake-corp-proxy-ca root-path
Module usage
Simple usage:
const fakeProxy = require("fake-corp-proxy");
const server = fakeProxy.start({
port: 8080,
ntlm: true
});
server.close();
*Note: The same options as CLI are available"
Proxy Auto-Configuration (PAC Script)
This Proxy supports PAC Script generation:
curl http://localhost:8080/pac
Simulate Authentication errors
This module does not really authenticate users.
To simulate an unauthorized user, just use a username starting with unknwown
.
(eg: unkwnown
, unkwnown-user
, unkwnown-test
)
curl --proxy-insecure -x \"https://unknown:password@localhost:8081\" https://www.google.com/
Exemples
Forward-Proxy in HTTP only:
fake-corp-proxy
Forward-Proxy with HTTP and HTTPS modes enabled:
fake-corp-proxy --https
Forward-Proxy with HTTP and HTTPS and Basic authentication:
fake-corp-proxy --https --basic
Forward-Proxy with HTTP and HTTPS and NTLM authentication:
fake-corp-proxy --https --ntlm
Forward-Proxy with HTTP and HTTPS and NTLM authentication and verbose logging (details of authentication):
fake-corp-proxy --https --ntlm --verbose
Trust CA certificate
On Windows:
- Double-click on the certificate file
- Click on the
Install Certificate
button - On opened window, select
Place all certificates in the following store
- Click
Browse
then select Trusted Root Certification Authorities
and click OK
On OSX:
- Double-click on the certificate file
- Select
login
or system
in the select box and click Add
- Open
Keychain
and find the newly imported certificate - Double-click on the certificate
- Select
Always Trust
in the When using this certificate
select box
License
View license information for the software contained in this image.
Contributing
You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.
Before you start to code, we recommend discussing your plans through a GitHub issue, especially for more ambitious contributions. This gives other contributors a chance to point you in the right direction, give you feedback on your design, and help you find out if someone else is working on the same thing.