Commit Graph
100 Commits
Author SHA1 Message Date
Roman Shtylman cf070d4ce9 add /api/tunnels/:id/status endpoint
Provides connected_sockets information for a tunnel.
2018-05-16 16:41:05 -04:00
Roman Shtylman 317db73bdc use pump to pipe sockets
Ensures that destination socket close or destroy also does the same for
the source socket.
2018-05-16 10:21:56 -04:00
Roman Shtylman 743895720c Dockerfile: update to node v10 2018-05-15 19:18:12 -04:00
Roman Shtylman c27100b98e refactor to use http agent interface for tunnels 2018-05-15 14:49:19 -04:00
Roman Shtylman 30fd566c3a remove stale .babelrc 2018-04-05 18:06:44 -07:00
Roman Shtylman 423327d0ac update dockerfile entrypoint to use esm
Does not work using #! in bin/server without this.
2018-04-01 20:24:55 -07:00
Roman Shtylman 86dce49dd1 add --domain option to enable localtunnel servers on subdomains 2018-04-01 19:57:48 -07:00
Roman Shtylman 6b07a86ec1 switch babel-register to esm 2018-04-01 18:24:49 -07:00
Roman Shtylman 37df802cc0 Allow dash characters in subdomain.
Thank you @zackslash via https://github.com/localtunnel/server/pull/47

