1
0
mirror of https://github.com/bingohuang/docker-labs.git synced 2025-07-14 01:57:32 +08:00

37 Commits

Author SHA1 Message Date
Marcos Lilljedahl
c4be25076d Remove unnecesary proxy 2017-03-30 18:50:10 -03:00
Marcos Lilljedahl
75f3c93612 Add TCP proxy for tcp over http connections 2017-03-30 16:49:03 -03:00
Marcos Lilljedahl
2c7af720c0 Increase cookie time 2017-03-14 14:59:06 -03:00
Marcos Lilljedahl
a875bbe23e Add cookie to prevent captcha constantly 2017-03-14 14:08:46 -03:00
Jonathan Leibiusky @xetorthio
0770eb689b Add some logging to the proxy 2017-03-13 18:23:36 -03:00
Marcos Nils
a4b0a98df3 Scaling (#109)
Make PWD scalable
2017-03-13 18:07:20 -03:00
Marcos Lilljedahl
0df09bebdb Allow to send subdomains but forward header as is to backends 2017-02-17 13:58:53 -03:00
Marcos Lilljedahl
9e57f3b61c Allow to override target host header using subdomains 2017-02-17 12:53:16 -03:00
Jonathan Leibiusky
f816be6f69 Add DNS support for PWD instances (#94)
* Add DNS support for PWD instances

* Store IP address of PWD in all session networks and restore it with the
same IP address

* Remove unnecesary print

* Change url format to pwd<ip>-port for better DNS filtering

* Make PWD listen on 80 and 443 for DNS resolve to work
2017-02-17 11:10:01 -03:00
Jonathan Leibiusky @xetorthio
9c4df837a8 Add support for websocket proxying 2017-02-14 15:41:03 -03:00
Marcos Nils
640d64c3aa Update proxy to handle port redirects (#92) 2017-02-12 02:25:25 +02:00
Marcos Lilljedahl
c0bafc5f3b Allow to access insecure https exposed services through proxy 2017-02-01 16:40:45 -03:00
Marcos Nils
a5d1e5c207 Allow to override session timeout. (#86)
* Allow to override session timeout.

This comes useful as it can be overriden from the SDK now

* Fix comments
2017-01-31 13:51:57 +02:00
Marcos Lilljedahl
51d19839bf Add transport to avoid connection re-use 2017-01-19 13:20:10 -03:00
Marcos Lilljedahl
f2fe0e3137 Configure CORS correctly 2017-01-13 20:40:14 -03:00
Marcos Lilljedahl
4616cb1f5d Add CORS handlers to support SDK 2017-01-13 19:29:39 -03:00
Marcos Lilljedahl
c1cfc7958a Revert "Add CORS to create session and make it return text plain session ID"
This reverts commit c81a712a28eba960a4bcdc078cb51a1a4f832dbb.
2017-01-13 19:27:07 -03:00
Marcos Lilljedahl
c81a712a28 Add CORS to create session and make it return text plain session ID 2017-01-13 19:23:41 -03:00
Marcos Nils
dea778440e Add TLS certificates for machine drivers (#73) 2016-12-27 18:53:50 +02:00
Jonathan Leibiusky @xetorthio
122118b9df Allow to specify port, and remove session id.
So now the way to address a node is in the form of:
`ip10_0_1_9-9200.play-with-docker.com`
2016-11-23 11:52:59 -03:00
Jonathan Leibiusky @xetorthio
ec9d34ffda Add reverse proxy endpoint.
It works by using the Host of the request. When it receives something in
the form of: `<node>.<session>.play-with-docker.com` it does a reverse
proxy http request to `node`, validating that the `node` actually belongs
to the `session`.
If the node has a prefix `ip` and continues with a valid IP address
where the dots where replaces by underscores (like `ip10_0_0_1`) then it
will remove the `ip` prefix and and replace the underscores by dots, and
assume it is an ip address.
2016-11-23 11:52:59 -03:00
Jonathan Leibiusky @xetorthio
af9986c0f8 Validates that user is a human.
Add google recaptcha as an initial page before creating any session.
To configure recaptcha there are 2 environment variables that are needed
`GOOGLE_RECAPTCHA_SITE_KEY` and `GOOGLE_RECAPTCHA_SITE_SECRET`.
The code contains development defaults that should be set in production
to real values.
**NOTICE: Development defaults assume that the domain is `localhost`**
2016-11-15 16:53:44 -03:00
Marcos Lilljedahl
e8d69d6a21 Fix session config for docker image 2016-11-14 22:08:53 -03:00
Marcos Lilljedahl
2450d53eeb Avoid app crash if WS handler panics 2016-11-13 21:56:19 -03:00
Jonathan Leibiusky (@xetorthio)
d05fe56fea Better session lock management 2016-11-11 20:10:19 -03:00
Jonathan Leibiusky (@xetorthio)
8e4981d24f Huge refactor to have everything working with socket.io
It fixes lots of bugs, can fallback to long polling, resize viewport of
terminals and share clients state of the session, so they all see the
same thing.
2016-11-10 10:42:08 -03:00
Marcos Lilljedahl
9b6991f130 Try to encode to UTF-8 or just discard characters
Fixes #10
2016-10-19 00:38:05 -03:00
Marcos Lilljedahl
a56af3dc22 Refactor sessions and add locking to avoid concurrent requests to create
more instances
2016-10-14 12:54:25 -03:00
Marcos Lilljedahl
2e9637b181 Remove stdout if session creator throws an error 2016-10-12 22:46:36 -03:00
Marcos Lilljedahl
97f39ca375 Remove writer if websocket disconnects 2016-10-08 15:04:30 +02:00
Marcos Lilljedahl
b3e7dcae3b Make session replication 2016-10-08 14:26:25 +02:00
Jonathan Leibiusky (@xetorthio)
02d50073c5 Attach to the same terminal 2016-10-08 13:35:02 +02:00
Marcos Lilljedahl
a0ffe28be9 Show alert if more than 5 instances are created 2016-10-08 10:52:52 +02:00
Marcos Lilljedahl
62936fcfc9 Change attach URL 2016-10-08 10:32:40 +02:00
Jonathan Leibiusky (@xetorthio)
b6b849e2c6 Change import paths
Add session cleanup
2016-10-08 10:25:10 +02:00
Marcos Lilljedahl
0d693b344c Add ping handler and listen on tcp4 addresses 2016-10-08 03:26:22 +02:00
Jonathan Leibiusky (@xetorthio)
dde49d8700 Initial commit 2016-10-08 03:12:48 +02:00