frejus

An HTTP tunnelling facility

npm install frejus
6 downloads in the last week
11 downloads in the last month

Frejus (an HTTP tunnelling facility)

Frejus lets you expose a local web server to the Internet.

For example a web server on port 8000 on your laptop can be made public with:

$ frejus -p 8000

Proxying a virtual hosted local web application

In case you have multiple sites installed on your local machine you can specify which host you want to proxy.

Let's say you have a local site configured at http://mysite:8000 you can proxy it with the following command:

$ frejus -p 8000 -v mysite

Installing

Frejus can be installed via npm:

$ npm install frejus

Running your own frejus server

The frejus server is provided as a free public service. However, you can also deploy your own server.

Run the server included in the package

$ forever start server.js

Configure nginx vhost to proxy requests to node:

server {
    listen 80;
    server_name *.your.domain.com;

    location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
        proxy_pass http://127.0.0.1:2500/;
    }
}

Open tcp port 2600 on iptables needed for incoming tcp connections from clients:

$ iptables -A INPUT -p tcp --dport 2600 -j ACCEPT

Specify your custom endpoint when connecting from the client:

$ frejus -p 8000 -h your.domain.com

License

MIT

npm loves you