Rebased to latest master.
2018-04-01 18:04:48 -07:00
Roman Shtylman 2a9bc27117 do not exit on uncaught exception 2017-12-11 21:35:40 -08:00
Roman Shtylman 3d6798a2bf fix api status endpoint 2017-12-11 21:29:11 -08:00
Roman Shtylman 5fb9dbaaa1 extract ClientManager from server.js
Make client manager more robust when piping connections.
2017-12-11 21:16:55 -08:00
Roman Shtylman b4a36c78b0 replace express with koa 2017-12-10 11:34:29 -08:00
Roman Shtylman 9933611319 move proxy.js to lib/Proxy.js 2017-12-10 10:37:10 -08:00
Roman Shtylman 4a4b72b492 update travis to test using node 9.2 2017-12-10 10:32:01 -08:00
Roman Shtylman 764b58f883 fix incorrect require in bin/server 2017-12-10 10:30:23 -08:00
Roman Shtylman ab9b47d2b3 remove http-proxy dependency 2017-12-10 10:27:03 -08:00
Roman Shtylman 3e12b7ef31 upgrade debug to 3.1.0 2017-12-10 10:24:24 -08:00
Roman Shtylman 908ab316c3 update bluebird to 3.5.1 2017-12-10 10:22:05 -08:00
Roman Shtylman 61708ec698 update book to 1.3.3 2017-12-10 10:22:00 -08:00
Roman Shtylman 54f0eae039 upgrade babel register and babel plugin transform commonjs 2017-12-10 10:17:14 -08:00
Roman Shtylman 308c2d4b85 remove babel polyfill 2017-12-10 10:15:28 -08:00
Roman Shtylman 6318db6075 remove babel async to generator transform 2017-12-10 10:14:59 -08:00
Roman Shtylman db5b632a9f add dev script to package.json 2017-12-10 09:56:58 -08:00
Roman Shtylman 55a7f8eeb6 update Dockerfile to node 9.2.1 2017-12-10 09:36:53 -08:00
Roman Shtylman ddad1851fc add yarn.lock 2017-12-10 09:27:57 -08:00
Roman Shtylman 30df06ff14 add memory usage to status api endpoint 2016-11-27 12:47:59 -08:00
Roman Shtylman c67d1a4d37 bookrc: add error print to further diagnose ECONNRESETS 2016-11-27 12:37:10 -08:00
Roman Shtylman 2a6561e774 add error handlers to requests and sockets
Trying to flush out cause of sporadic socket failures and identify which
socket is not being handled.
2016-11-27 09:50:14 -08:00
Roman Shtylman c81ed7ff4a travis: update to test with node 6.2 2016-07-24 21:37:18 -04:00
Roman Shtylman eae9718ab3 redirect to github site for landing page
avoid proxying all the landing page requests
2016-07-24 21:34:34 -04:00
Roman Shtylman dbf91cfa20 fix sending response when no client socket available 2016-07-10 22:24:20 -07:00
Roman Shtylman d7fbf3c39e fix processing waiting callbacks inside next_socket 2016-07-10 20:22:35 -07:00
Roman Shtylman f1fa607ad9 README: add deploy instructions 2016-07-09 17:22:14 -07:00
Roman Shtylman 965be6e1ff remove devops folder
moved to separate nginx repo
2016-07-09 17:07:51 -07:00
Roman Shtylman a2a58f4c6f refactor with async/await
Trying to be more robust about error handling and failure.
2016-07-09 17:06:13 -07:00
Roman Shtylman f12f1c81b3 Merge pull request #41 from scandinaro/master
fixed issue with response code and headers
2015-12-16 21:20:20 -08:00
Roman Shtylman 596ead14e6 Merge pull request #37 from sidthekidder/master
increased subdomain character limit to 63
2015-11-17 21:07:51 -08:00
Roman Shtylman a38f378c3b Merge pull request #35 from ReadmeCritic/master
Readme: Update redirects
2015-11-10 18:35:49 -08:00
Roman Shtylman 27b3fbccf7 readme: fix travis badge 2015-11-04 20:41:03 -08:00
Roman Shtylman 22bed6a681 travis: fix node version 2015-11-04 20:39:50 -08:00
Roman Shtylman 3cec10dceb travis: use new container infra and node 4.x 2015-11-04 20:38:40 -08:00
Roman Shtylman ad914658f8 readme: update travis badge 2015-11-04 20:37:27 -08:00
Roman Shtylman f8fa049966 remove bouncy
rework request proxy to use native http request and direct socket pipe.
Cuts out bouncy which is no longer maintained and simplifies the code
path.
2015-11-04 20:01:01 -08:00
Roman Shtylman 4f0f78d1ee package.json: move ws to dev deps 2015-11-04 08:36:35 -08:00
Roman Shtylman fd6498d14d update localtunnel dev-dep 2015-11-04 08:36:14 -08:00
Roman Shtylman 17330a8751 Dockerfile: update to node 4.2.1 2015-10-27 22:27:12 -07:00
Roman Shtylman 17714f243a Merge pull request #34 from lukehorvat/typos
Fix minor typos
2015-10-21 19:18:36 -07:00
Roman Shtylman 00256f4e77 Merge pull request #33 from lukehorvat/license
Define license in package.json
2015-10-07 19:50:19 -07:00
Roman Shtylman 2345f27b8a devops: update run.sh 2015-08-02 11:59:31 -07:00
Roman Shtylman 97ca914178 fix tests 2015-08-02 11:59:27 -07:00
Roman Shtylman 98db0257bc Dockerfile: update to iojs 2.5.0 and alpine image 2015-08-02 11:46:49 -07:00
Roman Shtylman 01656ecf60 remove git rev loading from bookrc 2015-08-02 11:46:34 -07:00
Roman Shtylman 41b7e3f63d proxy to github pages site for landing page
- removes all the website specific cruft from the repo
- allows for rolling out website changes separately from server changes
2015-08-02 11:06:46 -07:00
Roman Shtylman d767c8253f add LICENSE 2015-07-08 13:36:44 -07:00
Roman Shtylman 54ae217a6a README: fix example 2015-04-21 18:32:12 -07:00
Roman Shtylman f7d0effa90 0.0.8 2015-01-10 21:27:46 -08:00
Roman Shtylman 4985175968 remove cluster module use 2015-01-10 21:27:19 -08:00
Roman Shtylman 779ed39b4f 0.0.7 2015-01-10 21:04:35 -08:00
Roman Shtylman 8d78956355 use cluster module to handle auto restart on death
having some problems with docker auto restarts so we will do it in the
code for now
2015-01-10 21:02:45 -08:00
Roman Shtylman 7f6640a9d6 0.0.6 2015-01-10 21:00:46 -08:00
Roman Shtylman 386910032e fix websocket support 2015-01-10 20:58:11 -08:00
Roman Shtylman cfdb42ee9c rename .env.development to .env 2015-01-10 20:58:11 -08:00
Roman Shtylman 8af4fe19b8 update on-finished 2015-01-10 20:58:11 -08:00
Roman Shtylman 8d91892ace listen after connecting error handler 2015-01-10 20:58:10 -08:00
Roman Shtylman 4b485fecda Merge pull request #20 from sidthekidder/master
disallow uppercase domains, with test
2015-01-03 11:39:48 -05:00
Roman Shtylman 5046c360ba don't log econnreset or timeout errors 2014-12-11 19:34:08 -08:00
Roman Shtylman 57ebcc90e1 add devops folder to show how to easily run on a server 2014-12-11 10:54:53 -08:00
Roman Shtylman dd7d8d6aa6 bin: fix module require 2014-12-11 10:07:06 -08:00
Roman Shtylman c0365c9553 0.0.5 2014-12-11 09:40:46 -08:00
Roman Shtylman fb888ecdbd Update nodejs in dockerfile 2014-12-11 09:39:22 -08:00
Roman Shtylman 4dd37bda60 update dependencies 2014-12-11 09:32:00 -08:00
Roman Shtylman 6235436a71 don't exit on uncaught exception 2014-12-05 16:22:16 -08:00
Roman Shtylman d1496f15c6 add Coinbase Tip button ... so cool! 2014-11-18 11:48:49 -08:00
Roman Shtylman e69dabcd57 remove flip-counter css 2014-10-25 17:14:38 -07:00
Roman Shtylman 73ec1865ab remove engine.io
No need for homepage to show this stuff for now. Just more things that
can crash the tunnel server!
2014-10-25 17:09:13 -07:00
Roman Shtylman 4a09dc114a better handling of requests that die 2014-10-25 16:59:16 -07:00
Roman Shtylman a5edd0f8f4 add dockerfile 2014-10-11 20:43:14 -07:00
Roman Shtylman 07bad31e72 add dotenv 2014-10-11 20:13:13 -07:00
Roman Shtylman 6b6bbfba61 update bouncy to 3.2.2 2014-10-09 10:56:54 -07:00
Roman Shtylman d2df5ec4c3 update enchilada to 0.11.0 2014-10-09 10:55:30 -07:00
Roman Shtylman bcc40c5b5f add nginx config as example
closes #11
2014-05-20 11:59:54 -04:00
Roman Shtylman 13bf109a6e don't log client connection errors 2014-04-28 11:40:06 -04:00
Roman Shtylman 55feebdb9a don't log bounce errors, just destroy the socket 2014-04-23 12:12:12 -04:00
Roman Shtylman 7ecef6b69c make done a no-op if not provided 2014-04-23 12:10:51 -04:00
Roman Shtylman 852023bd73 destroy client sockets upon error 2014-04-23 09:43:04 -04:00
Roman Shtylman 1b1d75b750 detect when http client request is finished and close connection
If the request is finished before we need to respond, we set a flag and
close the connection.

