SkillAgentSearch skills...

Core

Javascript based reverse & forward proxy with high performance & capability

Install / Use

/learn @gatejs/Core
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

gate

GateJS is a javascript based reverse & forward proxy with high performance & capability.

For more informations about gatejs & configuration please visit the wiki at https://github.com/gatejs/core/wiki

Learn more about gatejs contribution @ https://github.com/gatejs/core/wiki/Contribution

Installation

TLDR

You need to install before NodeJS >4.x.x. Once nodejs is installed you can run:

$ sudo npm install -g gatejs

Installation from git

To install this project from git, you will have to run the following command :

$ git clone https://github.com/gatejs/core.git gate
$ cd gate
$ npm install

If you downloaded the zip from github, you will have to fetch the submodules yourself.

Running gatejs

You can use the forever process manager to run and control gatejs.

mkdir /var/log/gatejs
forever -a -o /var/log/gatejs/forever.log -e /var/log/gatejs/forever-error.log start --uid gatejs --max_old_space_size=150 /usr/bin/gatejs --config=/etc/gatejs/config.js

You can also run the command at the reboot time using cron!

Add the following lines when editing crontab (crontab -e):

@reboot forever -a -o /var/log/gatejs/forever.log -e /var/log/gatejs/forever-error.log start --uid gatejs --max_old_space_size=150 /usr/bin/gatejs --config=/etc/gatejs/config.js

--max_old_space_size=150 allows to control the V8 garbage collector which is set to 150MB.

Debian packages

apt-get install gcc make g++ python

Forward proxy configuration example

var serverConfig = function(bs) { return({
    serverProcess: 4,
    hostname: "testServer0",
    runDir: "/var/run/gatejs",
    dataDir: "/home/gatejs-data",
    logDir: "/var/log/gatejs",
    confDir: '/etc/gatejs',

    http: {
        forwardInterface: {
            type: 'forward',
            port: 80,
            pipeline: 'pipetest'
        }
    },

    pipeline: {
        pipetest: [
            ['cache', { }],
            ['proxyPass', { mode: 'host', timeout: 10 }]
        ],
    }

})};

module.exports = serverConfig;
View on GitHub
GitHub Stars99
CategoryDevelopment
Updated4mo ago
Forks15

Languages

JavaScript

Security Score

92/100

Audited on Nov 3, 2025

No findings