novnc-rails 0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) hide show
  1. checksums.yaml +7 -0
  2. data/COPYING +0 -0
  3. data/LICENSE.txt +0 -0
  4. data/README.md +0 -0
  5. data/lib/novnc-rails.rb +8 -0
  6. data/lib/novnc-rails/version.rb +5 -0
  7. data/vendor/assets/javascripts/noVNC/Orbitron700.ttf +0 -0
  8. data/vendor/assets/javascripts/noVNC/Orbitron700.woff +0 -0
  9. data/vendor/assets/javascripts/noVNC/base.css +512 -0
  10. data/vendor/assets/javascripts/noVNC/base64.js +113 -0
  11. data/vendor/assets/javascripts/noVNC/black.css +71 -0
  12. data/vendor/assets/javascripts/noVNC/blue.css +64 -0
  13. data/vendor/assets/javascripts/noVNC/des.js +276 -0
  14. data/vendor/assets/javascripts/noVNC/display.js +751 -0
  15. data/vendor/assets/javascripts/noVNC/input.js +388 -0
  16. data/vendor/assets/javascripts/noVNC/jsunzip.js +676 -0
  17. data/vendor/assets/javascripts/noVNC/keyboard.js +543 -0
  18. data/vendor/assets/javascripts/noVNC/keysym.js +378 -0
  19. data/vendor/assets/javascripts/noVNC/keysymdef.js +15 -0
  20. data/vendor/assets/javascripts/noVNC/logo.js +1 -0
  21. data/vendor/assets/javascripts/noVNC/playback.js +102 -0
  22. data/vendor/assets/javascripts/noVNC/rfb.js +1889 -0
  23. data/vendor/assets/javascripts/noVNC/ui.js +979 -0
  24. data/vendor/assets/javascripts/noVNC/util.js +656 -0
  25. data/vendor/assets/javascripts/noVNC/web-socket-js/README.txt +109 -0
  26. data/vendor/assets/javascripts/noVNC/web-socket-js/WebSocketMain.swf +0 -0
  27. data/vendor/assets/javascripts/noVNC/web-socket-js/swfobject.js +4 -0
  28. data/vendor/assets/javascripts/noVNC/web-socket-js/web_socket.js +391 -0
  29. data/vendor/assets/javascripts/noVNC/websock.js +388 -0
  30. data/vendor/assets/javascripts/noVNC/webutil.js +239 -0
  31. metadata +86 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: abd582e2cab00a03007a7c59b4b530d00260fc6c