We also close the connection when the request finishes anyway because we
really like a new connection for each request. Things play nicer with
bouncy that way.
2014-04-22 20:34:13 -04:00
Roman Shtylman 7fedb06bf9 remove old stats object properties 2014-04-22 19:48:11 -04:00
Roman Shtylman 5886cbe3d9 log another socket error 2014-04-22 19:47:41 -04:00
Roman Shtylman 9e89e863a3 remove request count on homepage 2014-04-22 19:41:10 -04:00
Roman Shtylman 8cc22d501c fix bad matching against subdomains
Match for valid subdomains versus anything that comes before a period.

fixes #7
2014-04-20 12:58:59 -04:00
Roman Shtylman 8abb4f395f add test for invalid subdomain requests 2014-04-20 11:05:57 -04:00
Roman Shtylman dd6d04c2cf add max-sockets CLI argument 2014-04-16 22:49:31 -04:00
Roman Shtylman 873bafc1f6 allow subdomains up to 20 characters
- error out of subdomain outside of acceptable range
- don't check ranges in client id regex capture. If there is no client,
  just give a no client message instead of redirecting to service
  landing page

fixes #40
2014-04-16 22:46:21 -04:00
Roman Shtylman bee0115b26 update tests to latest localtunnel client 2014-04-16 19:11:12 -04:00
Roman Shtylman 3f004f9b5c add mashape sponsor 2014-04-16 12:57:15 -04:00
Roman Shtylman bc80e37fff handle engine.io websocket errors more gracefully 2014-02-25 11:54:40 -05:00
Roman Shtylman 54ba65ba1f bump length of subdomain to 10 2013-12-31 15:33:43 -05:00
Roman Shtylman 3c863b3187 bump max tcp in proxy to 10 2013-12-31 15:31:54 -05:00
Roman Shtylman e08ee1edbb fix handling of new requests for generated client id 2013-12-21 10:45:19 -05:00