mirror of
https://github.com/bitinflow/server.git
synced 2026-03-13 13:35:53 +00:00
25
README.md
25
README.md
@@ -2,38 +2,39 @@
|
||||
|
||||
localtunnel exposes your localhost to the world for easy testing and sharing! No need to mess with DNS or deploy just to have others test out your changes.
|
||||
|
||||
This repo is the server component. If you are just looking for the CLI localtunnel app, see (https://github.com/defunctzombie/localtunnel)
|
||||
This repo is the server component. If you are just looking for the CLI localtunnel app, see (https://github.com/defunctzombie/localtunnel).
|
||||
|
||||
## overview ##
|
||||
|
||||
The default localtunnel client connects to the ```localtunnel.me``` server. You can however easily setup and run your own server. In order to run your own localtunnel server you must ensure that your server can meet the following requirements:
|
||||
The default localtunnel client connects to the `localtunnel.me` server. You can, however, easily set up and run your own server. In order to run your own localtunnel server you must ensure that your server can meet the following requirements:
|
||||
|
||||
* You can setup DNS entries for your domain.tld and for *.domain.tld (or sub.domain.tld and *.sub.domain.tld)
|
||||
* The server can accept incoming TCP connections for any non-root TCP port (ports over 1000).
|
||||
* You can set up DNS entries for your `domain.tld` and `*.domain.tld` (or `sub.domain.tld` and `*.sub.domain.tld`).
|
||||
* The server can accept incoming TCP connections for any non-root TCP port (i.e. ports over 1000).
|
||||
|
||||
The above are important as the client will ask the server for a subdomain under a particular domain. The server will listen on any OS assigned TCP port for client connections
|
||||
The above are important as the client will ask the server for a subdomain under a particular domain. The server will listen on any OS-assigned TCP port for client connections.
|
||||
|
||||
#### setup
|
||||
|
||||
```shell
|
||||
// pick a place where the files will live
|
||||
# pick a place where the files will live
|
||||
git clone git://github.com/defunctzombie/localtunnel-server.git
|
||||
cd localtunnel
|
||||
cd localtunnel-server
|
||||
npm install
|
||||
|
||||
// server set to run on port 1234
|
||||
# server set to run on port 1234
|
||||
bin/server --port 1234
|
||||
```
|
||||
|
||||
The localtunnel server is now running and waiting for client requests on port 1234. You will most likely want to setup a reverse proxy to listen on port 80 (or start localtunnel on port 80 directly).
|
||||
The localtunnel server is now running and waiting for client requests on port 1234. You will most likely want to set up a reverse proxy to listen on port 80 (or start localtunnel on port 80 directly).
|
||||
|
||||
#### use your server
|
||||
|
||||
You can now use your domain with the ```--host``` flag for the ```lt``` client.
|
||||
You can now use your domain with the `--host` flag for the `lt` client.
|
||||
|
||||
```shell
|
||||
lt --host http://sub.example.tld:1234 --port 9000
|
||||
```
|
||||
|
||||
You will be assigned a url similar to ```qdci.sub.example.com:1234```
|
||||
You will be assigned a URL similar to `qdci.sub.example.com:1234`.
|
||||
|
||||
If your server is being a reverse proxy (i.e. nginx) and is able to listen on port 80, then you do not need the ```:1234``` part of the hostname for the ```lt``` client
|
||||
If your server is acting as a reverse proxy (i.e. nginx) and is able to listen on port 80, then you do not need the `:1234` part of the hostname for the `lt` client.
|
||||
|
||||
@@ -35,7 +35,7 @@ server {
|
||||
listen 443 default_server ssl spdy;
|
||||
listen [::]:443 default_server ipv6only=on;
|
||||
|
||||
server_name .localtuunel.me;
|
||||
server_name .localtunnel.me;
|
||||
|
||||
ssl on;
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ var localtunnel_server = require('../server')();
|
||||
|
||||
var lt_server_port
|
||||
|
||||
test('setup localtunnel server', function(done) {
|
||||
test('set up localtunnel server', function(done) {
|
||||
var server = localtunnel_server.listen(function() {
|
||||
lt_server_port = server.address().port;
|
||||
console.log('lt server on:', lt_server_port);
|
||||
@@ -42,7 +42,7 @@ test('landing page', function(done) {
|
||||
req.end();
|
||||
});
|
||||
|
||||
test('setup local http server', function(done) {
|
||||
test('set up local http server', function(done) {
|
||||
var server = http.createServer();
|
||||
server.on('request', function(req, res) {
|
||||
res.write('foo');
|
||||
@@ -57,7 +57,7 @@ test('setup local http server', function(done) {
|
||||
});
|
||||
});
|
||||
|
||||
test('setup localtunnel client', function(done) {
|
||||
test('set up localtunnel client', function(done) {
|
||||
var opt = {
|
||||
host: 'http://localhost:' + lt_server_port,
|
||||
};
|
||||
|
||||
@@ -10,7 +10,7 @@ var localtunnel_server = require('../server')({
|
||||
var server;
|
||||
var lt_server_port;
|
||||
|
||||
test('setup localtunnel server', function(done) {
|
||||
test('set up localtunnel server', function(done) {
|
||||
var lt_server = localtunnel_server.listen(function() {
|
||||
lt_server_port = lt_server.address().port;
|
||||
console.log('lt server on:', lt_server_port);
|
||||
@@ -18,7 +18,7 @@ test('setup localtunnel server', function(done) {
|
||||
});
|
||||
});
|
||||
|
||||
test('setup local http server', function(done) {
|
||||
test('set up local http server', function(done) {
|
||||
server = http.createServer();
|
||||
server.on('request', function(req, res) {
|
||||
// respond sometime later
|
||||
@@ -37,7 +37,7 @@ test('setup local http server', function(done) {
|
||||
});
|
||||
});
|
||||
|
||||
test('setup localtunnel client', function(done) {
|
||||
test('set up localtunnel client', function(done) {
|
||||
var opt = {
|
||||
host: 'http://localhost:' + lt_server_port,
|
||||
};
|
||||
|
||||
@@ -9,7 +9,7 @@ var localtunnel_server = require('../server')();
|
||||
|
||||
var lt_server_port
|
||||
|
||||
test('setup localtunnel server', function(done) {
|
||||
test('set up localtunnel server', function(done) {
|
||||
var server = localtunnel_server.listen(function() {
|
||||
lt_server_port = server.address().port;
|
||||
console.log('lt server on:', lt_server_port);
|
||||
@@ -17,7 +17,7 @@ test('setup localtunnel server', function(done) {
|
||||
});
|
||||
});
|
||||
|
||||
test('setup local websocket server', function(done) {
|
||||
test('set up local websocket server', function(done) {
|
||||
|
||||
var wss = new WebSocketServer({ port: 0 }, function() {
|
||||
test._fake_port = wss._server.address().port;
|
||||
@@ -31,7 +31,7 @@ test('setup local websocket server', function(done) {
|
||||
});
|
||||
});
|
||||
|
||||
test('setup localtunnel client', function(done) {
|
||||
test('set up localtunnel client', function(done) {
|
||||
var opt = {
|
||||
host: 'http://localhost:' + lt_server_port,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user