4
+ data.tar.gz: 67ac1680991c3443e02951cb15151f0570961c6d
5
+ SHA512:
6
+ metadata.gz: b840e151e229f2bd265bb17aebfcb725588d03e37e0867d8073e9ef244a30827473dc4d2e9dae4a0bb3396cf0786975b8b1fb3e0bf9a6cf1ef697376b1f105a9
7
+ data.tar.gz: fefb0855e744f3ef8469d8ace1a62c0f530145719757ee66d2d5728de6a5214b5e4a72e1d71e3954c97b27ae3113e81540c431602b979676f9a0049c5b5016d1
data/COPYING ADDED
File without changes
data/LICENSE.txt ADDED
File without changes
data/README.md ADDED
File without changes
@@ -0,0 +1,8 @@
1
+ require 'novnc-rails/version'
2
+
3
+ module NoVNC
4
+ module Rails
5
+ class Engine < ::Rails::Engine
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,5 @@
1
+ module NoVNC
2
+ module Rails
3
+ VERSION = '0.1'
4
+ end
5
+ end
@@ -0,0 +1,512 @@
1
+ /*
2
+ * noVNC base CSS
3
+ * Copyright (C) 2012 Joel Martin
4
+ * Copyright (C) 2013 Samuel Mannehed for Cendio AB
5
+ * noVNC is licensed under the MPL 2.0 (see LICENSE.txt)
6
+ * This file is licensed under the 2-Clause BSD license (see LICENSE.txt).
7
+ */
8
+
9
+ body {
10
+ margin:0;
11
+ padding:0;
12
+ font-family: Helvetica;
13
+ /*Background image with light grey curve.*/
14
+ background-color:#494949;
15
+ background-repeat:no-repeat;
16
+ background-position:right bottom;
17
+ height:100%;
18
+ }
19
+
20
+ html {
21
+ height:100%;
22
+ }
23
+
24
+ #noVNC_controls ul {
25
+ list-style: none;
26
+ margin: 0px;
27
+ padding: 0px;
28
+ }
29
+ #noVNC_controls li {
30
+ padding-bottom:8px;
31
+ }
32
+
33
+ #noVNC_host {
34
+ width:150px;
35
+ }
36
+ #noVNC_port {
37
+ width: 80px;
38
+ }
39
+ #noVNC_password {
40
+ width: 150px;
41
+ }
42
+ #noVNC_encrypt {
43
+ }
44
+ #noVNC_path {
45
+ width: 100px;
46
+ }
47
+ #noVNC_connect_button {
48
+ width: 110px;
49
+ float:right;
50
+ }
51
+
52
+ #noVNC_buttons {
53
+ white-space: nowrap;
54
+ }
55
+
56
+ #noVNC_view_drag_button {
57
+ display: none;
58
+ }
59
+ #sendCtrlAltDelButton {
60
+ display: none;
61
+ }
62
+ #noVNC_xvp_buttons {
63
+ display: none;
64
+ }
65
+ #noVNC_mobile_buttons {
66
+ display: none;
67
+ }
68
+
69
+ #noVNC_extra_keys {
70
+ display: inline;
71
+ list-style-type: none;
72
+ padding: 0px;
73
+ margin: 0px;
74
+ position: relative;
75
+ }
76
+
77
+ .noVNC-buttons-left {
78
+ float: left;
79
+ z-index: 1;
80
+ position: relative;
81
+ }
82
+
83
+ .noVNC-buttons-right {
84
+ float:right;
85
+ right: 0px;
86
+ z-index: 2;
87
+ position: absolute;
88
+ }
89
+
90
+ #noVNC_status {
91
+ font-size: 12px;
92
+ padding-top: 4px;
93
+ height:32px;
94
+ text-align: center;
95
+ font-weight: bold;
96
+ color: #fff;
97
+ }
98
+
99
+ #noVNC_settings_menu {
100
+ margin: 3px;
101
+ text-align: left;
102
+ }
103
+ #noVNC_settings_menu ul {
104
+ list-style: none;
105
+ margin: 0px;
106
+ padding: 0px;
107
+ }
108
+
109
+ #noVNC_apply {
110
+ float:right;
111
+ }
112
+
113
+ /* Do not set width/height for VNC_screen or VNC_canvas or incorrect
114
+ * scaling will occur. Canvas resizes to remote VNC settings */
115
+ #noVNC_screen_pad {
116
+ margin: 0px;
117
+ padding: 0px;
118
+ height: 36px;
119
+ }
120
+ #noVNC_screen {
121
+ text-align: center;
122
+ display: table;
123
+ width:100%;
124
+ height:100%;
125
+ background-color:#313131;
126
+ border-bottom-right-radius: 800px 600px;
127
+ /*border-top-left-radius: 800px 600px;*/
128
+ }
129
+
130
+ #noVNC_container, #noVNC_canvas {
131
+ margin: 0px;
132
+ padding: 0px;
133
+ }
134
+
135
+ #noVNC_canvas {
136
+ left: 0px;
137
+ }
138
+
139
+ #VNC_clipboard_clear_button {
140
+ float:right;
141
+ }
142
+ #VNC_clipboard_text {
143
+ font-size: 11px;
144
+ }
145
+
146
+ #noVNC_clipboard_clear_button {
147
+ float:right;
148
+ }
149
+
150
+ /*Bubble contents divs*/
151
+ #noVNC_settings {
152
+ display:none;
153
+ margin-top:73px;
154
+ right:20px;
155
+ position:fixed;
156
+ }
157
+
158
+ #noVNC_controls {
159
+ display:none;
160
+ margin-top:73px;
161
+ right:12px;
162
+ position:fixed;
163
+ }
164
+ #noVNC_controls.top:after {
165
+ right:15px;
166
+ }
167
+
168
+ #noVNC_description {
169
+ display:none;
170
+ position:fixed;
171
+
172
+ margin-top:73px;
173
+ right:20px;
174
+ left:20px;
175
+ padding:15px;
176
+ color:#000;
177
+ background:#eee; /* default background for browsers without gradient support */
178
+
179
+ border:2px solid #E0E0E0;
180
+ -webkit-border-radius:10px;
181
+ -moz-border-radius:10px;
182
+ border-radius:10px;
183
+ }
184
+
185
+ #noVNC_popup_status_panel {
186
+ display:none;
187
+ position: fixed;
188
+ z-index: 1;
189
+
190
+ margin:15px;
191
+ margin-top:60px;
192
+ padding:15px;
193
+ width:auto;
194
+
195
+ text-align:center;
196
+ font-weight:bold;
197
+ word-wrap:break-word;
198
+ color:#fff;
199
+ background:rgba(0,0,0,0.65);
200
+
201
+ -webkit-border-radius:10px;
202
+ -moz-border-radius:10px;
203
+ border-radius:10px;
204
+ }
205
+
206
+ #noVNC_xvp {
207
+ display:none;
208
+ margin-top:73px;
209
+ right:30px;
210
+ position:fixed;
211
+ }
212
+ #noVNC_xvp.top:after {
213
+ right:125px;
214
+ }
215
+
216
+ #noVNC_clipboard {
217
+ display:none;
218
+ margin-top:73px;
219
+ right:30px;
220
+ position:fixed;
221
+ }
222
+ #noVNC_clipboard.top:after {
223
+ right:85px;
224
+ }
225
+
226
+ #keyboardinput {
227
+ width:1px;
228
+ height:1px;
229
+ background-color:#fff;
230
+ color:#fff;
231
+ border:0;
232
+ position: relative;
233
+ left: -40px;
234
+ z-index: -1;
235
+ }
236
+
237
+ /*
238
+ * Advanced Styling
239
+ */
240
+
241
+ .noVNC_status_normal {
242
+ background: #b2bdcd; /* Old browsers */
243
+ background: -moz-linear-gradient(top, #b2bdcd 0%, #899cb3 49%, #7e93af 51%, #6e84a3 100%); /* FF3.6+ */
244
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#b2bdcd), color-stop(49%,#899cb3), color-stop(51%,#7e93af), color-stop(100%,#6e84a3)); /* Chrome,Safari4+ */
245
+ background: -webkit-linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Chrome10+,Safari5.1+ */
246
+ background: -o-linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Opera11.10+ */
247
+ background: -ms-linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* IE10+ */
248
+ background: linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* W3C */
249
+ }
250
+ .noVNC_status_error {
251
+ background: #f04040; /* Old browsers */
252
+ background: -moz-linear-gradient(top, #f04040 0%, #899cb3 49%, #7e93af 51%, #6e84a3 100%); /* FF3.6+ */
253
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f04040), color-stop(49%,#899cb3), color-stop(51%,#7e93af), color-stop(100%,#6e84a3)); /* Chrome,Safari4+ */
254
+ background: -webkit-linear-gradient(top, #f04040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Chrome10+,Safari5.1+ */
255
+ background: -o-linear-gradient(top, #f04040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Opera11.10+ */
256
+ background: -ms-linear-gradient(top, #f04040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* IE10+ */
257
+ background: linear-gradient(top, #f04040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* W3C */
258
+ }
259
+ .noVNC_status_warn {
260
+ background: #f0f040; /* Old browsers */
261
+ background: -moz-linear-gradient(top, #f0f040 0%, #899cb3 49%, #7e93af 51%, #6e84a3 100%); /* FF3.6+ */
262
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f0f040), color-stop(49%,#899cb3), color-stop(51%,#7e93af), color-stop(100%,#6e84a3)); /* Chrome,Safari4+ */
263
+ background: -webkit-linear-gradient(top, #f0f040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Chrome10+,Safari5.1+ */
264
+ background: -o-linear-gradient(top, #f0f040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Opera11.10+ */
265
+ background: -ms-linear-gradient(top, #f0f040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* IE10+ */
266
+ background: linear-gradient(top, #f0f040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* W3C */
267
+ }
268
+
269
+ /* Control bar */
270
+ #noVNC-control-bar {
271
+ position:fixed;
272
+
273
+ display:block;
274
+ height:36px;
275
+ left:0;
276
+ top:0;
277
+ width:100%;
278
+ z-index:200;
279
+ }
280
+
281
+ .noVNC_status_button {
282
+ padding: 4px 4px;
283
+ vertical-align: middle;
284
+ border:1px solid #869dbc;
285
+ -webkit-border-radius: 6px;
286
+ -moz-border-radius: 6px;
287
+ border-radius: 6px;
288
+ background: #b2bdcd; /* Old browsers */
289
+ background: -moz-linear-gradient(top, #b2bdcd 0%, #899cb3 49%, #7e93af 51%, #6e84a3 100%); /* FF3.6+ */
290
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#b2bdcd), color-stop(49%,#899cb3), color-stop(51%,#7e93af), color-stop(100%,#6e84a3)); /* Chrome,Safari4+ */
291
+ background: -webkit-linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Chrome10+,Safari5.1+ */
292
+ background: -o-linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Opera11.10+ */
293
+ background: -ms-linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* IE10+ */
294
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b2bdcd', endColorstr='#6e84a3',GradientType=0 ); /* IE6-9 */
295
+ background: linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* W3C */
296
+ /*box-shadow:inset 0.4px 0.4px 0.4px #000000;*/
297
+ }
298
+
299
+ .noVNC_status_button_selected {
300
+ padding: 4px 4px;
301
+ vertical-align: middle;
302
+ border:1px solid #4366a9;
303
+ -webkit-border-radius: 6px;
304
+ -moz-border-radius: 6px;
305
+ background: #779ced; /* Old browsers */
306
+ background: -moz-linear-gradient(top, #779ced 0%, #3970e0 49%, #2160dd 51%, #2463df 100%); /* FF3.6+ */
307
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#779ced), color-stop(49%,#3970e0), color-stop(51%,#2160dd), color-stop(100%,#2463df)); /* Chrome,Safari4+ */
308
+ background: -webkit-linear-gradient(top, #779ced 0%,#3970e0 49%,#2160dd 51%,#2463df 100%); /* Chrome10+,Safari5.1+ */
309
+ background: -o-linear-gradient(top, #779ced 0%,#3970e0 49%,#2160dd 51%,#2463df 100%); /* Opera11.10+ */
310
+ background: -ms-linear-gradient(top, #779ced 0%,#3970e0 49%,#2160dd 51%,#2463df 100%); /* IE10+ */
311
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#779ced', endColorstr='#2463df',GradientType=0 ); /* IE6-9 */
312
+ background: linear-gradient(top, #779ced 0%,#3970e0 49%,#2160dd 51%,#2463df 100%); /* W3C */
313
+ /*box-shadow:inset 0.4px 0.4px 0.4px #000000;*/
314
+ }
315
+
316
+
317
+ /*Settings Bubble*/
318
+ .triangle-right {
319
+ position:relative;
320
+ padding:15px;
321
+ margin:1em 0 3em;
322
+ color:#fff;
323
+ background:#fff; /* default background for browsers without gradient support */
324
+ /* css3 */
325
+ /*background:-webkit-gradient(linear, 0 0, 0 100%, from(#2e88c4), to(#075698));
326
+ background:-moz-linear-gradient(#2e88c4, #075698);
327
+ background:-o-linear-gradient(#2e88c4, #075698);
328
+ background:linear-gradient(#2e88c4, #075698);*/
329
+ -webkit-border-radius:10px;
330
+ -moz-border-radius:10px;
331
+ border-radius:10px;
332
+ color:#000;
333
+ border:2px solid #E0E0E0;
334
+ }
335
+
336
+ .triangle-right.top:after {
337
+ border-color: transparent #E0E0E0;
338
+ border-width: 20px 20px 0 0;
339
+ bottom: auto;
340
+ left: auto;
341
+ right: 50px;
342
+ top: -20px;
343
+ }
344
+
345
+ .triangle-right:after {
346
+ content:"";
347
+ position:absolute;
348
+ bottom:-20px; /* value = - border-top-width - border-bottom-width */
349
+ left:50px; /* controls horizontal position */
350
+ border-width:20px 0 0 20px; /* vary these values to change the angle of the vertex */
351
+ border-style:solid;
352
+ border-color:#E0E0E0 transparent;
353
+ /* reduce the damage in FF3.0 */
354
+ display:block;
355
+ width:0;
356
+ }
357
+
358
+ .triangle-right.top:after {
359
+ top:-40px; /* value = - border-top-width - border-bottom-width */
360
+ right:50px; /* controls horizontal position */
361
+ bottom:auto;
362
+ left:auto;
363
+ border-width:40px 40px 0 0; /* vary these values to change the angle of the vertex */
364
+ border-color:transparent #E0E0E0;
365
+ }
366
+
367
+ /*Default noVNC logo.*/
368
+ /* From: http://fonts.googleapis.com/css?family=Orbitron:700 */
369
+ @font-face {
370
+ font-family: 'Orbitron';
371
+ font-style: normal;
372
+ font-weight: 700;
373
+ src: local('?'), url('Orbitron700.woff') format('woff'),
374
+ url('Orbitron700.ttf') format('truetype');
375
+ }
376
+
377
+ #noVNC_logo {
378
+ margin-top: 170px;
379
+ margin-left: 10px;
380
+ color:yellow;
381
+ text-align:left;
382
+ font-family: 'Orbitron', 'OrbitronTTF', sans-serif;
383
+ line-height:90%;
384
+ text-shadow:
385
+ 5px 5px 0 #000,
386
+ -1px -1px 0 #000,
387
+ 1px -1px 0 #000,
388
+ -1px 1px 0 #000,
389
+ 1px 1px 0 #000;
390
+ }
391
+
392
+
393
+ #noVNC_logo span{
394
+ color:green;
395
+ }
396
+
397
+ /* ----------------------------------------
398
+ * Media sizing
399
+ * ----------------------------------------
400
+ */
401
+
402
+
403
+ .noVNC_status_button {
404
+ font-size: 12px;
405
+ }
406
+
407
+ #noVNC_clipboard_text {
408
+ width: 500px;
409
+ }
410
+
411
+ #noVNC_logo {
412
+ font-size: 180px;
413
+ }
414
+
415
+ .noVNC-buttons-left {
416
+ padding-left: 10px;
417
+ }
418
+
419
+ .noVNC-buttons-right {
420
+ padding-right: 10px;
421
+ }
422
+
423
+ #noVNC_status {
424
+ z-index: 0;
425
+ position: absolute;
426
+ width: 100%;
427
+ margin-left: 0px;
428
+ }
429
+
430
+ #showExtraKeysButton { display: none; }
431
+ #toggleCtrlButton { display: inline; }
432
+ #toggleAltButton { display: inline; }
433
+ #sendTabButton { display: inline; }
434
+ #sendEscButton { display: inline; }
435
+
436
+ /* left-align the status text on lower resolutions */
437
+ @media screen and (max-width: 800px){
438
+ #noVNC_status {
439
+ z-index: 1;
440
+ position: relative;
441
+ width: auto;
442
+ float: left;
443
+ margin-left: 4px;
444
+ }
445
+ }
446
+
447
+ @media screen and (max-width: 640px){
448
+ #noVNC_clipboard_text {
449
+ width: 410px;
450
+ }
451
+ #noVNC_logo {
452
+ font-size: 150px;
453
+ }
454
+ .noVNC_status_button {
455
+ font-size: 10px;
456
+ }
457
+ .noVNC-buttons-left {
458
+ padding-left: 0px;
459
+ }
460
+ .noVNC-buttons-right {
461
+ padding-right: 0px;
462
+ }
463
+ /* collapse the extra keys on lower resolutions */
464
+ #showExtraKeysButton {
465
+ display: inline;
466
+ }
467
+ #toggleCtrlButton {
468
+ display: none;
469
+ position: absolute;
470
+ top: 30px;
471
+ left: 0px;
472
+ }
473
+ #toggleAltButton {
474
+ display: none;
475
+ position: absolute;
476
+ top: 65px;
477
+ left: 0px;
478
+ }
479
+ #sendTabButton {
480
+ display: none;
481
+ position: absolute;
482
+ top: 100px;
483
+ left: 0px;
484
+ }
485
+ #sendEscButton {
486
+ display: none;
487
+ position: absolute;
488
+ top: 135px;
489
+ left: 0px;
490
+ }
491
+ }
492
+
493
+ @media screen and (min-width: 321px) and (max-width: 480px) {
494
+ #noVNC_clipboard_text {
495
+ width: 250px;
496
+ }
497
+ #noVNC_logo {
498
+ font-size: 110px;
499
+ }
500
+ }
501
+
502
+ @media screen and (max-width: 320px) {
503
+ .noVNC_status_button {
504
+ font-size: 9px;
505
+ }
506
+ #noVNC_clipboard_text {
507
+ width: 220px;
508
+ }
509
+ #noVNC_logo {
510
+ font-size: 90px;
511
+ }
512
+ }