A Node.js module and command-line utility to start a fake HTTP(S) Forward-Proxy server with Basic or NTLM fake authentication.
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
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]
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
Simple usage:
const fakeProxy = require("fake-corp-proxy");
// Start server
const server = fakeProxy.start({
port: 8080,
ntlm: true
});
// When finished
server.close();
*Note: The same options as CLI are available"
This Proxy supports PAC Script generation:
curl http://localhost:8080/pac
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/
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
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 selectTrusted Root Certification Authorities
and clickOK
On OSX:
- Double-click on the certificate file
- Select
login
orsystem
in the select box and clickAdd
- Open
Keychain
and find the newly imported certificate - Double-click on the certificate
- Select
Always Trust
in theWhen using this certificate
select box
View license information for the software contained in this image.
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.