glace-proxy
v1.4.0
Published
GlaceJS proxy is interactive nodejs application to launch http and global proxy in order to capture server responses and manage them
Downloads
30
Readme
GlaceJS Proxy
Annotation
GlaceJS
proxy is nodejs interactive console application which launches http and global proxy to capture server responses and manage them.
Features
- HTTP proxy launching
- Global transparent proxy launching
- Responses caching
- Responses speed management
- Chrome browser launching
- Interactive management
- Development and testing API
Installation
Be sure that you have installed nodejs >= v8.9
. Or download and install it.
npm i glacejs-proxy
After installation utility glace-proxy
will be available in terminal. Use glace-proxy -h
to get details about its usage or see section Console Options.
Installation for development:
git clone https://github.com/schipiga/glacejs-proxy
cd glacejs-proxy
npm i
Quick Start
To start proxy server call the command in terminal:
glace-proxy [options]
Or create file config.json
and fill it with content:
{
"global-proxy": true or false,
"global-proxy-port": "<port number>",
"install-certificate": true,
"existing-cache": true,
"cache-folder": "</path/to/cache/folder>",
"url": "<URL>",
"speed": 128
}
And then just execute command in terminal:
glace-proxy
Console Options
Configuration:
-c, --config [config-path]
- Path to JSON file with CLI arguments. Default iscwd/config.json
(if it exists).--web-url <URL>
- Proxied URL for HTTP proxy. Required if HTTP proxy is used.
(Note! All options below are may be used in config.json
, see section Quick Start.)
Proxy:
--http-proxy
- Activate HTTP proxy.--proxy-port [port-number]
- Port for HTTP proxy. Default is random. For example:--proxy-port 3000
.--global-proxy
- Activate transparent global proxy.--global-proxy-port [port-number]
- Port for transparent global proxy. Default is random. For example:--global-proxy-port 3001
.--install-certificate
- Install global proxy certificate as trusted. Requires administrator permissions. Windows only!--speed <value>
- Responses speed from proxy to client (browser), kb/s. Default is unlimited. For example:--speed 128
.
Cache:
--cache
- Cache server responses to disk.--existing-cache
- Cache server responses to disk. Connect to existing cache if it exists.--cache-folder [folder-path]
- Folder to cache server responses. Default iscwd/.proxy-cache
. For example:--cache-folder /path/to/my/cache
.
Chrome:
--chrome
- Launch google chrome and open proxied URL there. Pristine profile will be used.--chrome-incognito
- Launch google chrome in incognito mode.
Log:
--log [file-path]
- Path to log file. Default iscwd/glace-proxy.log
. For example:--log /path/to/glace-proxy/log
.--stdout-log
- Print log messages to stdout.
Other:
-h, --help
- Show help.
GlaceJS Proxy commands
Commands will be available after glace-proxy
launching:
url <url>
- Set proxied URL.proxy start http
- Start HTTP proxy.proxy start global
- Start global proxy.proxy stop http
- Stop HTTP proxy.proxy stop global
- Stop global proxy.proxy restart http
- Restart HTTP proxy.proxy restart global
- Restart global proxy.proxy speed <speed>
- Limit proxy speed, kb/s.proxy requests speed <speed>
- Limit proxy requests speed, kb/s.proxy responses speed <speed>
- Limit proxy responses speed, kb/s.proxy speed reset
- Unlimit proxy speed.chrome
- Launch google chrome browser. Pristine profile will be used each time.chrome close
- Close google chrome browser.chrome restart
- Restart google chrome browser. Pristine profile will be used each time.cache
- Cache server responses to disk. Cached responses will be replayed by proxy.cache disable
- Disable proxy cache.cache clear
- Remove cached responses from storage.help [command...]
- Provide help for a given command.exit
- Exit application.
Development API
var glaceProxy = require("glacejs-proxy");
More details about development and testing API here.
GlaceJS Proxy plugin
As GlaceJS framework plugin it will be loaded automatically.
Plugin CLI
--http-proxy
- Use http proxy.--http-proxy-port
- Port for http proxy. Default is random. Incompatible with--slaves
option.--global-proxy
- Use transparent global proxy. Chromium browsers only.--global-proxy-port
- Port for transparent global proxy. Default is random. Incompatible with--slaves
option.--install-certificate
- Install global proxy certificate as trusted. Requires administrator permissions.--cache
- Enable middleware to cache proxy responses to disk.--existing-cache
- Use existing cache if it exists.--reconnect
- Number of proxy reconnects on request error. Default is1
.
Plugin API
Test examples
See integration tests in order to explore examples.
Tests and quality
- Project tests report is here
- Code coverage report is here